Eternity Engine
From DoomWiki.org
The Eternity Engine | |
The engine showing linked wall and floor portals. | |
Standard | Boom Compatible |
---|---|
Codebase | SMMU |
Developer(s) | James Haley (Quasar), Stephen McGranahan (SoM), Max Waine (Altazimuth), Ioan Chera (printz), Team Eternity |
Initial release | 3.29 (2001-01-08, 23 years ago) |
Latest release | 4.02.00 (2021-01-27, 3 years ago) |
Development status | Active |
Written in | C++ |
Target platform | Cross-platform |
Available in | English (United States) |
License | GPLv3+ |
Source Repository
(Git) |
GitHub |
IRC Channel | OFTC #noteternityenginerelated |
The Eternity Engine is a source port currently maintained by Max Waine (Altazimuth) and Ioan Chera (printz). Previously Stephen "SoM" McGranahan and James "Quasar" Haley also worked on the port, providing the Cardboard renderer and general stability to Eternity, respectively. It was originally meant to power the Eternity total conversion, but after the project went on hiatus, eventually being cancelled on June 15, 2006, the engine became the prime focus. The engine is based on Smack My Marine Up (SMMU) by Simon "Fraggle" Howard.
The engine now boasts a host of new features, both gameplay related and editing related, all while maintaining backward compatibility with the original engine.
Projects developed for the port include Mordeth, Doom Millennium, Vaporware and Heartland.
Features
- ACS, including many of ZDoom's enhancements to the language.
- Additional control options including crosshairs, free look, jumping, and flying configurable via Quake-style key bindings.
- BOOM, MBF and partial SMMU support (excluding FraggleScript).
- A console.
- Support for the DEHEXTRA standard.
- EDF - Eternity Definition Files - content definition language for new projectiles, monsters, and weapons.
- EMAPINFO for defining properties of levels such as names, secret exits, music, etc.
- ENDOOM and animated start up screen support.
- ExtraData, a text-based map format extension allowing use of Hexen and custom editing features in the Doom map format.
- GFS - Game File Script - a way to add large numbers of files in a clean, safe manner.
- High screen resolutions, widescreen support, uncapped framerate, and render to texture capability.
- "Managed mission pack" support for Master Levels and No Rest for the Living, allowing their maps to be loaded and played at runtime from the main menu.
- MUSINFO support.
- PNG-format graphics support.
- UDMF support, with the "Eternity" namespace.
- UMAPINFO support (Development builds)
- Render-only slopes.
- Rendering portals which can be used to create skyboxes and fake 3D architecture. Linked portals allow objects to pass through them, as well.
- 3D middle textures, which cause 2S linedefs to clip objects using the height of their middle texture. Within the range of the texture's height, the lines are effectively solid and block players, monsters, and projectiles. Below or above, objects can pass freely.
- Runs under Windows (95 through 10 x86 & x64), Linux (x86, x86-64, and ARM), BSD OSes, and macOS.
- Translucency, regular and additive.
- Walking over/under monsters and other things.
- Work-in-progress support for Heretic, Hexen, and Strife.
- ZIP support compatible with ZDoom, with a recommended extension of .pke.
History
The Eternity Engine started development in 1998, based on Boom. The codebase then switched to MBF and finally to SMMU. The first public release of the Eternity Engine was 3.29 beta 1 on January 8, 2001.
FraggleScript was removed in version 3.31, to be replaced by Small. Due to Small's lack of x64 portability, however, it was deprecated in version 3.37. It will be replaced by the upcoming Aeon application extension API.
See also
External links
- Eternity Wiki
- Eternity subforum on Doomworld forums
- Team Eternity Software homepage (outdated; read the wiki and forums for latest updates)
- Eternity git repository, hosted by GitHub
- Compiled SVN builds for Windows at DRD Team
- Eternity IRC channel
Sources
- This article incorporates text from the open-content Wikipedia online encyclopedia article List of Doom source ports.
- Text has also been taken from the Team Eternity Software homepage (See "External links")
Source code genealogy | ||
---|---|---|
Based on | Name | Base for |
SMMU | Eternity Engine | Tartar |