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: | ||
− | {{ | + | {{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 | + | 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. |
− | + | 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]] | + | 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 {{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. | |
− | + | 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 {{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 | + | 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. |
− | + | 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== | ==External links== | ||
− | * [http://dengine.net/ | + | * [http://dengine.net/ Homepage] |
− | * [http://dengine.net/forums/ | + | * [http://dengine.net/forums/ User forums] |
− | * [http://dengine.net/ | + | * [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= | + | {{s-ttl|title=jHeretic 0.97?}} |
{{s-non|reason=Merged}} | {{s-non|reason=Merged}} | ||
− | {{s-bef|before=[[ | + | {{s-bef-cond|before=[[Linux Doom]] 1.10}} |
− | {{s-ttl|title= | + | {{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= | + | {{s-bef-cond|before=jHeretic 0.97?}} |
− | {{s-bef|before= | + | {{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/ |
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.
Contents
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
- Homepage
- User forums
- Wiki
- Subforum at official forums used as development blog
- Project page at Sourceforge.net
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? |