Command line argument

Doom and its sequels were originally implemented in MS-DOS, which employed a  command line interface. In such an environment, the user starts up the program by typing the name of the executable file (e.g. doom or doom2) followed by any of various  switches which set game options, start a multiplayer game, load a PWAD, record or play back a demo, or otherwise configure that session of play.

Not all command line arguments are available in all source ports, or even in all versions of vanilla Doom (for example, the Nightmare! skill level was not added until version 1.2). Furthermore, many source ports now use GUI interfaces, thereby requiring this configuration information to be entered in a rather different manner. Certain source ports, such as PrBoom, allow the use of batch files for entering command line arguments.

A few of the options listed here are also accessible while the program is running, via in-game menus (e.g. -loadgame) or cheat codes (e.g. -warp).

Development options
The following are special command line options which were used during the development of Doom and are not useful to most people:

Unix port
The following options are understood by the Unix ports of Doom:

Source ports
The following extra options are available in certain source ports:

Using a response file
A response file can be used to store command line arguments to launch a Doom engine-based game with. To use one, launch the game with the argument @. For example, to use the file "response.txt", type:

doom @response.txt

The file format of these files is simply one parameter per line with a carriage return to terminate the line. Each parameter is typed exactly as it is typed on the command line. A parameter can be "commented out" by modifying its name to that of an invalid parameter. One way to do this is to place a "|" between the "-" and the actual option name (e.g. "-|warp").