Eternity Engine

From DoomWiki.org

This page is about the source port. For other uses, see Eternity.
The Eternity Engine
Eewiki.gif
Eternityengine-vapordemo.png

The engine showing linked wall and floor portals.

Standard Boom Compatible
Codebase SMMU
Developer(s) James Haley (Quasar), Stephen McGranahan (SoM), Team Eternity
Latest release 3.40.46 (2014-01-19, 3 years ago)
Development status Active
Written in C++
Target Platform Cross-Platform
Available in English (United States)
License GNU General Public License v3+
Source Repository

(git)

github.com
IRC Channel OFTC #noteternityenginerelated

The Eternity Engine is a GPL 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 and Vaporware.

Features[edit]

  • 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.
  • EDF - Eternity Definition Files - content definition language for new projectiles and monsters, with weapons planned for future releases.
  • 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.
  • 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), 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[edit]

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.

Source[edit]

  • This article incorporates text from the open-content Wikipedia online encyclopedia article Doom source port.
  • Text has also been taken from the Team Eternity Software homepage (See "External links")

External links[edit]

Source code genealogy
Based on
SMMU
Eternity Engine Active