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 joining games (in the client). Cooperative, deathmatch and team deathmatch modes are available.
 * Independent server executable with no GUI dependencies. Shell application for administering local and remote servers.
 * 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 restart the engine.
 * In game demo recording and playback via the console.
 * Automatic updater; it can be set to connect to dengine.net to check and/or download new releases.

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.
 * FMod - FMod Ex audio; plays 3D positional sound fx, music and DLS sound font support.
 * FluidSynth - (Mac OS X/Linux) MIDI music synthesizer with SF2 sound font support.
 * 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.

On December 18 1999, Skyjake publically announced both Doomsday Engine and intention to create ports for Doom and Heretic.

Doomsday Engine, inspired by Quake 2, was envisioned as an executable that contained all the generic Doom engine code with code specific to each Doom engine game being contained in plugin DLL files.

The first releases of JHeretic and JDoom were made on March 20 2000 and May 31 2000 respectively.

Skyjake continued to make separate releases of all three “Jports”, that also contained early versions of Doomsday, with announced version numbers being based off the game plugin included, until Doomsday officially left beta on March 10 2002 with version 1.5.4. At this point individual releases of the Jports ceased.

The first version of the Doomsday website (the now defunct DoomsdayHQ.com) opened on June 8th 2002. The three separate Jport websites were abandoned and closed down.

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.

In June 2009, the Doomsday website moved to http://dengine.net.

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.