Eternity Engine: Difference between revisions
(→History: ZDoom nodes are supported now)
m (→Linked portals: LOS do work through line portals now.)
|Line 24:||Line 24:|
[[Linked portals]] are surfaces that, like regular [[portals]], connect different areas of the map, but in addition can be walked through, thus allowing multistory maps to be designed in Doom. Note that while they have been implemented in the official releases, linked portals don't yet support certain gameplay features: hitscan weapons
[[Linked portals]] are surfaces that, like regular [[portals]], connect different areas of the map, but in addition can be walked through, thus allowing multistory maps to be designed in Doom. Note that while they have been implemented in the official releases, linked portals don't yet support certain gameplay features: hitscan weaponsline-of-sight checks , seamless sprite rendering or actor physics.
Revision as of 17:40, 26 February 2015
The Eternity Engine began in 1998 as a simple modification of Boom meant to power Eternity TC, which was at that time a new and active project. When Lee Killough began the MBF project, James "Quasar" Haley became a beta tester after emailing Lee with questions about the early Doom alpha versions. The Eternity project moved to an MBF code base after that port's first release.
In late 1999, Fraggle released v3.10 of his MBF-based source port SMMU, which contained support for the new FraggleScript scripting language. Although activity in the Eternity TC project by editors had steadily dropped to almost nothing, Quasar was still interested in developing the code associated with it. Needing features such as scripting and the console, he then moved the Eternity project's code into SMMU.
Despite this long history of jumping between Boom-based ports, no public release of Eternity based on any port other than SMMU was ever made. The first private alpha, released to a select few beta testers, was derived from SMMU 3.21 with selected modifications from 3.30. Because of this, Eternity began at version 3.29.
After the release of the Caverns of Darkness project, which used a customized version of Eternity Engine v3.29 Development Beta 5, the project began to attract more attention. A second programmer, Steven "SoM" McGranahan, joined the project and immediately set to work porting the code to use SDL, making it capable of running on many operating systems, including Windows.
EDF, which stands for Eternity Definition Files, is a textual input language that allows specification of almost all the static game data which was once contained inside the executable. This includes thing types, frames, sprites, terrain definitions, and more. EDF has a relaxed C-like syntax and can be used from both files and WAD lumps.
ExtraData is another EDF-like data specification language that allows the Doom map format to be extended with any kind of data. Use of special thing, line, and sector types within a map allows the editor to attach ExtraData records to those objects. Special data for the objects is then given inside the script.
Linked portals are surfaces that, like regular portals, connect different areas of the map, but in addition can be walked through, thus allowing multistory maps to be designed in Doom. Note that while they have been implemented in the official releases, linked portals don't yet support certain gameplay features: hitscan weapons, line-of-sight checks through floors or ceilings, seamless sprite rendering or actor physics.
Eternity expands SMMU's level info system significantly, allowing dozens of new properties to be specified, and allowing cascading global EMAPINFO lumps as an alternative to inserting MapInfo data into level headers. Among other things, MapInfo is used to tie ExtraData and ACS scripts to the maps that use them.
A complete listing of Eternity's release history follows.
- 3.29 Private Alpha - September 14, 2000
- 3.29 Public Beta 1 - January 8, 2001
- 3.29 Public Beta 2 - January 9, 2001
- 3.29 Public Beta 3 - May 10, 2001
- 3.29 Public Beta 4 - June 30, 2001
- 3.29 Development Beta 5 - October 2, 2001
- 3.29 "Gamma" - July 4, 2002
- 3.31 Public Beta 1 - September 11, 2002
- 3.31 Public Beta 2 - March 5, 2003
- 3.31 Public Beta 3 - August 8, 2003
- 3.31 Public Beta 4 - November 29, 2003
- 3.31 Public Beta 5 - December 17, 2003
- 3.31 Public Beta 6 - February 29, 2004
- 3.31 Public Beta 7 - April 11, 2004
- 3.31 "Delta" Pre-Release Alpha 1 - August 23, 2004
- 3.31 "Delta" Pre-Release Alpha 2 - November 11, 2004
- 3.31.10 "Delta" - January 19, 2005
- 3.33.00 "Genesis" - May 26, 2005
- 3.33.01 "Outcast" - June 24, 2005
- 3.33.02 "Warrior" - October 1, 2005
- 3.33.33 "Paladin" - May 17, 2006
- 3.33.50 "Phoenix" - October 23, 2006
- 3.37.00 "Sekhmet" - January 1, 2010
- 3.39.20 "Resheph" - October 10, 2010
- 3.40.00 "Rebirth" - January 8, 2011
- 3.40.11 "Aasgard" - May 2, 2011
- 3.40.15 "Wodanaz" - June 22, 2011
- 3.40.20 "Mjolnir" - December 26, 2011
- 3.40.25 "Midgard" - August 27, 2012
- 3.40.30 "Alfheim" - November 4, 2012
- 3.40.37 "Gungnir" - May 27, 2013
- 4.02.00 "Bifröst" - January 19, 2014
Eternity can be compiled on other operating systems than Windows by using the CMake utility. You can download the source code and execute CMake on its top-level folder.
SVN builds ("beta" releases) for Eternity are available for Windows at DRDTeam's website. For OS X they can be downloaded from this Doomworld thread. They are recommended if you encounter serious bugs with any of the official releases, or if you want to test brand new features that didn't exist in the latest official releases. Due to their beta status, they may be untested and have other problems.