"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?"
Raze is a source port for the Build engine and related games that mixes source code from EDuke32 and GZDoom. It aims to merge and refactor all of the available EDuke32-based 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.
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:
- Polymost is used as the primary renderer, significantly rewritten and separated from OpenGL, utilizing a new texture manager. Polymost is used in this capacity to generate polygons and sending them off to the backend, which is OpenGL 3.3 with the option to use OpenGL 4.5 features. This ensures that new renderer features can be added to the same backend, but where a different renderer other than Polymost can be used
- 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
"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."
Fully tested and supported.
- Duke Nukem 3D v1.3D and Atomic Edition (via eDuke32)
- One Unit: Whole Blood (Blood, Plasma Pak, Cryptic Passage) (via NBlood)
- NAM (via eDuke32)
- World War II GI (via eDuke32)
- Redneck Rampage and Suckin' Grits on Route 66 (via RedNukem)
Available and semi-playable with bugs.
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:
Uses BUILD Engine technology by:
- Ken Silverman
Widescreen tiles & NBlood logo:
- Maxi Clouds
NBlood special thanks:
- NY00123, MetHy, Striker, oasiz, Mblackwell, Zombie, Marphy Black, SAmik37, meleemario
- alexey-lysiuk, CommonLoon102, Jan200101
PCExhumed special thanks:
- Hendricks266, JonoF, NY00123, MetHy, oasiz, Daedolon, NoOne, phredreeke, Lobotomy Software
- 0.4.0 (alpha)