From Blood Wiki
Jump to navigationJump to search
Raze logo
"Raze teaser" (Rachael) - YouTube
"Blood: Raze source port gameplay" (Zaxx) - YouTube

"Why? Why not? I started with this because I had problems getting VSync to work properly in EDuke and because I wanted true color rendering back and a better music system than the Windows system MIDI synth. I tried BuildGDX but had other problems with that (e.g. the Java backend not recognizing all keys on my keyboard - and its VSync also did not work) From that I just went on, ending up changing more and more until I was able to plug the entire GZDoom backend into it. You may ask the same question about the retro Doom ports. We already have PrBoom - do we really need Crispy and Retro? Apparently their developers have fun doing it. Shouldn't that be enough?"Graf Zahl

Raze is a source port for the Build engine and related games that mixes source code from various projects and GZDoom. It aims to merge and refactor all of the available ports in a single package, with a back-end based on GZDoom. This includes support for Blood, forked from the NBlood project. It is primarily the work of Christoph Oelckers (aka Graf Zahl), head developer of GZDoom, and Rachael Alexanderson (aka Eruanna), alongside the efforts of the base projects. The effort's name is an antonym play on the word Build, while also featuring a Z to fit with ZDoom; it was originally going to be called Demolition.


Development started in August 2019. The first private release was 0.3.0, released January 23, 2020, consisting of only source code. Following the public announcement of Raze, Oelckers released the first public pre-alpha, version 0.4.0, on February 4, 2020. The codebase shifted away from EDuke32 with 0.7.0 released on September 27, 2020 to instead use sources closer to the original game, namely JFDuke3D. Version 0.8.0 was released on December 6, 2020 at which point the project was declared to have moved from alpha to beta stage. Version 1.0 was released on April 7, 2021, which notably added support for the Vulkan API. On April 23, 2021 a preview build of the new renderer (not relying on Polymost to build geometry) was released, but was soon withdrawn after issues were discovered. It has since been reinstated. On October 10, 2021 version 1.2 was released which introduced the Open GLES backend, intended to improve performance with older graphics cards. On January 24, 2022 version 1.4 was released making the new renderer, now called Raze3D to distinguish it from Polymost, the default. On December 11, 2022 version 1.6.0 was released which removed Polymost, making Raze3D the sole renderer.


While Raze primary goal is on enhancing stability and unifying several Build titles into one package, several new features have been incorporated. Currently Raze includes the following features:

  • New renderer called Raze3D, with OpenGL, Vulkan and GLES backends.
  • GZDoom's post-processing effects framework is incorporated, allowing effects such as bloom and faking increased color ranges with dithering to be possible
  • A replaced and revamped file system, based on the WAD manager used in GZDoom
  • ZMusic from GZDoom is used as music system
  • The menu code from GZDoom is used as a generic system across all supported games
  • Games are in their own modules and do not interact with each other. Renderer, sound system and input are used universally across the titles
  • Controller support is included, using the existing ZDoom controller code
  • Multiplayer and networking however have a different implementation per game, and thus this was left as-is
  • OSD and configuration maintenance replaced with ZDoom's console and config code

Compatible Games[edit]

"The entire file system code inherited from Build was replaced with a reworked and extended version of GZDoom's WAD manager to work more like a real virtual file system. For Blood I merged the 3 distinct file systems (directory, Blood.rff, Sounds.rff) together into one. It would require quite elaborate fuckery to use Blood's system in a way that could break this changed setup, but will make it a lot easier to design mods for. I think the advantages far outweigh the potential but mostly theoretical problems."Graf Zahl


Fully tested and supported.


As Raze combines several codebases into one package, the following credits are in order:

Raze special thanks:

  • Rachael, dpJudas, Enjay, Nash

EDuke32 engine & game programming:

  • TerminX
  • Hendricks266
  • pogokeen
  • Plagman
  • Helixhorned

JFDuke3D by:

  • JonoF

Uses BUILD Engine technology by:

  • Ken Silverman

NBlood programming:

  • Nuke.YKT
  • NoOne
  • sirlemonhead

Widescreen tiles & NBlood logo:

  • Maxi Clouds

NBlood special thanks:

  • NY00123, MetHy, Striker, oasiz, Mblackwell, Zombie, Marphy Black, SAmik37, meleemario

NBlood contributors:

  • alexey-lysiuk, CommonLoon102, Jan200101

PCExhumed programming:

  • sirlemonhead
  • Nuke.YKT
  • NY00123

PCExhumed special thanks:

  • Hendricks266, JonoF, NY00123, MetHy, oasiz, Daedolon, NoOne, phredreeke, Lobotomy Software

External Links[edit]


Forum Threads[edit]