A Beginner's Guide to creating levels for DOOM

Part 1


To do anything useful with a map, you must have an IWAD of the DOOM family game you want to map for. If you do not have an IWAD available, then the best way to obtain DOOM, DOOM2, HERETIC or HEXEN is through STEAM.

Note 2:
Never alter an IWAD directly.
Although most modern editors are set to prevent the editing of IWADs, I would advise to set the property of any IWAD to Read only as an additional safeguard.


Constructing and/or editing a PWAD for idSoftware games, such as DOOM, DOOM2, HERETIC, HEXEN or STRIFE, is a lot easier than doing the same for any of the latest games such as Doom3, Quake4, etc. A PWAD could consist of a just single map, also referred to as a level, or perhaps several levels.

The main differences from modern games are:

  1. we are dealing with a 2.5D engine and not a full blown 3D engine
  2. actors are done mainly with sprites, and/or models or Voxels as in GZDOOM
  3. textures are just straight forward images and do not require bumpmaps and/or shader scripts


To get a handle on the mapping process a certain amount of reading is required. I recommend to at least read these documents:

The idTech1 engine was build at a time when computers were just becoming affordable for the ordinary consumer. The operating system was DOS in various releases and CPUs ran at speeds of up to 100MHz. If a system had more than 640kB it was considered ultra advanced. With these constraints in mind, there was not much room into which a game such as DOOM could be squeezed. So the designers had to make a lot of compromises. As a result the programming was not exactly optimized and a few glitches were overlooked.

Right from the onset, because of its novelty and popularity, the DOOM program was hacked by some enterprising programmers. This eventually led to the editing utility DeHacked, which allowed the exe file to be modified and to the development of early map and lump editors, which allowed map construction and resource handling, many of which are listed here.

When the source code for the DOOM game was made available by idSoftware, there was no holding back and a flood of source ports became available. A source port is an improved DOOM/2 executable, with many improvments, modifications and bug fixes, to bring a better gaming experience. Over time, many ports have fallen by the wayside but were not forgotten, as many features of those early source ports were incorporated into new ones.

Today, the major DOOM source ports are ZDoom and the OpenGL version thereof GZDoom, and Eternity, VaVoom, Doomsday, EDGE, and Zandronum (formerly Skulltag), Chocolate DOOM, prBOOM, etc.

Because of the abundance of source ports, the number of map editors and lump editors, which can support them all, has dwindled. There are Doombuilder2 (DB2) which is no longer being maintained, it's extensions GZDoom Builder (GZDB) and GZDoom Builder - Bugfix (GZDB-BF), which are also no longer being maintained and the current Ultimate Doom Builder.

There are also Slade3, EUREKA and Deepsea on the map editor side.

On the lump management side there are Slade3, Deepsea and XWE.

The question may arise of 'Why?' one would want to use a source port. The simple answers is, that source ports, being developed fairly recently with modern tools, are more robust. Many glitches of the original engine have been fixed. Many additional capabilities have been incorporated, which in the case of ZDOOM is SCRIPTING and best of all DECORATE, which allows new monsters and/or weapons to be created, or in the case of ETERNITY a system of displaying complex structures with PORTALS.

But each source port has its own followers. The best way of finding out which source port to use is by trying them all out. Each one has something different to offer. May it be strict adherence to the original DOOM play or rendering in OpenGL eyecandy.

Part 2   Essential Tools and Resources
Part 3   First Steps - Editors
Part 4   Beyond the basics

It is quite heartening to realize that each day new gamers are added to the DOOM scene. For most gamers the greatest pleasure is constructing their own maps. On a personal note, I create maps strictly for GZDoom.

Have fun creating your own maps.

Kappes Buur
7 May 2012
updated March 2018