ZDoom
From DoomWiki.org
ZDoom | |
![]() | |
![]() Advanced features on display in Knee-Deep in ZDoom. | |
Standard | Doom, Boom, Heretic, Hexen, Strife, UDMF |
---|---|
Codebase | ATB Doom, NTDOOM |
Developer(s) | Marisa Heit (Randi), Christoph Oelckers (Graf Zahl), Braden Obrzut (Blzut3) |
Initial release | 1.11 (1998-03-06, 27 years ago) |
Latest release | 2.8.1 (2016-02-22, 9 years ago) |
Development status | Discontinued |
Written in | C++ |
Target platform | Windows, Linux, Solaris, Mac OS X |
Available in | English (US), French, Italian |
License | Doom Source License, 3-clause BSD license, others |
Website | https://zdoom.org/ |
Source Repository
(Git) |
GitHub |
ZDoom is a discontinued advanced source port that was popular for many years because of its rich feature-set. It had Boom compatibility; complete support for Heretic, Hexen, Strife, and Chex Quest; as well as many additional new features, including slopes, uncapped framerate, and z-clipping. It was originally based on a merger of the ATB Doom and NTDOOM source ports.
The large number of editing features supported by ZDoom made it the port of choice for several independent game projects, notably Foreverhood, Action Doom 2: Urban Brawl, Chex Quest 3, and Harmony. ZDoom also served as a popular code base to build upon, with numerous other source ports derived from it or using portions of its code.
ZDoom was created by Marisa Heit (Randi) soon after the Doom engine source code was released in 1997, and by 1999 many foundational features had been added.[1] Others also made significant contributions over the years, including Christoph Oelckers (Graf Zahl) and Braden Obrzut (Blzut3).
Although Heit officially ceased the project in January 2017,[2] the ZDoom legacy continues to thrive in several forks, notably GZDoom and Zandronum.
Contents
Features[edit]
- New gameplay options, including crosshairs, free look, jumping, swimming, and crouching.
- Options for the HUD, including an alternative layout.
- A console that allows the user to enter commands and edit variables.[3]
- High screen resolutions, including widescreen, with optimizations for modern processors.
- Implementation of Heretic, Hexen, and Strife's editing features, including ACS, hubs, terrain effects, the Hexen map format, and more.
- A large array of extensions to ACS, including new operations, functions, and a more advanced bytecode format.
- Created the DECORATE content definition language for actors, states, weapons, inventory, and more.
- Support for all Doom engine games.
- Removal of most vanilla Doom static limits.
- Improvements to vanilla Doom's flawed collision detection.
- Support for almost all of Boom's editing features.
- Support for several MBF extensions, including friendly monsters and loading DeHackEd patches from within WAD files.
- Support for UDMF.
- Many supported sound and image formats.[4][5]
- Choice of multiple MIDI devices, including OPL emulation, Gravis Ultrasound emulation, TiMidity++ and FluidSynth among others.
- Runs under Windows 98, NT, XP, Linux, and Mac OS X.
- UDP Internet and LAN networking inherited from Linux Doom.
- Support for Doom Connector and Player Connector network games.
- Portals, 3D floors, 3D middle textures, slopes and colored lighting.
- Decals on walls for scorch marks and blood splatter.
- Flat and texture mixing.
- Translucency in regular, additive, subtractive, and reverse subtractive varieties.
- Enhanced texture definition lump allowing use of any graphics used by the game as patches, and allowing effects such as scaling, blending, rotating, and mirroring.
- Support for FraggleScript with permission of Simon Howard (Fraggle).
- Support for custom player skins compatible with Doom Legacy.
- Walking over/under monsters and other things.
- A chasecam and many camera effects, including Duke Nukem 3D-style security camera and Unreal-style skyboxes. Cameras can replace the player view, allowing for scripted cutscenes or alternative gameplay, such as mimicking a sidescroller.
- Support for using the features of every Doom engine game in all of them — for example, a Doom map can feature Strife conversations, Hexen scripting and actors that use Heretic codepointers.
- Support for loading resources directly from ZIP (.pk3) or 7z (.pk7) files, making the use of the traditional WAD file format optional except for map lumps.
- ENDOOM and animated start up screen support
- Quality random number generation using the popular Mersenne Twister library,[6] but in a restricted manner to conserve memory[7]
List of supported games[edit]
Classic Doom-engine IWADs[edit]
- Doom v1.2 or later, including Ultimate Doom
- Doom II; development versions even support the modified IWAD included as a bonus with Doom 3: BFG Edition
- Final Doom
- Heretic
- Hexen
- Strife, including both demo versions
- Chex Quest
Stand-alone mods[edit]
- Action Doom II: Urban Brawl
- The Adventures of Square
- Chex Quest 3
- Hacx v1.2 or v2.0
- Harmony
- Hedon
- Rise of the Wool Ball
In addition, ZDoom offers aliases that allow use of free IWAD projects Freedoom and Blasphemer as alternatives instead of replacements. See list of supported games at the ZDoom wiki for further information.
Ports based on recent versions of ZDoom[edit]
These ports support most or all of the features listed above.
Ports based on older versions of ZDoom[edit]
These ports are not necessarily compatible with recent ZDoom mods.
External links[edit]
- ZDoom.org
- ZDoom Forums
- ZDoom Knowledge Base
- ZDoom Wiki
- ZDoom version history
- Compiled development builds for Windows and for Mac at DRD Team
- ZDoom source repository for historical ZDoom releases
- ZDoom IRC channel
- ZDoom Official Discord Server
References[edit]
- ↑ WildWeasel (10 December 2017). "Marisa "Randi" Heit - Espi Award for Lifetime Achievement." Doomworld.
- ↑ Randi (7 January 2017). ZDoom is Dead. Long live ZDoom. ZDoom forums.
- ↑ Console. ZDoom Wiki.
- ↑ Sound format. ZDoom Wiki.
- ↑ Image format. ZDoom Wiki.
- ↑ GitHub comment block
- ↑ GitHub comment block
Sources[edit]
- This article incorporates text from the open-content ZDoom documentation project article ZDoom.
Source code genealogy | ||
---|---|---|
Based on | Name | Base for |
ATB Doom | ZDoom | bZDoom |
Heretic | csDoom | |
Hexen | GZDoom | |
Linux Doom 1.10 | ManDoom | |
NTDOOM | RZDoom | |
Strife | Skulltag | |
ZDaemon | ||
ZDoomGL (v1) |