Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
DOOM Retro is the classic, refined DOOM source port. It represents what I want DOOM to be today, in all its dark, gritty, unapologetically pixelated glory. I’ve strived to implement a set of features and a certain level of attention to detail while still upholding a deference for that classic, nostalgic DOOM experience we all hold dear.
DOOM Retro is under constant and meticulous development. Its source code was originally forked from Chocolate DOOM and includes enhancements from other DOOM source ports as well as many original ideas.
DOOM Retro is deliberately minimalist by design, and does a few things differently when compared with other source ports. It supports vanilla, limit removing and BOOM-compatible maps. Please note that in order to freely implement certain features, and due to the nature of DOOM demos, DOOM Retro does not support demo recording and playback.
DOOM Retro is single player only, and runs in Windows XP and above. Its C source code is maintained in a Git repository using Github Desktop and compiled using Microsoft Visual Studio Community 2017. Although unsupported, DOOM Retro can also be compiled under Linux and OS X.
The latest version of DOOM Retro may be downloaded here.
- A simple and convenient built-in WAD launcher.
- Uses version 2.0.8 of the SDL (Simple DirectMedia Layer) library.
- A resolution of 640×400 (twice that of the original DOOM), accommodating for any screen size while maintaining the correct 4:3 aspect ratio.
- A highly optimized 256-color software renderer, scaled up onto the screen using hardware acceleration with the OpenGL or Direct3D APIs.
- A 16:10 widescreen mode with a choice of two different heads-up displays.
- Windowed and fullscreen modes, switchable at any time using ALT + ENTER.
- A powerful and unobtrusive console is available where all additional settings can be changed, keeping the options menu uncluttered and consistent with the original DOOM.
- The framerate is uncapped.
- Motion blur can be applied when the player turns around quickly.
- MUS, MIDI, MP3, Ogg Vorbis, WAV, FLAC and MOD music lumps are supported.
- There are several alpha, additive and per-pixel translucency effects.
- More blood is produced when shooting monsters.
- All blood spilt leaves splats on the floor.
- Cacodemons have blue blood, hell knights and barons of hell have green blood, spectres have partially invisible blood, and lost souls have no blood.
- Dynamic shadows are cast by monsters.
- Liquid sectors bob up and down.
- Objects are partially submerged and bob up and down when in liquid, and the player’s view is lowered.
- Brightmaps have been applied to certain wall textures.
- Corpses are randomly mirrored.
- Corpses react to splash damage from rockets and barrel explosions, and smear blood on the ground as they slide about.
- The screen shakes when the player is injured and nearby barrels explode.
- The player’s field of view can be changed.
- There are 10 darker gamma correction levels to accommodate for today’s brighter LCD screens (with gamma correction level 0.90 set as the default).
- The limits of the original DOOM are either raised or removed completely.
- There is support for DeHackEd files and lumps, including those with BOOM extensions.
- DeHackEd support has been extended to allow for an additional 2,910 states (numbered 1089 to 3999), 100 additional map objects (numbered 150 to 249) and 100 additional sprites (numbered 145 to 244).
There is partial support for Hexen-style
- There is specific support for the BFG Editions of DOOM and DOOM II: Hell On Earth, including Nerve Software’s No Rest For The Living expansion.
- There is also specific support for:
The maps E1M4B: Phobos Mission Control and E1M8B: Tech Gone Bad by John Romero are included. (These can be played by entering
map E1M8Bin the console when a DOOM or The Ultimate DOOM IWAD is loaded.)
- Maps with regular nodes, extended DeePBSP v4 nodes and extended, uncompressed ZDoom nodes are supported.
There are various rendering improvements, which include:
- The removal of many “firelines” and “slime trails”,
- The removal of “sparkles” along the bottom edge of doors,
- Better drawn floors and ceilings,
- Changes in height are drawn more accurately,
- Smoother, darker lighting,
- A better and more consistent “fuzz” effect for spectres and the partial invisibility power-up.
- A majority of the known “bugs” from the original DOOM have been fixed.
- A “vanilla” mode is available that allows you to easily compare the many but subtle differences between DOOM Retro and the original DOOM.
Keyboard support is improved:
- The W / A / S / D keys are set by default,
- The CAPSLOCK key can be used to “always run”,
- The WINDOWS key is disabled.
Support has been added for DirectInput and XInput gamepads:
- XInput gamepads vibrate when the player is injured, fires a weapon, or a barrel explodes nearby,
- Gamepads can be connected in the middle of a game.
There is improved mouse support:
- A higher mouse sensitivity is allowed,
- Vertical mouse movement is disabled by default,
- The mouse wheel can be used to change weapons,
- A mouselook feature where the player’s weapon is dynamically positioned.
Over 1,300 level-specific fixes for the original DOOM IWADs have been implemented, which include:
- Missing textures that cause floors and ceilings to “bleed”,
- Incorrect textures,
- Misaligned textures,
- Monsters that are stuck in walls or each other.
- Extensive player statistics.
Significant changes have been made to the automap:
- The automap updates dynamically as the player moves around the map,
- The automap may be shown on an external display,
- A rotate mode can be toggled on/off using the R key,
- Thing triangles are scaled based on the sizes of the things they represent,
- Solid walls are twice as wide and are drawn over other walls,
- Secrets are drawn correctly as they are discovered by the player,
- The path the player takes around a map can be displayed.
- Several improvements have been made to the menu and message systems.
Screenshots have been enhanced:
- Screenshots are saved as PNGs instead of the now obsolete PCX format,
- Screenshots are the same size as the screen,
- There is no limit to the number of screenshots that can be taken.
- Several improvements have been made to monster animations.