John Romero’s Level Design Tips

Recently I’ve been doing some research on what makes a Doom level great from a gameplay standpoint. I wanted to go back to the Vanilla days and understand how the founding fathers of Doom level design did it.

Having played Ultimate Doom recently, I was captivated by the simplicity and seamless flow of E1’s techbase levels. Romero’s Knee-Deep in the Dead levels breathe layout, something not found for the most part in Sandy Petersen’s E2 levels, though they get better (E2M6: Halls of the Damned is a classic) as the player progresses through The Ultimate Doom’s The Shores of Hell.

Below is a compilation of Romero’s level design tips, including some insights from his “Devs Play” playthrough of E1M1: Hangar.

Level Design Tips

Always change floor height when changing floor textures

Nobody likes the basic square rooms with homogeneous ceiling heights. Varying floor and ceiling heights for different rooms are more pleasing to the eye.

E1M1: The small courtyard with blue floor texturing, lowered floor and raised ceiling

Use special border textures between different wall segments and doorways

This is extremely important and distinguishes amateurish levels from high quality maps. Texturing shouldn’t be treated as applying wallpaper to floors, ceilings and walls, but rather as placing different materials on a scene (rock, stone, metal, wood, etc).

E1M2 (Nuclear Plant): A metal textured beam separates 2 walls with different wall textures. Without a transition texture the wall transition doesn’t look smooth. John Romero is pretty consistent with this motif throughout his levels

Be strict about texture alignment

All mappers should be obsessive about texture alignment, except in certain situations, for example – misaligned textures on a wall that leads the player toward a secret area.

Use contrast everywhere in a level between light and dark areas, cramped and open areas

Contrast also applies to sectors with different floor and ceiling heights.

Make sure that if a player could see outside that they should be able to somehow get there

E1M1: Overlooking the Blue Armor from the small courtyard. This outdoor area is accessible via a secret entrance

Be strict about designing several secret areas on every level

If you build a map without at least one secret area, is it even a level?

Make the level flow so the player will revisit areas several times so they will better understand the 3D space of the level

Create easily recognizable landmarks in several places for easier navigation

Golden rule of level design – the “Horseshoe” layout

Romero mentions adopting a non-linear level design paradigm. The rule is simple, according to the Gamasutra articlemake sure the player is likely to look at every wall of a room. This wouldn’t have been possible had the level presented the player with a linear path. This pattern is common in every first level of Doom, Hexen and Quake as well.

Horseshoe pattern in the beginning of E1M1: Hangar. The player is forced to explore 75% of the room

Valve Software also produced some similar thought-leadership in this area documented in their developer portal as the Loop layout element. In this layout, the “Loop” guides the player back to a previously explored area of the level, and while maintaining strict linearity, provides the illusion of non-linearity and progression.

A symbolic diagram of a loop - it begins and ends in the same room.
The Loop element

Build your first level last

Romero started E1M1 early in the development of Doom, but was the last level that he completed. In this way he was able to use his learnings from the design of all other Doom levels and apply them to the first. In this progression, the first couple of levels are the weaker ones (sans the first), middle ones get better, and culminating with the stronger levels.

Don’t constrain player movement (aka don’t let detailing get in the way of gameplay)

Tom Hall wanted to detail E1M1 with movable chairs, but the chairs ended up interfering with smooth player movement. When mapping, consider the trade-off between focusing on detailing versus pure gameplay mechanics. The former can be sacrificed for the sake of gameplay.

Use fullbright textures

Use fullbright textures when appropriate. Fullbright textures ignore the surrounding light in a scene and render at full brightness to create the appearance of emitting their own light.

The light source on the left is rendered with a fullbright texture and provides the illusion of self-illumination. In a dark room, light sources can orient the player

If you want to see out Romero’s playthrough of E1M1, where he offers his insightful level design tips, check out the video below: