Save game

A save game in the Doom engine takes a snapshot of the current game state and saves it to one or more files, allowing the player to resume precisely at the point the save was performed. These files are not usually portable across multiple versions, source ports, or CPU architectures (such as between and ), with few exceptions.

Doom
In the vanilla Doom games, save games are a single file per save, named, where N is a numeral of 0-5 depending on the position of the in-game save menu.

Doom has a few engine bugs that prevent save games from working completely as expected. A common manifestation occurs in MAP24: The Chasm (Doom II), where unsuspecting players saving on the narrow ledges would find their save games useless after reloading.


 * Moving platform heights not preserved in saved games
 * Retriggering an open door after loading a savegame causes crash
 * Savegame buffer overflow
 * Sector type 17 is disabled after loading a saved game
 * Some game options not preserved in saved games
 * Spawn spots not preserved in saved games
 * Targets not preserved in saved games

Heretic
In Heretic, save games are a single file per save, like Doom, and named, where N is a numeral of 0-5 depending on the position of the in-game save menu.

Strife
Strife uses multiple files per save, to facilitate loading and saving the state of several levels, since the player can return to any level during progression of the game. Each save slot is therefore stored in its own directory, named, where N is a numeral of 0-6, the first six (0-5) representing the six slots of the in-game menu, and the seventh (6) is used as a temporary area while playing the game. Whenver a game is loaded, or started anew, the directory is overwritten with data for the present play through, saving after each level change, and is copied to one of the other directories when an explicit save is requested.

In each directory are several files for many purposes:
 * Plain-number files (1, 2, ..., 38) represent the level number and saves the state of all map objects in that level.
 * represents the current level of the save.
 * is a copy of the current level, plus the player information (inventory, health, armor). This file does not appear in the directory.
 * is a copy of the mission objective text.
 * is the name of the player or save slot.

Strife: Veteran Edition uses the same save directory structure, although the save files themselves are incompatible with vanilla Strife. It adds one additional file to this directory:
 * is a special text file describing mission objectives to be highlighted on the automap.

Like other games, Strife has a few engine bugs that affect save games:
 * Monsters reset to normal when loading a savegame
 * Overwriting a Strife save game can cause invalid game state
 * Strife savegame target loading glitch
 * Strife savegame tracer loading glitch

Source port compatibility
Most source ports expand upon the save game format, adding new features and fixing bugs of the original, disregarding compatibility with the vanilla engines. One notable exception is Chocolate Doom, which maintains cross-compatibility with saving and loading vanilla-format save games, even on differing CPU architectures.