Doom Wiki
Advertisement

There are numerous bugs, limitations and oddities present in the Doom engine. For errors in map design, even those related to a specific item below, see the article about that map.

Note that playing with an unmaintained source port introduces additional bugs not listed here.

Key

This table classifies anomalies in a very broad way; see the individual articles for details.

  • Canonicity — A bug is verified only when a current or former id Software employee has called it a bug in a public forum. An unverified bug may still be undisputed if it is generally accepted as an error by the source port community (after years of playtesting and a stable consensus as to how to interpret the relevant code). If no existing secondary source labels the anomaly as verified or undisputed, then it is disputed.
  • Cause — The general category of underlying problem:
    • Most bugs are due to algorithms which fail to account for all possible inputs, apply conditional statements in an illogical sequence, or have unforeseen consequences in particular game situations.
      • A few of these arise from simple typos in the source code.
    • Improperly constructed linedefs, with orphaned tags or incorrectly placed textures, can also induce various strange behaviors.
    • The Doom engine includes few safeguards against overflow conditions.
    • Line-of-sight calculations, rendering algorithms, and the BSP tree are also susceptible to roundoff errors.
    • The engine imposes a number of static limits on Thing placement and map construction, which sometimes fix one problem by creating another.
  • Fatal bugs cause the engine to crash in vanilla Doom. Y* means that a crash is possible, but not inevitable. N* means that no crash occurs, but that rendering or character behavior may be sufficiently compromised that meaningful gameplay becomes impossible.
  • Fixed in 1.9 — Some bugs appear only in versions of Doom prior to v1.9.
  • A bug has a workaround if it can be avoided by reasonable compromises in map design. (For example, matching every linedef tag to at least one sector is reasonable; removing invulnerabilities from every level containing a sky texture is not.) S means that the bug can be avoided only by making one's map smaller or less complex.
  • A bug is a loophole if it can be abused to the player's advantage (especially during speedruns or deathmatches).
Phenomenon Canonicity Cause Fatal? Fixed in
1.9?
Workaround? Loophole?
(0,0) respawning bug Undisputed Algorithm N N N Y
AASTINKY and AASHITTY Undisputed Algorithm N N N N
Armor percentage rollover Undisputed Static limit N* Y S N
Barrel explosions which do no damage Undisputed N N N N
Barrel suicide Undisputed Algorithm N Y N Y
Blast damage has unlimited vertical range Undisputed Algorithm N N N Y
Broadcast packet meltdown Verified N* Y N
Bullet puffs do not appear in outdoor areas Algorithm N N N
Chaingun fires twice with only one bullet in it Undisputed Algorithm N N N Y
Crushed barrels leave behind a pool of blood Undisputed Algorithm N N Y N
Crushed monsters block player movement Algorithm N Y N N
Demo desyncing caused by bouncing Lost Souls Undisputed Algorithm N N N N
Demo desyncing caused by menu access Undisputed N N N N
Doubled screen melt after MAP30 text screen N N N N
Drawsegs overflow Undisputed Static limit N N S N
Elastic collisions with walls N N N Y
Fast doors make two closing sounds Undisputed Algorithm N N N N
Fast doors reopening with wrong sound Undisputed Algorithm N N N N
Flawed collision detection Undisputed Algorithm N N N
Frag count rollover N N N N
Gamma correction resets palette N N N Y
Ghost monsters
      All-ghosts bug
Undisputed
Undisputed
Algorithm
Overflow
N
N*
N
N
N
S
N
N
Hall of Mirrors effect (linedefs)
Hall of Mirrors effect (textures)
Undisputed
Undisputed
 
Linedef
N
N
N
N
S
Y
N
N
Health percentage hysteresis in sector type 11 N N N N
Hitscan attacks hit invisible barriers in large open areas N
IDCLEV idiosyncrasies N N N N
Invulnerability colormap bug Disputed N N N N
IRQ 2 does not work Verified Y
Items respawn with pickup flag off Verified N Y
Kill percentage flag used for -nomonsters and respawning Disputed Algorithm N* N N Y
Linedefs can be activated regardless of player's Z position Undisputed Algorithm N N N Y
Long wall error Undisputed Roundoff N N S N
Lost Soul charging backwards Disputed Algorithm N N N Y
Lost Soul clipping problems Undisputed Algorithm N Y N N
Lost Soul colliding with items Undisputed N N N Y
Lost Soul limit Undisputed Static limit N N N Y
Mancubus fireball clipping Undisputed N N N N
Map size limit (blocks)
Map size limit (integer overflow)
Undisputed
 
Static limit
Static limit
Y
N
N
N
S
N
N
N
Medusa effect Undisputed N* N Y N
Moiré error Undisputed N* Y S N
Monsters attacking across tall ledges Disputed Algorithm N N N N
Monsters fleeing Disputed Algorithm N N N
Monsters open locked doors Undisputed Roundoff N N N Y
Monsters stuck in doortracks, walls or hanging off lifts Undisputed Algorithm N N N Y
Monster targets not preserved in saved games
      Revenant tracers not preserved in saved games
      Spawn cube targets not preserved in saved games
Undisputed
Undisputed
Undisputed
N
N
Y*
N
N
N
N
N
N
Y
Y
Y
Moving platforms limit Undisputed Linedef Y N S N
Network game crashes with 3 or 4 players Verified Y Y N
Network play locks up when using a sound card Verified Y Y N
Noclip bug Undisputed N N N Y
Non-Newtonian motion of corpses Disputed Algorithm N N N Y
Ouch face Verified [1] Typo N N N N
Phantom fireball explosions Disputed N N N
Picked up a medikit that you REALLY need! Undisputed Typo N N N N
Player corpses walking Undisputed Overflow N* N Y N
Player stuck on ledge after restoring savefile N* N N N
Projectiles blocked by decorations Algorithm N N N Y
Projectiles explode on impact with "sky" Algorithm N N N N
Projectiles triggering linedefs Verified N Y N Y
PS/2 mouse bug Verified Y
Retriggering an open door after loading a savegame causes crash Verified Algorithm Y Y N N
Rocket passes through the player who fired it Disputed Algorithm N N N Y
Savegame buffer overflow Undisputed Static limit Y N S N
Savegame slots 5 and 6 corrupt other files Verified N Y N
Segfault/lightning flash near very tall structures Undisputed Overflow Y* N S N
Silent BFG trick Undisputed Static limit N N N Y
Skill level cannot be selected in some network games Verified N Y
Sky hack Undisputed Algorithm N N N N
Sky never changes in Doom II Undisputed Algorithm N N N N
Sleeping Sergeant of Doom II MAP02 Undisputed Typo N N N
Slime trails Undisputed Roundoff N N N N
Sludge Visplane not changing to other visplane in Doom 2 Lvl 13: The Factory when walked over Disputed N N N N
Some game options not preserved in saved games
      Lift heights not preserved in saved games
      Switches and lifts deactivated when restoring a saved game
Undisputed
Undisputed
Verified
N
N
N
N
N
Y
N
N
N
N
N
N
Sound cutoffs Disputed Static limit N N N N
Sound effects behave differently on level 8 Disputed Algorithm N N N N
Sounds changing pitch on slow computers N N
Spawn fog in wrong location Undisputed Typo N N N N
Spider paralysis Undisputed Algorithm N N N Y
Sprites flickering across ledges or lifts Disputed N N N N
Stairs that can be ascended, but not descended Disputed N N Y N
Status bar face hysteresis Disputed Algorithm N N N N
Straferunning Undisputed Algorithm N N N Y
Tag 666 idiosyncrasies Undisputed Algorithm N N Y N
Tag 667 idiosyncrasies Undisputed Algorithm N* N N N
Teleporters in Final Doom don't set the Z coordinate Undisputed Algorithm N N N N
Turning resolution is lowered when recording demos Undisputed Static limit N N N N
Tutti-frutti effect Undisputed Linedef N N Y N
Venetian blind crash Undisputed Overflow Y N N N
Visible sprites limit Undisputed Static limit N N S N
Visplane overflow Undisputed Static limit Y N S N
Voodoo doll Undisputed N* N Y N
Wallrunning Undisputed Algorithm N N N Y
Weapon sprite offset N N N N
Wrong sound for exit switches N N N N
Wrong sound origin for button "popouts" N N N N
Wrong sound origin for switch/button presses N N N N
Z_Malloc error Verified Y

See also

Advertisement