Eternity Engine

The Eternity Engine is a source port maintained by James "Quasar" Haley and Stephen "SoM" McGranahan. It was originally meant to power the Eternity total conversion, but after the project went on hiatus, eventually being cancelled on the 15th of June 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.