About Doomsday Engine
The Doomsday Engine is an enhanced Doom source port for the Windows, macOS, and Linux platforms. It is based on the source code of id Software's Doom and Raven Software's Heretic and Hexen. The Doomsday Engine and the associated ports of Doom, Heretic and Hexen have been under development since 1999. The first versions were released in late 1999 and early 2000. Most of the development work has been done by Jaakko Keränen (skyjake).
The purpose of the project is to create versions of Doom, Heretic and Hexen that feel the same as the original games but are implemented using modern techniques such as 3D graphics and client/server networking. A lot of emphasis is placed on good-looking graphics.
The engine uses a modular structure to separate game logic from the renderer, sound, network and other such subsystems. This allows the engine to be used with different game logic modules. The currently available ones are ports of vanilla Doom, Heretic and Hexen. A secondary goal of the project is to make it possible to write new game logic modules with minimal effort, either completely from scratch or based on the existing modules.
The Doomsday Engine has been written in C and C++. It uses OpenGL to render graphics with 3D objects, particle effects and dynamic lights. It supports DirectSound3D and for 3D sound effects and environmental effects, and FMOD for playing MP3/OGG music. It has client/server networking where players may join games already in progress.