Doomsday

The Doomsday Engine is an open source port, presently developed by project founder Jaakko Keränen (skyjake) and Daniel Swanson (DaniJ). Former developers include Jamie Jones (Yagisan). Collectively known as deng team.

Doomsday is a multi-game supporting engine. Alongside the engine, three official game plugins are developed by deng team; for playing Doom, Heretic and Hexen. The Doom plugin also supports Chex Quest and Hacx as independent IWADs.

An extensible architecture built around plugins is used for audio playback and data resource loading functionality.

Features

 * Cross-platform. Supported platforms include; Windows, Linux and MacOS.
 * 16-player client/server networking via TCP/IP, with in-game multiplayer menu and server browser 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.
 * Extensive player control binding and input manipulator (smoothing, look spring etc...) configuration.
 * In game loading via the console; for instance switch from Doom to Heretic and load/unload mods without having to close the engine.
 * In game demo recording and playback via the console.
 * Automatic updater; it can be set to connect to Dengine.net to check if there is a new release.

Video

 * Hardware-accelerated OpenGL graphics engine and uncapped framerate.
 * FakeRadio (fake radiosity lighting).
 * Vector lighting system for 3D models, sprites and particles.
 * Dynamic lighting sub-system with halos and lens flares.
 * Object, world and camera movement smoothing.
 * Particle generator effect sub-system.
 * World-surface decoration effects.
 * Coloured lighting and dominant-light source biasing.
 * Object shadowing effects.
 * Smoothing of fake contrast.
 * Camera vignette effect.

Audio

 * 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).
 * Support for a wide variety of music files (e.g. MIDI, OGG, MP3 and MOD)

Plugins

 * Dehreader - DeHackEd patch reader.
 * DSound - DirectSound3D 8 audio; plays 3D positional sound fx (with optional EAX effects).
 * OpenAL - OpenAL audio; plays 3D positional sound fx (with optional EAX effects).
 * WADMapconverter - Converter/interpreter for WAD format maps.
 * WinMM - Windows Multimedia audio; MIDI playback and interface.

Modding

 * Flexible resource system using ZIP, WAD and virtual directories.
 * Plain-text definition files DED for game data and engine resources.
 * High-resolution textures (PNG, TGA, PCX) and detail textures.
 * 3D models; Quake's MD2 format and Doomsday's DMD format with LOD support.
 * Skyboxes and sky models.

License
Doomsday and all official plugins 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 respectively.

The exact date of the first release of the Doomsday (1.0.0) is unknown or simply forgotten. Doomsday emerged from common functionality found in the separate jports, consolidated into an engine. The jports then became game plugins for the Doomsday engine.

The Doomsday engine and jDoom were re-licensed 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 platforms. Though, the Linux and Mac versions of 1.8.5 and 1.8.6 were classified as beta releases, as they lacked several features of their Windows counterpart.

Development continued on the 1.x series of Doomsday until 1.8.6 in January 2005, when deng team began work on the next major version of the project; Doomsday 2. Version two of Doomsday had hitherto existed under the codename Hawthorn.

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 deng team re-licensed their changes to the jHeretic and jHexen game plugins to the GNU General Public License (Version 2) on September 12, 2008.

On February 29, 2012, version 1.9.7 was released as a major milestone on the way to the completion of Doomsday 2. As well as being the first 'non-beta' release for non-Windows platforms, support for Hacx and Chex Quest as IWADs was also added to the Doom plugin.

Doomsday 1.9.10, released on December 21, 2012, saw the retiring of the j-prefixed ports when they were replaced with logic plugins.

Doomsday 1.10, released on April 3, 2013, features the separation of server functionality into an independent executable, with no GUI dependencies. This release also saw the introduction of the Shell app, for administering both local and remote servers.