Aeon

Aeon is the in-development scripting language for the Eternity Engine.

History
Historically, as a fork of SMMU, the Eternity Engine started with the FraggleScript language. The limitations of this language led to the decision to replace it with a full-fledged, off-the-shelf alternative. The first choice was, adopted in 2002. FraggleScript was removed on September 25, 2002, and a first implementation of SMALL with limited scope took its place a few days later. Progress in extending this implementation to interface with more and more of the Doom code was slow but steady for several years and implementation was finally declared complete for the Eternity v3.33.00 release on May 27, 2005.

However, some of SMALL's design decisions started to prove problematic. The fact that it is a compiled language, so SMALL scripts would be present in compiled form (and their source potentially lost), a problem similar to that of Hexen's Action Code Script, but more acute due to SMALL's greater complexity. The decision to drop SMALL was taken when it surfaced that its bytecode was not portable between 32-bit and 64-bit architecture. Other alternatives, such as Lua or Python, were then considered, before eventually settling on JavaScript, by integrating the virtual machine. By 2012, SMALL support had been effectively, even if inadvertently, removed from the engine.

Progress on Aeon implementation was quite slow. After James Haley (Quasar) became a full-time employee of Nightdive Studios, time available for further Eternity Engine development was dramatically reduced, and much of the effort was concentrated on smaller tasks that could still be accomplished during a reasonable timeframe. Eventually, Max Waine (Altazimuth) took over further development of Aeon, but seems to have switched it to the language.