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:
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.
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.
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.
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