Demo

A demo is a recording of a game session that can be played back using the game engine. Internally, it is a sequence of tic commands, keeping track of just the input control states during each frame. Thus, a demo is much more compact than a full video recording would be.

Built-in demos
If no game is begun immediately when launching vanilla Doom (either from the in-game menus or by using command line arguments to specify a starting level or external demo), three built-in demos soon begin to play repeatedly, evoking an arcade game. The demo levels are: When a GUI launcher, such as the Doom95 front end, is used to start the game, the launcher usually warps to a selected level and the built-in demos are bypassed. They can still be viewed, however, by choosing END GAME from the appropriate menu.

The built-in demos are stored in lumps in the IWAD file named DEMO1, DEMO2, and DEMO3. A PWAD can replace a built-in demo by including a lump with the same name, although an engine crash often results if the new demo is incompatible (see LMP).

Ultimate Doom plays the same three built-in demos as Doom, along with a fourth one called DEMO4 which takes place in E4M2: Perfect Hatred.

Final Doom contains the following built-in demos:

Automap mode cannot be used while a built-in demo is playing.

Player demos
Players can record demos of their own game sessions. This is done using the -record  command line argument, which places the recording in a file named  .lmp in the Doom program directory.

A recording can subsequently be played back using the -playdemo  command line argument, where  .lmp is the name of the recorded file.

This recording facility allows players to compare their skills in single-player mode (see Speedrun). It is also possible to record multiplayer games.

Demos can usually be played back only with the source port used to create them. See LMP for additional details.