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. Since mid 2005, the deng team has been at work on the next major iteration of Doomsday; version 1.9.0 and this newest branch of Doomsday remains in beta.

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

The current stable version of Doomsday is. The current development version is 1.9.0 beta 6.9.

Engine features

 * 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

 * jDoom - Doom, Doom II, Evilution and Plutonia
 * jDoom64 - Doom 64 IN DEVELOPMENT. Note that this isn't the 2003 Doomsday TC of Doom64: Doom 64: Absolution TC.
 * jHeretic - Heretic
 * jHexen - Hexen, Hexen: Deathkings of the Dark Citadel

Renderers

 * drOpenGL - OpenGL
 * drD3D - Direct3D (REMOVED in the 1.9 betas)

Audio

 * 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

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

License
The entire Doomsday project is 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, officially, every version released for them is still classed as a beta on account of the engine being rewritten for 1.9.0 following 1.8.6's release (both the 1.8.5 and 1.8.6 releases of the engine to these platforms were also offically marked as Beta).

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 to the GNU General Public License (Version 2) on September 12, 2008.