Doomsday

The Doomsday Engine is a source port with support for Doom, Heretic, and Hexen. It runs on Linux, Mac OS X, and Windows, and is presently developed by Jaakko Keränen (skyjake) and Daniel Swanson (DaniJ). Former developers include Jamie Jones (Yagisan).

Doomsday itself is a multi-game supporting engine and developed along with it are numerous plugins; e.g. game plugins which are necessary to actually play a game using it. Four official plugins are being developed by the core deng team alongside the engine: jDoom, jHeretic, jHexen and recently, jDoom64.

Doomsday has been in development since 1999 and saw its first release on November 1, 1999. It was developed until 2005 when the developers decided to halt work and begin work on a new port; Doomsday 2.

Since then, various beta versions of Doomsday 2 have been released, currently up to 1.9 beta 6.9. Though the developers recommend Doomsday (1) for general play at this stage.

Support and development is often carried out in #doomsday on irc.freenode.net, with long term planning done at dengDevs.

Engine features Doomsday 1

 * Cross-platform. Supported platforms include; Windows, Linux and MacOS.
 * Hardware-accelerated graphics engine (when used with a required renderer plugin).
 * 3D models; Quake's MD2 format and Doomsday's DMD format with LOD support.
 * Object, world and camera movement smoothing.
 * Vector and dynamic lightning for 3D models, sprites and particles.
 * Particle generator effect sub-system.
 * Dynamic lighting.
 * FakeRadio (fake radiosity lighting).
 * World-surface decoration effects.
 * Lens flares.
 * Coloured lighting and dominant-light source biasing.
 * Object shadowing effects.
 * Skyboxes and 3D sky models.
 * 3D positional audio (sound fx) (when used with an audio plugin that supports this feature such as dsOpenAL).
 * EAX's and A3D's environmental sound processing effects (when used with an audio plugin that supports this feature).
 * High-resolution textures (PNG, TGA, PCX) and detail textures.
 * 16-player client/server networking via TCP/IP, IPX, modem, or serial link, with in-game multiplayer menu for creating and joining games. Cooperative, deathmatch and team deathmatch modes are available.
 * Easy-to-use control panel for configuration, accessed quickly with Shift-Esc.
 * Console for modifying settings and giving commands.
 * Configurable player controls (bindings) and input manipulators (smoothing, look spring etc...).
 * Uses plain-text definition files for game data such as thing types and states, sound and music information, map configuration and more.

Games Doomsday 1

 * jDoom - Doom, Doom II, Evilution and Plutonia
 * jHeretic - Heretic
 * jHexen - Hexen, Hexen: Deathkings of the Dark Citadel

Games Doomsday 2

 * jDoom - Doom, Doom II, Evilution and Plutonia
 * jHeretic - Heretic
 * jHexen - Hexen, Hexen: Deathkings of the Dark Citadel

Renderers Doomsday 1

 * drOpenGL - OpenGL
 * drD3D - Direct3D

Renderers Doomsday 2

 * drOpenGL - OpenGL

Audio Doomsday 1 and 2

 * dsDS8 - DirectSound3D 8 audio plugin; plays 3D positional sound fx (with optional EAX effects) and music
 * dsA3D - Aureal 3D 3.0 audio plugin; plays 3D positional sound effects.
 * dsOpenAL - OpenAL audio plugin; plays 3D positional sound fx (with optional EAX effects) and music
 * dsSDLMixer - SDL_Mixer audio plugin; plays a wide variety of music files (e.g. MIDI, OGG, MP3, or MOD)

Misc Doomsday 1 and 2

 * dpDehRead - DeHackEd patch reader
 * dpMapLoad - Doom and Hexen format map reader with built-in GL Node builder.

License
Both Doomsday engines are licensed under the terms of the GNU General Public License (Version 2).

History
On November 1st 1999 Jaakko Keränen (skyjake), released the first version of his HeXen source port: jHexen 0.97.1. At this point jHexen is already an OpenGL hardware accelerated port with numerous visual enhancements. Within a year Skyjake created similar ports for Heretic (March 20, 2000) and Doom (May 31, 2000), known as jHeretic and jDoom respectivly.

The exact date of the first release of the Doomsday engine (1.0.0) is unknown or simply forgotten. The Doomsday engine was a central engine, created by Skyjake that contains much of the common code used by his three separate jports. The jports were each consolidated into plugins that relied on the Doomsday engine to function. Though the plugins are not required for the Doomsday engine to function and additional plugins can be added.

The Doomsday engine and jDoom were relicensed to GNU General Public License (Version 2) on March 3, 2003. jHeretic and jHexen remained under the terms of Raven Software's non-profit End User License Agreement.

On March 15, 2003 Doomsday 1.7.8 is released, Graham Jackson forks his Boomsday project based on this version. Boomsday later becomes Risen3D. Daniel Swanson (DaniJ) joins the Doomsday effort on August 14, 2003.

Since Doomsday 1.8.5, the Doomsday engine expanded onto Linux and Mac. Versions of the engine for these are maintained alongside the Windows version. Though, both 1.8.5 and 1.8.6, the final releases of Doomsday 1 were classed as betas.

Every beta of Doomsday 2 so far, has been released on Windows, Linux and Mac.

On November 22, 2007 Doomsday *NIX developer Jamie Jones (Yagisan) quit the Doomsday project after being banned from the forums at Newdoom (which at the time hosted the official Doomsday project websites/forums) after an argument with users.

After Raven Software's source code re-release, the Doomsday project relicensed its changes to the Heretic/Hexen source code in both Doomsday 1 and 2 to the GNU General Public License (Version 2) on September 12, 2008.