Difference between revisions of "Save game"

From DoomWiki.org

[unchecked revision][unchecked revision]
(Strife info)
m (Doom: split savegame→save game, don't depend on redirected title)
Line 9: Line 9:
  
 
* [[Moving platform heights not preserved in saved games]]
 
* [[Moving platform heights not preserved in saved games]]
* [[Retriggering an open door after loading a savegame causes crash]]
+
* [[Retriggering an open door after loading a save game causes crash]]
 
* [[Savegame buffer overflow]]
 
* [[Savegame buffer overflow]]
 
* [[Sector type 17 is disabled after loading a saved game]]
 
* [[Sector type 17 is disabled after loading a saved game]]

Revision as of 03:13, 8 February 2018

Under construction icon-yellow.svgThis article or section is a stub. Please help the Doom Wiki by adding to it.

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 PowerPC and x86), with few exceptions.

Doom

In the vanilla Doom games, save games are a single file per save, named doomsavN.dsg, 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.

Heretic

In Heretic, save games are a single file per save, like Doom, and named hticsavN.hsg, 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 strfsavN.ssg, 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 strfsav6.ssg 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.
  • current represents the current level of the save.
  • here is a copy of the current level, plus the player information (inventory, health, armor). This file does not appear in the strfsav6.ssg directory.
  • mis_obj is a copy of the mission objective text.
  • name 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:

  • mis_loc 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:

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.