Doom (PC)

The game that didn't start it all, but it might as well have. Doom wrote the FPS canon and became a worldwide phenomenon, paving the way for many "Doom clones" and eventually Quake...

Debug Mode
Entered by passing the paramater "-devparm" when starting the game, Doom's debug mode is pretty bare-boned. You can take screenshots (in PCX format) by pressing F1 (which replaces its original function of bringing up the help screen), and a series of dots appears in the bottom left that roughly indicate the frame rate. One dot indicates the full 35FPS, while more dots indicate a frame rate of 35/(number of dots). In earlier versions, the -devparm paramater is also required to use several other parameters, but the requirement was dropped in 1.4.

Unused Graphics
Menu heading and option for a display options menu. These are left over from the 0.5 alpha.

Headings for the load and save game menus. These menus just reuse their option graphics for their headings.

The "ouch" face was meant to occur if the player lost 20 or more health in a single attack. A mistake in the game's coding makes it visible only if you gain 20 or more health while taking damage, rendering the face unseen outside of uncommon situations, like getting hurt while standing on a medikit. Like most of Doom's status bar faces, the ouch face has five different sprites depending on how much health the player has remaining.

The SW1STARG texture was only used on a single wall of E1M3 in v1.0. When the raising floor it triggered was redesigned in v1.1, the switch texture was removed from the wall, and it goes unused in all future versions.

Removed Graphics
A few unused graphics can be found in earlier versions of Doom, but these graphics were removed from later versions.



Alternate status bar panels left over from the press release pre-beta. The score and weapons panel were used instead of the normal bar on the automap; the large blank divided panel replaced the entire right side of the status bar whenever text was displayed or being typed. These were removed in v1.2



Red variations on the small gray and yellow numbers used on the status bar. These were also removed in v1.2



These small weapon icons were used on the weapons panel of the pre-beta automap status bar. And like the panel, they were removed in v1.2.



Bonus and score graphics intended for the intermission screen. Another set that was removed in v1.2.



These are spent shell and bullet casings that would have come out of a gun. However, the spent casings never pop up since the coding required doesn't appear to be there. They were removed in v1.666.



These are obviously projectiles and their corresponding impact animations, but none of these are used in the final version. The yellow and green sphere projectile was thrown by the Baron of Hell in the press release pre-beta. Likewise, the green ball and explosion are leftovers from the pre-beta plasma gun and BFG. The purple and pink sphere and blue ball were never used in any known version. They were removed in v1.666.

A frame of the yellow and green projectile was used as a part of the Arachnotron plasma's impact animation in Doom II.

Added Graphics


The Arachnotron plasma and Mancubus fireball from Doom II were mistakenly added to the Doom IWAD in v1.666.

As was the Doom II final boss' spawn cube.

This multiplayer menu option graphic is present in the Doom 3 BFG Edition IWAD. It's used in the console versions, but the PC version doesn't have multiplayer support.

Unused Medikit Message
If the player gets a medikit with less than 25 health, this should be displayed: Picked up a medikit that you REALLY need! However, health is added before the check is made, so the player's health is always greater than 26 when it checks which message to use.

inVuln or Inviso?
This might be stretching the definition of unused, but when entering the idbehold cheat, the following message is displayed: inVuln, Str, Inviso, Rad, Allmap, or Lite-amp The capital letters indicate which key to press for that powerup, but since the final version of the game no longer makes a distinction between capital and lowercase letters in the message font, pressing V to get the invulnerability artifact is completely unintuitive.

Unused Quit Messages
There are several unused quit messages defined in the source code:

The first seven messages are under a comment saying "FinalDOOM?", but this was added by Bernd Kreimeier when he was cleaning the source for release to the public. These messages were never intended for Final Doom - they were "development mode only" messages written by John Romero. "Ron" referred to Ron Chaimowitz, CEO of GT Interactive, publisher of The Ultimate Doom, Doom II, and Final Doom.

Automap Asteroids
There are some references in the source code release for an Easter egg that would turn the automap into a game of Asteroids. The code was later found by John Romero, but as it turns out, very little of the egg was actually completed - just some data structures and basic collision detection. Oh, well.

DOS Engine

 * v1.0, the first shareware version of the game, is called "DOOM Operating System v0.99" in the start up text, but was distributed in DOOM1_0.ZIP. id chose to go with the latter numbering.
 * v1.1 was the first registered version of the game.
 * v1.2 made extensive changes to the engine and was the first version that could be run under Windows.
 * A v1.4 was leaked, this is commonly called the bootleg version. Interestingly, this version is called v1.3 internally, but the startup text has been hacked to read v1.4 instead.
 * v1.25 was only distributed as shareware with The Official Doom Survivor's Strategies and Secret guide published by Sybex. Despite the version number, it appears to be a version between the bootleg and beta v1.4.
 * v1.4, v1.5, and v1.6 shareware betas were released by id. Doom II is supported to some extent in each version.
 * v1.666 was the first version with full Doom II support and incorporates many changes from the betas.
 * v1.8 includes v1.7's engine fixes, as that version was never officially released for Doom. It's called the "FINAL version of DOOM" in its readme.
 * v1.9 fixes a bug with the IDDT cheat in network games. It's also called the "FINAL version of DOOM."
 * The Ultimate Doom is still called v1.9 internally, but makes many changes to the engine in order to support the fourth episode.

General/Technical

 * v1.0 prints a message about needing a colored skull to open one time use locked doors, instead of a keycard. This distinction was removed in later versions. Even in this version, these doors can be opened with the correct colored keycard.
 * A new version of the DOS/4GW extender is used in v1.1. Batch files are included in the distribution to use an older version or restore the newer version.
 * A gamma correction key, F11, was added in v1.1, but it only had 'on' and 'off' settings.
 * Five different levels of gamma correction were added in v1.2.
 * The MAXDRAWSEGS limit was increased in v1.1. It was possible to see rendering errors in E1M8 of v1.0 due to this limit being set too low.
 * The MAXVISPLANE count increased from 128 to 256 in v1.4 to accommodate Doom II's levels.
 * Versions prior to v1.2 store their configuration file and save games in the C:\DOOMDATA directory. This was changed to storing them in the executable's directory instead.
 * v1.666 adds a new -cdrom parameter, which forces the executable to use C:\DOOMDATA again and changes the loading floppy disk icon to a CD-ROM.
 * Support for using the mouse and joystick to navigate the menus was added in v1.2.
 * Demo support was improved in v1.2 to prevent desyncs.
 * v1.4 extends the demo header, allowing for demos to span multiple levels, multiple lives, and record all players in multiplayer games.
 * Versions later than v1.2 prevent PWADS from being loaded when using the shareware IWAD.
 * Most command line parameters can be used without -devparm in versions later than v1.2.


 * v1.25 adds a check for the lowest neighboring sector to the LowerAndChange sector floor logic. Previously it always copied the floor flat and sector type from the back sector of the lowest numbered two-sided linedef, regardless of its height. This change introduced bugs into E3M1 and E3M9, which are documented below.
 * The IDFA and IDMUS cheats were added in v1.666.
 * The Ultimate Doom's executable adds support for the fourth episode and adds a fourth demo to the opening reel before starting a game.
 * Interestingly, the code that prints the level names in the automap has support for a fifth episode, using the placeholder token "NEWLEVEL".
 * Sector tag 666's behavior in E1M8, used to lower the walls surrounding the star arena, was changed in The Ultimate Doom to only activate when the last Baron of Hell present in the level is killed, rather than when the last of any boss monster is killed. This change, while having no noticeable effect in E1M8, broke custom levels reliant on the old behavior. New behavior was added for E4M6 and E4M8.

Gameplay

 * Nightmare difficulty was added in v1.2 along with the -fast and -respawn command line parameters.
 * v1.4 caps armor at 200%. It was uncapped in prior versions.
 * Prior to v1.5, Demons and Spectres used range-limited hitscans for their bite attacks, rather than an instant damage attack like all other monster melee attacks. This meant that they could damage and trigger infighting with other monsters and that the Partial Invisibility powerup could make them miss the player.
 * Lost Souls no longer count towards the end of level monster percentage in v1.666 and above, to accommodate Doom II's Pain Elementals.
 * Lost Souls will bounce off floors and ceilings if they collide with them in The Ultimate Doom's executable.

Sound

 * Sound Blaster 1.0 support was included in v1.1, Pro Audio Spectrum 16 stereo in v1.2, and Sound Blaster AWE32 in v1.666.
 * Versions prior to the v1.4 bootleg only supported mixing four sound channels instead of eight.
 * Sound effect pitch variation was made more intense in the v1.4 bootleg, and was removed entirely in the official v1.4 beta.
 * Support for the Gravis Ultrasound was disabled in v1.25, broken in v1.4, sort of fixed in v1.5 - it works, but sound effects are unfiltered, properly fixed in v1.6, but sound effects are unfiltered again in v1.666.
 * On the plus side, Gravis Ultrasound instrument mapping was revised in v1.5 to improve the music on 1MB cards.
 * Support for playing MIDI music was added in v1.5, prior to this MIDIs had to be converted to Doom's MUS format manually.
 * A new sound effect is played when picking up a sphere in v1.666 and beyond, rather than using the standard item collection sound.
 * Sounds are now played when crushers, steps, and other sector types stop moving in v1.666 and beyond. It is the same sound that is used when lifts stop.

Networking/Multiplayer

 * The networking code was completely rewritten in v1.2. The networking component was stripped out of the main executable and into separate IPXSETUP.EXE and SERSETUP.EXE drivers.
 * Support for a serial connection via modem or null modem for two player games was added in v1.2.
 * The -nomonsters parameter was added in v1.2.
 * v1.2 adds support for ten chat macros, which are stored in the configuration file. They can can be sent by hitting Alt + the corresponding number key.
 * Deathmatch 2.0 rules were added in the v1.4 bootleg. These are activated with the -altdeath</tt> parameter, which can be used instead of the standard -deathmatch</tt> parameter for a deathmatch game, and cause most items to respawn after a period of time. Weapons are now picked up and unavailable until they respawn, too.

Bug Fixes

 * In versions prior to v1.2, it is possible for a monster that hurts itself via an exploding barrel to acquire itself as their target, causing it to wander around randomly and melee itself to death, which looks absolutely hilarious. Later versions prevent monsters from becoming their own target.
 * In versions prior to v1.2, the game's netcode sent packets to every computer on the network, regardless of whether they were actually involved in the game. On (at the time) large networks the resulting flood could bring down the entire network!
 * Versions prior to v1.2 will lock up when attempting to play a network game with a sound card.
 * In v1.1, attempting to use IRQ port 2 doesn't work.
 * Attempting to save in slot 5 or 6 in v1.1 would save in slot 1 instead. This was fixed in v1.2.
 * In v1.2 and below, walking close to a wall in a room with a ceiling 560 units or higher could cause the screen flash in a moire pattern quasi-randomly, getting worse the taller the room was. The v1.4 bootleg fixed this, although rooms with a height of 2,500 units or more remained unstable, and the maximum height was capped at 4096. Previously heights up to 32767 worked fine, outside of the moire patterns.
 * Z_MALLOC errors when changing levels have been fixed in v1.2.
 * v1.2 modifies Doom projectiles so that they no longer trigger walkover line types when passing over them. The projectiles added in Doom II, however, still trigger them.
 * In versions prior to the v1.4 bootleg, if the game is saved while a door is open and the game is then reloaded, a crash will occur if the player attempts to manually close the door by pressing it again. The crash does not occur if the door is allowed to close on its own.
 * The v1.4 bootleg also fixes stopped lifts and crushers behaving incorrectly when loaded from a save game.
 * The sky is compressed vertically when low detail mode is active in the v1.4 bootleg - this causes it to tile. Low detail mode in this version actually had a detrimental effect on the framerate on machines of the day. Both of these issues were fixed in the official v1.4 beta.
 * In versions prior to v1.4, monsters would try to attack through walls with the two-sided flag unset.
 * Health is now capped at 200% in v1.6 instead of 199%.
 * The IDKFA cheat gives Doom II's Super Shotgun in v1.5, and since its sprites aren't included in the IWAD, the game will crash when slot 3 is selected. v1.6 doesn't allow the Shotgun to be selected at all after using the cheat. v1.666 fixes the cheat so that it only gives the Super Shotgun in Doom II.
 * OPL music playback (Adlib/Sound Blaster) could cause the game to crash at certain points in certain tracks in v1.666, this was fixed in v1.7, and officially made available for Doom in v1.8.
 * A bug with the IDDT automap reveal cheat in network games was fixed in v1.9.

Three Screen Mode
Using networked PCs, it is possible to extend the game's field of view over three monitors. The player needs to set up a network game on the center PC, then the left and right PCs must launch with the -left</tt> and -right</tt> parameters. This mode was seemingly disabled by accident in v1.2 - its code is still present in the Linux Doom v1.10 source release.

Other Engines

 * Doom was ported to Linux by Dave D. Taylor. The source code release is from this version, with "clean up" done by Bernd Kreimeier. The released source is v1.10.
 * The engines used for the Xbox, Xbox 360, Doom 3 BFG Edition, and PSN Doom Classic Complete versions of the game are all derived from this code. Doom 3 BFG Edition's source calls its engine Doom Classic v1.11.
 * Doom was ported to Windows for Microsoft by Gabe Newell.
 * Two WinDoom betas are available. They're derived from DOS v1.8 and run under Windows 3.1 with Win32 and WinG.
 * The final Windows release is called Doom95, it requires Windows 95 and DirectX, and has support for Final Doom.

E1M1: Hangar
There was originally a stimpack in the inaccessible area outside of the green armor room. This was removed in v1.2.

A new lift was added next to the secret area with the shotgun in v1.2. It leads to a secret tunnel containing some armor bonuses and a box of shotgun shells.

An additional change was made in The Ultimate Doom - a switch was added in the room to the left of the start, which provides shortcuts to the center courtyard and exit. Interestingly, this change brought the level's total line count up to 666. Some additional things were added for deathmatch mode, including more barrels, a shotgun, and a berserk powerup.

A secret exit was added in the courtyard in the Xbox version of The Ultimate Doom. Activate the wall in the screenshot to be taken to E1M10: Sewers. This exit is not present in future ports of the game.

E1M2: Nuclear Plant
The door leading out of the secret courtyard was changed from a standard door in v1.0 to a single use door that never closes in v1.1. In v1.0, it was possible to permanently prevent players from accessing the courtyard from the inside, since the standard door trigger would automatically close it and the secret switch to open it can only be activated one time.

E1M3: Toxin Refinery
The method for activating the raising floor in the nukage pit changed between v1.0 and v1.1. In 1.0 there were actually two ways of raising the floor: walking over the rim of the pit and a switch on the far side of the room. The walkover triggers and switch were removed in v1.1 and a new switch was added inside the pit itself. This change may have been in response to a bug where it was possible to use both methods of activating the floor, or even the same one twice, if the game was saved and reloaded while the floor was in motion, which would result in the floor behaving unexpectedly.

The activation line for the door to leave the area with the yellow door was changed from a standard door to a switch activated door in v1.2. This has the advantage of animating the switch texture it uses, but means the door can no longer be closed manually.

E1M4: Command Control
This map originally featured a swastika in the northeast section of the map, as an homage to Wolfenstein 3D. It was flipped horizontally in v1.2 and changed to something resembling the Hebrew symbol "aleph" (&#1488;) in v1.25.

A deathmatch spawn was moved from the platform with the blue armor to the floor below in v1.6. This was done to prevent a bug where the trap door could be activated from up there without activating the rising floor. If the floor is activated after the door, it will rise too high and can trap players.

E1M5: Phobos Lab
The window in the yellow key room had its floor lowered in v1.25. It also had its impassibility flags removed for seemingly no reason, since the opening is still too short to pass through.

A new secret room was added in v1.2, which connects three formerly separate areas of the map together, and contains a pentagram-shaped teleporter back to the starting area of the map. This room also has a partial invisibility powerup and some health bonuses.

A deathmatch spawn was also moved from the outside courtyard with the supercharge and chainsaw to the secret room with the partial invisibility and teleporter.

E1M6: Central Processing
Versions prior to 1.666 featured a shotgun guy trapped outside the boundaries of the map.

The floor flat under the yellow doors was changed to match that of the surrounding sectors in v1.4.

E1M7: Computer Station
The door leading from the exit area was given an activation line on its back side so that players wouldn't get trapped there in deathmatch mode if they spawned before the door had been opened.

E1M8: Phobos Anomaly
The teleport lines were one-time use in v1.0, which would allow co-op players to walk onto the teleporter structure itself rather than teleporting if they crossed a line that had already been used. The lines were made repeated use in v1.1 and the room the players are teleported to was also increased in size.

A new secret switch was added to the western alcove that the barons of hell emerge from in v1.4, which lowers a lift and grants access to the starting area from the star. The extra computer area map in the star is also swapped for another shotgun pickup.

E1M10: Sewers
When the classic Doom games were ported to Xbox as part of the Collectors Edition of Doom 3, the programmers responsible decided to slip in a couple of ancient levels they made back in the day. The Ultimate Doom contains Sewers, an old map from 1994 that was originally made by David Calvin, the lead programmer on Doom 3 for Xbox. Completing this level sends you back to E1M1.

Unlike its counterpart in Doom II, Betray, this level is not in any future versions.

E2M1: Deimos Anomaly
The teleporter lines were given the block monster flag in v1.2 to prevent monsters from following you through the teleporters.

E2M2: Containment Area
The texture on the wall behind the raising stairs was changed to match the surrounding walls in v1.2.

The door on the alcove containing the red key was originally opened by a switch in the area where the blue key is found. In v1.2, it was changed to be locked with the blue key. This was likely done because it was possible to trigger the switch from the window outside of its room in v1.1, giving early access to the red key and bypassing an entire section of the level.

The frame of the yellow door leading to the room with the chaingun was modified in v1.2. A step was also added under the window that overlooks the area with the rocket launcher, intended to be used to fire through the window in deathmatch. On the other side of the window, small crates were added for the same reason.

Crusher activation lines were added inside of the crusher hall in v1.2. In v1.1, it was possible to trap players between the crushers in multiplayer.

A deathmatch only plasma gun was added in v1.2.

E2M4: Deimos Lab
E2M4 gains some multiplayer goodies in v1.2: A rocket launcher, six medikits, three backpacks, and a supercharge.

The switch texture for the lift near the start was changed in v1.2 to better match the surrounding walls.

One of the monster alcoves in the gray vine area originally had the wrong sector tag and it was possible for players to get trapped in there in v1.1.

It's possible to run into the partial invisibility secret as the door is lowering. In versions prior to v1.666, this would result in the player getting trapped.

E2M5: Command Center
The berserk powerup and cell charge near the start were given difficulty tags, previously they had none and would not appear in the level as a result.

There were originally two unclosed sectors making up the western ledge of the chaingun courtyard. They were merged into one closed sector in v1.2 and a vertex was moved to make this ledge perfectly symmetrical with the one on the eastern side.

One of the dead lost soul things, which are entirely worthless since lost souls no longer leave a corpse in any release of the game, was removed in v1.2.

E2M6: Halls of the Damned
Two shotgun guys in the fake exit room now appear on the easy skill levels.

E2M7: Spawning Vats
The two demons behind the blue door in were moved slightly in v1.2 for some reason.

A multiplayer-only rocket launcher and plasma gun were added in v1.2.

The switch object from the crate room to the blue key can be activated from both sides in v1.2.

E3M1: Hell Keep
In v1.25, the code used to lower the bridge with the shotgun was updated to copy from the lowest neighboring sector when changing its sector floor flat and type. This makes the bridge sections appear to sink beneath the blood, rather than sitting on its surface.

This fix also introduced a crash into the level: A sector in the outside area to the right of the entrance was mistakenly given the same tag as one of the dropping bridge sections. In previous versions, this would only cause this sector's texture to be changed when the bridge was lowered, which was merely a cosmetic issue. The code change in 1.25, however, makes this sector read garbage for its type since there are no lower sectors surrounding it, and the game will crash when the player steps into a sector with an unknown type. This was fixed in v1.666, which was the first registered version of the IWAD to be released after the code change.

E3M3: Pandemonium
Some medikits near the cell charge pack and the supercharge powerup were flagged to appear on the easy difficulties in v1.2.

E3M4: House of Pain
The alignment of the wall textures on the window looking into a secret area was corrected in v1.666.

E3M6: Mt. Erebus
Numerous things in this map, 49 in total, had no difficulty flags assigned to them in v1.1. These were corrected in v1.2. Most notably, two teleport destinations that were required to get out of a room were not flagged to appear in easy difficulties.

Several tree and stalagmite things were swapped in v1.2.

A portion of the outer wall of the blue box with the secret exit switch was thickened in v1.666. This was due to an oversight where it was possible to activate the switch from outside the box. Even with the wall thickened, it is still possible to hit the switch from outside the box.

E3M9: Warrens
In v1.25, the code used to lower the bridge with the shotgun was updated to copy from the lowest neighboring sector when changing its sector floor flat and type. This makes the bridge sections appear to sink beneath the blood, rather than sitting on its surface.

This fix also introduced a crash into the level: A sector in the outside area to the right of the entrance was mistakenly given the same tag as one of the dropping bridge sections. In previous versions, this would only cause this sector's floor flat to be changed when the bridge was lowered, which was merely a cosmetic issue. The code change in 1.25, however, makes this sector read garbage for its type since there are no lower sectors surrounding it, and the game will crash when the player steps into a sector with an unknown type. Unlike in E3M1, where this could only be encountered by loading the v1.2 registered IWAD into one of the beta engines, the erroneous sector tag in this level was not corrected until v1.9.

Thy Flesh Consumed
The Ultimate Doom contains a new nine level episode, created by a combination of talent at id and the Doom mapping community.

Title Screen
Shareware versions from v1.2 on add a black bar at the bottom of the title screen, which alerts the player that the shareware version was produced by id for free, and suggests a price of $9.00 for physical copies of it. The Ultimate Doom updates the screen with the new title.

Credits Screen
"Map Designer" was renamed to "Designer" and American McGee was added in v1.1. The mention that the game was made on NeXT computers was also removed for no apparent reason. The text was recolored to blue, making it harder to read. Curiously, while this image was used for all of id's releases until The Ultimate Doom, the 1.25 shareware version distributed with The Official Doom Survival Guide seems to use a transitional image, keeping the credits from v1.0, but recoloring them blue, and using a darker shade for the positions. The Ultimate Doom gives this screen a major overhaul: It adds Mike Abrash, bumps American McGee up to designer, and adds every level designer involved with Episode Four. The screen's background has been replaced with a brick wall and the text is mostly back to its original v1.0 colors, but new shading and lighting has been applied to it.

Ordering Screen
The text color was changed from red to bright green for readability in v1.1. Highlights were also added to the screenshot borders, and a topmost highlight was removed from the Doom logo. v1.4 updated this screen again to remove mention of the hint disk and add American Express to the list of accepted cards – this new text spills over onto the bottom screenshot. This screen has been removed from The Ultimate Doom IWAD.

Controls Screen
This screen also had its text color changed to green for readability. v1.666 finally adds the gamma correction key.

Status Bar
In versions prior to v1.2, the base status bar was actually composed of two graphics instead of one. This was a remnant of the pre-beta, where the right half of the bar could be replaced by the text feed.

Red Cross Removal
The version of The Ultimate Doom included in Doom 3: BFG Edition replaces the red crosses on the Stimpack, Medikit, and Berserk powerup with a red and white capsule, as had previously been done in the Xbox Live Arcade release of Doom II.

Menu Text
Two menu graphics were updated for Doom 3: BFG Edition, since the engine removes the screen size and detail options. The graphics used for these were replaced with ones that read gamepad and fullscreen.