Turns out Doom was randomly generated all this time and you never knew [Update: video added]

Okay, so the original Doom isn't a procedurally generated rogue-like, obviously. But it does use a 'random number lookup table' to control certain aspects of the game. Jonathan Michael Thomas Dowland, a senior Software Engineer, played with it to see what happened.

This, according to Jonathan, is how it works, using the original version of the game: "Doom has a fixed 256-value random number table from which numbers are pulled by aspects of the game logic". Apparently, it uses this table to save system resources, but by hacking it you can replace the values with a fixed number (he chose either 0x00 or 0xFF) and strip out all variation to create an "entirely deterministic" Doom.

[Update: Jonathan's made a video showing what happens if you replace all the random numbers with zeros]

So what does it affect? Well, for starters, the famous screen melting flourish you get between levels becomes a plain line wipe because the randomness was generated using figures from the table. Also relying on the variation introduced by the table are the noises monsters make as they die. With only a single value only a single sound is played per creature category. Other noises are also affected, depending on the replacement number, so that creatures either never make an idle noise, like breathing, or they do it all the time, creating what Jonathan calls "a sort-of monster drone" that's "quite overwhelming with even a small pack of monsters". Another area where different numbers have different affects involves strobing lights within levels. In one case the lights are effectively deactivated, and in the other they "strobe like crazy".

Almost every critical area of the game seems to be affected by tampering with the random table. Weapon spread is eliminated, making shotguns and chain guns fire like sniper rifles (but revealing that damage is a function of spread so they don't become even more deadly). Monsters attack more frequently for example, or stick to one attack regardless of conditions - a ranged attack even at close proximity is the example given. Creatures sometimes ignore the player totally, walking in circles while the in-fighting - triggered if one bad guy accidentally hits another - becomes something that that happens all the time, or never at all. Percentage-based stuff also goes nuts, with Jonathan's example of super hell slime's 2.6% chance of damage while wearing a radiation suit being rounded up to 100%.