::|CONTENTS
- Doom on BotB
- How to Play
- Tools and resources
Doom is a popular FPS (first person shooter) video game, released in late 1993 for DOS PC's. Its tech quickly gained popularity, and as such it has become one of the most ported games of its era (or, to quote John Linneman, "the violent equivalent of 'Hello World'").
The source code for this game's engine was publicly released in 1997, and with it spawned several different projects (
source ports) that have attempted to make the game run on modern (or old) operating systems. With it came attempts to enhance or add more features to the base engine (an example of this would be
BOOM, another popular example would be GZDoom).
The PC versions have all game data contained in a single file, the WAD file. There are two types of WADs: PWADs and IWADs. IWADs are WAD of the original commercial games released for the Doom engine, such as Doom, Doom II, Hexen, and Heretic. PWADs are WADs made by hobbyists (and BotBrs here) that include their own maps/graphics/sounds that can be used alongisde or instead of those found in the IWAD.
The most commonly-used IWAD (even outside of BotB) is DOOM II's DOOM2.WAD. Doom II features more weapons, enemies and map slots than its predecessor, and as such has a lot of readily available support. That said, the original Doom (and Ultimate Doom) have some features that Doom II does not - an episodic structure, some textures,
some unique map-specific behaviors, etc. For these reasons, Doom II is not strictly backwards-compatible with Doom, despite being very similar.
Doom on BotB
Doom entries on BotB are generally single-player maps for either Doom or Doom II. WADs may also include (unless stated otherwise in a bitpack)
custom music or custom graphics to be used in the map(s).
Submitted levels under this format should be playable with the latest version of the vanilla implementation, meaning it should run with the original executables, or a source port that's highly compatible (such as
Chocolate Doom, a source port that seeks to replicate everything about the original executable).
Other source ports (such as
PrBoom+) can be used at your own discretion, although you should not rely on them too much given that a lot of them are limit-removing (Doom II has a limit of 256 walls and 128 floors (visplanes) visible at all times, and going above would crash the engine - source ports either increase these limits, or outright remove them to make room for more complex maps), or have features that break vanilla compatibility in some ways (e.g. jumping, mouselook). Limit-removing source ports provide compatibality settings to try and mimic quirks and behaviors of the original executables, but they may not be fully accurate - test your maps with either the DOSBox version or Chocolate Doom first!
Submissions should include the IWAD to be used by the player and the map(s) that have been replaced (if different from E1M1/MAP01). Note that players might opt to play on difficulty levels that are not Ultra-Violence, if there's a specific difficulty level that your map is balanced around (or if there are no differences between difficulty levels) it may be wise to include this in the description.
How to Play
You should find your own way to source the IWADs stated in the bitpack (usually this is DOOM2.WAD). You can (legally) get this by buying Doom II (or any of the other relevant DOOMs) on one of the many online gaming storefronts today. You probably should not use the source port the purchased game uses nowadays, unless it's the DOSBox version (in which case it's probably one of the most accurate way to play WADs submitted to this format).
If you don't have access to the DOSBox versions of the game, you can still take the IWAD from the commerical versions and use it with a source port such as Chocolate Doom or PrBoom+ - while not 100% accurate, it's a very good modern way to work with vanilla Doom.
Once you have your method of choice set up and running, the PWADs available on BotB can be played by including them in the relevant command-line arguments. The following examples assume a PWAD called FOO.WAD to be played with Doom II, starting on MAP07.
Vanilla executable via DOSBox
doom2.exe -file FOO.WAD -warp 7
Chocolate Doom
chocolate-doom.exe -iwad DOOM2.WAD -file FOO.WAD -warp 7
PrBoom+ and DSDA-Doom
prboom-plus.exe -iwad DOOM2.WAD -file FOO.WAD -warp 7 -complevel 2
Complevel should normally always be 2 for Doom/Doom II WADs (this reflects engine version 1.9). Alternatively glboom-plus.exe may be used, which provides a more efficient but less accurate hardware-based renderer.
DSDA-Doom has the same command-line format (with a different .exe, obviously).
Tools and resources
Source ports
Chocolate Doom, a vanilla-accurate source port of Doom
Crispy Doom, a fork of Chocolate Doom that removes the static limits and adds a few other quality-of-life improvements
PrBoom+, a reasonably-accurate source port with modern quality-of-life features (e.g. high resolution, 60FPS+ rendering)
DSDA-Doom, a continuation of PrBoom+ with even more features
WAD editors
Eureka, a cross-platform Doom map editor
Doom Builder, a Doom map editor for Windows
GZ Doom Builder, a fork of Doom Builder that adds many more editor features while still supporting vanilla map formats
Ultimate Doom Builder, a fork of Doom Builder and GZDoom Builder that adds even more features. As of 2022, it's the only Doom Builder fork still receiving regular updates.
SLADE, a cross-platform WAD editor with graphic/music replacement capabilities. If you want to add custom graphics to your WAD, you basically have to use this.
Information
Doom Wiki, a wiki for Doom-related information
boomref.txt, a comprehensive reference of all of Boom's additional mapping features
A very thorough Ultimate Doom Builder tutorial
How to add custom textures with SLADE
Doom
Ultimate Doom
Doom II