Subtle Details in DOOM
While writing an implementation of DOOM, I noticed a pile of little details about DOOM that either I never knew existed or I just didn’t stop to appreciate.
It seems to me that games, especially good games, will have a whole bunch of little features that are just there for the sake of fun or depth. I don’t always consciously notice the details but they are there. Game designers bend the rules of reality to provide entertainment or add strategy or simplicity or artistry or whatever.
This is an unordered collection of things I discovered or came to appreciate even more after examining DOOM under a microscope. I’ve linked several videos from decino’s youtube channel which I wasn’t aware of at the time but they are a great reference. Enjoy!
Weapon Mechanics
Each weapon in DOOM has subtle behaviours that affect how players use them. I played DOOM for hours as a kid, and off and on as an adult too, and never noticed these behaviours! Maybe I’m just having too much fun to notice the subtlety. Anyway, here’s what I learned:
- The chaingun fires an even number of shots. Always. I had no idea.
- The pistol is 100% accurate on first fire. If you hold the attack button it will lose accuracy on subsequent shots so an experienced player will release the attack button between shots.
- Bullets (and BFG traces) have a maximum distance. You cannot hit a target that is more than 2048 units away! While this was likely done for technical reasons it’s also an interesting game mechanic where map designers force you to use different weapons (rockets) at long range.
- The plasma gun does not cause the player to light up. This only matters in multiplayer or if you have some kind of third person view but… why?
- The mechanics of the BFG are complex. The ball does some damage but most damage comes from tracers that start when the BFG ball collidies with something. The tracers start at the position of the player when the collision happens and go at the angle the ball was travelling - regardless of where the player is looking. Those tracers also only go a limited distance. Sound complex? This video can explain it much better. What is impressive is how the mechanics of the weapon drive the play style and design of maps - especially slaughter maps. To use the BFG effectively, you want to be near your targets to make the tracers hit them, you want the direction of the ball facing the enemies, and you want to consider how long between you fire and when the ball collides. It gives rise to all kinds of interesting gameplay.
These are just things I learned. Checkout decino’s analysis if you want to learn more.
Monster Behaviour
DOOM was famous at the time for allowing - even encouraging - you to get monsters to fight each other. Here are a few things I learned (and see decino’s video for more):
- A monster will not retarget immediately. Depending on the monster, it could take 200-600 tics (5.7 to 17 seconds). Except arch-viles - they will retarget immediately as soon as they are hit.
- There are lots of special cases (like above!). Spider mastermind and Cyberdemon don’t take splash damage from rockets or barrels or arch-vile fire. Barons and Hell Knights won’t infight - unless you manage to get them to explode barrels near each other.
- Not all Revenant rockets track you. This blew me mind. My memory of playing DOOM is that all Revenant rockets track you but it’s not true.
- Sound propagation actually passes the first sound blocking line but stops at the second. It’s almost like an off-by-one error but perhaps it was intentional. Apparently I wasn’t the only one confused by this.
- Monster’s on stairs is more complex than I realized too. I didn’t even know that monsters required a certain width of step!
Experienced DOOM mappers will have probably noticed lots of these things and more!
Forward Falling Enemies
Sometimes when you kill and enemy who is a platform above you they will sometimes fall forward. Why was this added? My guess is that sometime during playtesting of E1M1, someone thought it would be cool if the imps fell off the platform toward you. Who knows the real reason.
This is a small detail, and I was conscious of it before, but perhaps it never occured to me that this is purely an aesthetic thing. It doesn’t change gameplay but perhaps adds a little excitement and variety to the game to make it just that little bit more engaging.
For reference, the monster damage code:
// make fall forwards sometimes
if ( damage < 40
&& damage > target->health
&& target->z - inflictor->z > 64*FRACUNIT
&& (P_Random ()&1) )
{
ang += ANG180;
thrust *= 4;
}
“Leaky” Radiation Suits
Leaky radiation suits are an unpopular feature of DOOM well documented on the doomwiki. I guess I never played DOOM enough to encounter it.
The original code is not easy to read but basically even if you have a radiation suit, there is a 5/256 chance every .89s1 that you may take damage from the floor.
Render Hacks
Fake Contrast
It never occured to me that vertical and horizontal walls facing north/south and east/west have slightly different shading. This is called fake contrast and although a simple effect and very subtle, it makes scenes look much more alive.
Sky Height
A novice DOOM mapper would know this but I didn’t. DOOM will not draw upper textures if both the sectors on both sides of the line have the skybox. This allows you to create walls of differening height against the sky like this (image credits to the doomwiki):
Mostly this is fine in game because you are on the ground looking up at the sky. In E3M6, there is a spot where you get high enough that the effect kind of breaks:
Fake Floors
A skilled DOOM mapper would know that if you create a “pit” but don’t put lower textures on the walls, DOOM will fill in the gap with the surrounding sector. This is commonly called a fake floor and it’s used in the Final DOOM TNT and Plutonia wads to create “deep water” or water that the player can step into where it appears the player is stepping into the floor.
In modern wads, fake floors are often used to hide monsters and, combined with a quirk in moving floors, make them appear immediately when the player enters a room (like speed of doom).
Bridges
A very skilled DOOM mapper will have tried to create a fake bridge or 3D bridge. It’s pretty amazing that, with care, a mapper can construct a bridge that the player can walk over and under - with some limitations.
Oh yeah, and this works in the original 1993 DOOM! It was discovered in 1996.
Closing
That’s about what I can think of at the moment. Honestly, I learned so much over the course of the 9 months or so I was working on this that I arrived at a whole new appreciation of DOOM. Can you imagine 6 people making those thousands of tiny decisions all within a single year? Impressive.
Footnotes
-
DOOM only applies damage from floors every 31 tics (every .89s) so, you may be like me, and have never experienced this effect or perhaps didn’t notice because so many monsters were attacking you anyway. ↩