Difference between revisions of "Doomsday"

From DoomWiki.org

[unchecked revision][checked revision]
(Is there any single Doom port that doesn't support also Doom II and Final Doom? Just specifying "Doom" implies all Doom IWADs, and makes the list more readable because shorter and more to the point)
m (Minor intro revs)
(35 intermediate revisions by 12 users not shown)
Line 1: Line 1:
{{port|undefined|platforms=Linux, Mac OS X; 10.4 Windows; 32|games = [[Doom]], [[Heretic]], [[Hexen]]|developers = [[Daniel Swanson (DaniJ)|Dani J]], [[Jaakko Keränen (Skyjake)|Skyjake]]}}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).
+
{{InfoboxSourcePort
 +
|title = Doomsday Engine
 +
|developer = [[Daniel Swanson (DaniJ)|DaniJ]], [[Jaakko Keränen|skyjake]]
 +
|programming language = [[Wikipedia:C (Programming Language)|C]], [[Wikipedia:C++ (Programming Language)|C++]]
 +
|status = Active
 +
|platform = Linux, MacOS X, Windows
 +
|language = English (United States)
 +
|license = {{GPL||2+}}
 +
|website = [http://dengine.net/ http://dengine.net/]
 +
}}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). The team is collectively known as ''deng team''.
  
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 is a generic core game engine supporting multiple [[id Tech 1]] games through a plugin architecture. Alongside the core 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 [[IWAD]]s.
  
The offical Doomsday website and forums can be found at http://dengine.net/ and http://www.dengine.net/forums/ respectively.
+
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 [[Wikipedia:Internet protocol suite|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. [[Wikipedia:Musical Instrument Digital Interface|MIDI]], [[Wikipedia:Ogg|OGG]], [[Wikipedia:MPEG-1 Audio Layer 3|MP3]] and [[Wikipedia:MOD (file format)|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; [[Wikipedia:Musical Instrument Digital Interface|MIDI]] playback and {{wp|audio CD}} 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]], [[Wikipedia:Truevision TGA|TGA]], [[Wikipedia:PCX|PCX]]) and detail textures.
 +
* 3D models; Quake's MD2 format and Doomsday's DMD format with [[LOD]] support.
 +
* [[Skybox]]es and [[sky model]]s.
 +
 
 +
==License==
 +
Doomsday and all official plugins are licensed under the terms of the GNU General Public License (Version 2).
  
 
==History==
 
==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.
+
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.  
  
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.
+
On December 18 1999, Skyjake publically announced both Doomsday Engine and intention to create ports for [[Doom]] and [[Heretic]].
  
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.
+
Doomsday Engine, inspired by {{wp|Quake 2}}, was envisioned as an executable which would contain all the generic Doom engine code, with code specific to each Doom engine game being contained in plugin {{wp|Dynamic-link library|DLL}} files.
  
On March 15, 2003 Doomsday 1.7.8 is released, [[Graham Jackson]] [[Wikipedia:en:Fork (software development)|forks]] his ''Boomsday'' project based on this version. ''Boomsday'' later becomes [[Risen3D]]. [[Daniel Swanson]] (DaniJ) joins the Doomsday effort on August 14, 2003.
+
The first releases of jHeretic and jDoom were made on March 20, 2000, and May 31, 2000, respectively.
  
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, the Linux and Mac versions of 1.8.5 and 1.8.6, the final releases of Doomsday 1 were classed as betas as they lacked several features of their Windows counterpart.
+
Skyjake continued to make separate releases of all three “jPorts,” which also contained early versions of Doomsday, with announced version numbers being based off of 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.
  
It was developed until 2005 when the developers decided to halt work and begin work on a new port; Doomsday 2.
+
The first version of the Doomsday website (the now defunct DoomsdayHQ.com) opened on June 8, 2002. The three separate jPort websites were closed down at this point.
  
Every beta of Doomsday 2 so far, has been released on Windows, Linux and Mac with all features being present in all versions.
+
The Doomsday engine and jDoom were re-licensed to the {{wp|GNU General Public License}} (Version 2) on March 3, 2003. jHeretic and jHexen remained under the terms of [[Raven Software]]'s non-profit [[Raven source code licensing|End User License Agreement]].
  
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.
+
On March 15, 2003, Doomsday 1.7.8 was released. [[Graham Jackson]] [[Wikipedia:en:Fork (software development)|forked]] his ''Boomsday'' project from this version. ''Boomsday'' later became [[Risen3D]]. [[Daniel Swanson]] (DaniJ) joined the Doomsday effort on August 14, 2003.
  
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.
+
Since Doomsday 1.8.5, the Doomsday engine has expanded onto the Linux and Mac platforms.
  
==Engine features==
+
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''.
  
* Cross-platform. Supported platforms include; Windows, Linux and MacOS.
+
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 on September 12, 2008.
* Hardware-accelerated graphics engine (OpenGL and Direct3D (Doomsday 1 Only)).
+
 
* 3D models; Quake's MD2 format and Doomsday's DMD format with [[LOD]] support.
+
In June 2009, the Doomsday website moved to http://dengine.net.
* Object, world and camera movement smoothing.
+
 
* Vector and dynamic lightning for 3D models, sprites and particles.
+
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.
* Particle generator effect sub-system.
+
 
* Dynamic lighting.
+
Doomsday 1.9.10, released on December 21, 2012, saw the retiring of the j-prefixed ports when they were replaced with logic plugins.
* FakeRadio (fake radiosity lighting).
 
* World-surface decoration effects.
 
* Lens flares.
 
* Coloured lighting and dominant-light source biasing.
 
* Object shadowing effects.
 
* [[Skybox]]es and [[sky model]]s.
 
* 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 ([[Wikipedia:Portable Network Graphics|PNG]], [[Wikipedia:Truevision TGA|TGA]], [[Wikipedia:PCX|PCX]]) and detail textures.
 
* 16-player client/server networking via [[Wikipedia:Internet protocol suite|TCP/IP]], [[Wikipedia:Internetwork Packet Exchange|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.
 
* Support for loading [[DeHackEd]] patches directly.
 
===Audio  ===
 
*DS8 - DirectSound3D 8 audio plugin; plays 3D positional sound fx (with optional EAX effects) and music
 
* A3D - Aureal 3D 3.0 audio plugin; plays 3D positional sound effects.
 
* OpenAL - OpenAL audio plugin; plays 3D positional sound fx (with optional EAX effects) and music
 
* SDLMixer - SDL_Mixer audio plugin; plays a wide variety of music files (e.g. [[Wikipedia:Musical Instrument Digital Interface|MIDI]], [[Wikipedia:Ogg|OGG]], [[Wikipedia:MPEG-1 Audio Layer 3|MP3]], or [[Wikipedia:MOD (file format)|MOD]])
 
  
==License==
+
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.
Both Doomsday engines are licensed under the terms of the GNU General Public License (Version 2).
 
  
 
==External links==
 
==External links==
* [http://dengine.net/ Official website]
+
* [http://dengine.net/ Homepage]
* [http://dengine.net/forums/ Official forums]
+
* [http://dengine.net/forums/ User forums]
* [http://dengine.net/blog/ Doomsday Engine development blog]
+
* [http://dengine.net/dew/ Wiki]
 +
* [http://dengine.net/forums/viewforum.php?f=24 Subforum at official forums used as development blog]
 
* [http://sourceforge.net/projects/deng Project page at Sourceforge.net]
 
* [http://sourceforge.net/projects/deng Project page at Sourceforge.net]
  
 
{{s-start}}
 
{{s-start}}
 
{{s-port}}
 
{{s-port}}
{{s-bef|before=[[Hexen]]}}
+
{{s-cond}}
 +
{{s-bef-cond|before=[[Hexen]]}}
 
{{s-ttl|title=jHexen 0.97.1}}
 
{{s-ttl|title=jHexen 0.97.1}}
 
{{s-non|reason=Merged}}
 
{{s-non|reason=Merged}}
{{s-bef|before=[[Heretic]]}}
+
{{s-bef-cond|before=[[Heretic]]}}
{{s-ttl|title=JHeretic 0.97?}}
+
{{s-ttl|title=jHeretic 0.97?}}
 
{{s-non|reason=Merged}}
 
{{s-non|reason=Merged}}
{{s-bef|before=[[Linux|Linux Doom v1.10]]}}
+
{{s-bef-cond|before=[[Linux Doom]] 1.10}}
{{s-ttl|title=JDoom 0.97?}}
+
{{s-ttl|title=jDoom 0.97?}}
 
{{s-non|reason=Merged}}
 
{{s-non|reason=Merged}}
{{s-bef|before=jHexen 0.97.1}}
+
{{s-bef-cond|before=jHexen 0.97.1}}
 
{{s-ttl|rows=3|title=Doomsday}}
 
{{s-ttl|rows=3|title=Doomsday}}
{{s-aft|rows=3|after=[[Risen3D]]}}
+
{{s-aft-cond|rows=3|after=[[Risen3D]]}}
{{s-bef|before=JHeretic 0.97?}}
+
{{s-bef-cond|before=jHeretic 0.97?}}
{{s-bef|before=JDoom 0.97?}}
+
{{s-bef-cond|before=jDoom 0.97?}}
 
{{s-end}}
 
{{s-end}}
 +
 
[[Category:Source ports]]
 
[[Category:Source ports]]
 
[[Category:Doom ports]]
 
[[Category:Doom ports]]

Revision as of 09:33, 21 May 2014

Doomsday Engine
Developer(s) DaniJ, skyjake
Latest release 2.3.1 (2021-02-04, 3 years ago)
Development status Active
Written in C, C++
Target Platform Linux, MacOS X, Windows
Available in English (United States)
License GNU General Public License v2+
Website http://dengine.net/
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). The team is collectively known as deng team.

Doomsday is a generic core game engine supporting multiple id Tech 1 games through a plugin architecture. Alongside the core 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 audio CD 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, 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 which would contain 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,” which also contained early versions of Doomsday, with announced version numbers being based off of 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 8, 2002. The three separate jPort websites were closed down at this point.

The Doomsday engine and jDoom were re-licensed to the 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 was released. Graham Jackson forked his Boomsday project from this version. Boomsday later became Risen3D. Daniel Swanson (DaniJ) joined the Doomsday effort on August 14, 2003.

Since Doomsday 1.8.5, the Doomsday engine has expanded onto the Linux and Mac platforms.

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.

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 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.

External links

Source code genealogy
Based on Name Base for
Hexen jHexen 0.97.1 Merged
Heretic jHeretic 0.97? Merged
Linux Doom 1.10 jDoom 0.97? Merged
jHexen 0.97.1 Doomsday Risen3D
jHeretic 0.97?
jDoom 0.97?