Eternity Engine

From DoomWiki.org

Revision as of 17:28, 28 August 2024 by Gregor (talk | contribs) (c temp)


The Eternity Engine
Eeicon.png
Eternityengine-vapordemo.png

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
This article is about the source port. For other uses, see Eternity.

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

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