Welcome to the Eternity Engine Wiki
The Eternity Engine Wiki is a community-maintained documentation resource for the Eternity Engine source port and everything related to it. It is powered by MediaWiki. Feel free to edit and create articles to help make this a valuable source of knowledge. If you're not familiar with wiki markup, look here for some examples.
See general info about the port in the Eternity Engine page. You can download Eternity either from Doomworld (as official releases) or from DRDTeam (as "beta quality" development builds, which in practice are generally stable, and may be needed for some modding features listed on this wiki).
Eternity's goal that makes it different from feature ports such as GZDoom is demo compatibility similar to that of PrBoom+, kept specifically to ensure that every new feature we add fits seamlessly with what exists so far, and that we don't stray from the bases made so far in the DOOM gameplay.
Support for Heretic is growing, though still under way. While we don't support vanilla Heretic demos for playback yet, a possibility exists in the horizon.
When run directly, Eternity tries to find the DOOM, DOOM 2 or Final DOOM megawads in some standard locations. If it can't find them, it will let you know. If it finds several of them, it will start with a picker screen, letting you choose.
On Windows you can use the drag-and-drop feature of Explorer by moving WADs and PKEs into Eternity's executable. Or you can use Powershell or Command Prompt in a manner similar to starting vanilla DOOM. See list of command line parameters. For more advanced cases, you can use GFS files to quickly load multiple files and settings together.
The macOS version of Eternity also comes with a visual dialog-box launcher, hiding the complexity behind starting a terminal.
Making mods for Eternity
The editors Doom Builder X, GZDoom Builder, Eureka and SLADE have Eternity level editing support of varying degrees. For UDMF (modern advanced format) you can use Doom Builder X, GZDoom Builder or SLADE. However, if you lack access to a UDMF-capable editor or don't want the complexity it brings, you can also use the classic DOOM format, combined with ExtraData
For general modding, Eternity relies on EDF, its own content definition language. For level definitions in particular it uses EMAPINFO. Eternity also has growing support for some lumps from GZDoom and Hexen such as ANIMDEFS, thus increasing the support for cross-port mods.
Eternity can load PKE archives, not just WADs. It can also load unarchived folders structured the same as PKE archives (you can use the -file command-line parameter on folders), facilitating project work. You can use powerful editors such as Visual Studio Code on such folders to edit your EDF modifications.
See all editing reference to get started on modding.
Eternity definition files
Cross-port definition lumps
Base game data
- Things.edf: list of Doom thing types
Console and command line
Eternity maps and mods
The latest version of the Eternity Engine is currently 4.00.00.