Overview
Note that every single field here is optional unless the game uses a non-standard IWAD; all of the typical games have well-tested defaults for every option.
The following fields are present in the "game_info" structure:
The following fields are present in the "game_info" structure:
"starting_health"
Changes the amount of health that the player starts with when respawning, or on a new game.
The default is 100 for all games.
Example:
The default is 100 for all games.
Example:
"starting_health": 200
"starting_armor"
Changes the amount of armor that the player starts with when respawning, or on a new game. This is handled as if the player picked up this many armor bonuses immediately when spawning, so it will always be the weakest available armor in your game.
The default is 0 for all games.
Example:
The default is 0 for all games.
Example:
"starting_armor": 100
"pausepic"
Sets the background graphic that will be shown when the user opens the Main Menu. This should either be null, or a string that corresponds to an (ideally) 320x200 graphic lump present in one of the loaded WAD files.
If set to null, no background image will be drawn and the last frame of gameplay will be shown behind the Main Menu.
Examples:
If set to null, no background image will be drawn and the last frame of gameplay will be shown behind the Main Menu.
Examples:
"pausepic": null
"pausepic": "INTERPIC"
"goalmenuflat"
Sets the background graphic that gets used for the Goals and EnergyLink menus. This should either be null, or a string that corresponds to a Doom Flat present in one of the loaded WAD files.
If set to null, neither of these menus will draw a background of their own, either reusing the "pausepic" background or showing the last frame of gameplay.
Examples:
If set to null, neither of these menus will draw a background of their own, either reusing the "pausepic" background or showing the last frame of gameplay.
Examples:
"goalmenuflat": null
"goalmenuflat": "SLIME01"
"levelselect_music"
Sets the background music that plays on the level select screen, if the player has the "Play Music on Level Select" option enabled. This should be a string that corresponds to a music lump in one of the loaded WAD files.
Examples:
Examples:
"levelselect_music": "D_E1M1" // Doom 1993
"levelselect_music": "D_RUNNIN" // Doom II
"levelselect_music": "MUS_E1M1" // Heretic
"obituaries"
A list of key-value pairs containing all obituary messages, used as the death "reason" when a player with DeathLink enabled sends a death. The key should be a comma-separated list of obituary tags, and the value should be the message shown to the player and sent to the server.
The literal string "%YOU%" inside of the message will be replaced with the player's name.
For more detailed information about what obituary tags are available, see the below section on Obituaries and Obituary Tags.
Example:
The literal string "%YOU%" inside of the message will be replaced with the player's name.
For more detailed information about what obituary tags are available, see the below section on Obituaries and Obituary Tags.
Example:
"obituaries": { "SOURCE_DOOMEDNUM_3004": "%YOU% was killed by a zombieman.", "SOURCE_DOOMEDNUM_3003,MELEE": "%YOU% was ripped open by a Baron of Hell.", "SOURCE_DOOMEDNUM_3003,MISSILE": "%YOU% was bruised by a Baron of Hell.", "SUICIDE,INFLICTOR_MOBJTYPE_33": "%YOU% should have stood back." // Many other entries removed for brevity }
"ammo"
An array of objects, each containing "name" and "max" fields. The name field is mostly used as a reference for other game info structures, but the max field directly controls the player's default maximum ammo capacity for that ammo type.
NOTE: For DOOM 1993 and DOOM II, the positions of Energy Cells and Rockets (or whatever ammo types replace them) are inverted. Energy Cells are the third ammo type, and Rockets are the fourth.
Example:
NOTE: For DOOM 1993 and DOOM II, the positions of Energy Cells and Rockets (or whatever ammo types replace them) are inverted. Energy Cells are the third ammo type, and Rockets are the fourth.
Example:
"ammo": [ // Ammo for Doom 1993 and Doom II { "name": "Bullets", "max": 200 }, { "name": "Shells", "max": 50 }, { "name": "Energy Cells", "max": 300 }, { "name": "Rockets", "max": 50 } ]
"weapons"
An array of objects, each containing a "name" field, and optionally "ammo_type" and "starting_ammo" fields. The ammo type and starting ammo fields, used together, will give the player that much ammo when respawning, if they both have that weapon available and their ammo total is less than that value.
The name field, while currently unused, may be used in the future for a weapon carousel display when switching weapons.
Example:
The name field, while currently unused, may be used in the future for a weapon carousel display when switching weapons.
Example:
"weapons": [ // Weapons for Doom 1993 and Doom II {"name": "Fist"}, {"name": "Pistol", "ammo_type": "Bullets", "starting_ammo": 50}, {"name": "Shotgun", "ammo_type": "Shells", "starting_ammo": 30}, // Remaining entries excluded for brevity ]
"monsters"
An object containing the keys "small", "medium", "big", and "boss"; each key's value being an array containing an unlimited number of doomednums. Any or all of these keys may be omitted. This is used for Monster Rando to control which monsters are randomized by it, and to group monsters together by relative toughness.
NOTE: An array with only one monster type is still useful; that monster may still be shuffled around the level in settings that allow for it. A monster that's been omitted entirely will not be subjected to Monster Rando at all.
Example:
NOTE: An array with only one monster type is still useful; that monster may still be shuffled around the level in settings that allow for it. A monster that's been omitted entirely will not be subjected to Monster Rando at all.
Example:
"monsters": { // Monsters for Doom 1993 "small": [3004, 9, 3001], // Zombieman, Shotgunner, Imp "medium": [3002, 58, 3006, 3005], // Demon, Spectre, Lost Soul, Cacodemon "big": [3003], // Baron of Hell "boss": [16, 7] // Cyberdemon, Spider Mastermind }
"pickups"
An object containing the keys "small", "medium", and "big"; each key's value being an array containing an unlimited number of doomednums. Any or all of these keys may be omitted. This is used for Pickup Rando to control which pickups are randomized by it, and to group pickups together by relative usefulness.
Example:
Example:
"pickups": { // Pickups for Doom 1993 and Doom II "small": [2015, 2014], // Health bonus, Armor bonus "medium": [2011, 2008, 2007, 2047, 2010], // Stimpack, 4 shotgun shells, Clip, Energy cell, Rocket "big": [2048, 2046, 2049, 17, 2012] // Box of bullets, Box of rockets, Box of shotgun sells, Energy cell pack, Medikit }
Obituaries and Obituary Tags
Obituaries use a set of "obituary tags" to associate the actions that cost the player their life with an associated message. For a message to be considered, all of its tags must match the player's death. From all such messages, Archipelago Doom will attempt to pick the most fitting message, usually the one with the most tags.
When the extra parameter -apdebug is enabled, the console will show the obituary tags associated with every death the player experiences. This can help when determining what tags to use when writing obituary messages.
The following obituary tags are supported:
When the extra parameter -apdebug is enabled, the console will show the obituary tags associated with every death the player experiences. This can help when determining what tags to use when writing obituary messages.
The following obituary tags are supported:
- "SOURCE_DOOMEDNUM_i", "SOURCE_MOBJTYPE_i": The object responsible for the player's death was of the given doomednum i, or mobj type i. Using the doomednum is preferred, but not always possible, e.g. if the object can't normally be placed in the editor.
- "INFLICTOR_DOOMEDNUM_i", "INFLICTOR_MOBJTYPE_i": As above, but for the exact object being used to harm the player, such as a projectile, barrel, etc.
- "MELEE": The attack that killed the player was a melee (or hitscan) attack.
- "MISSILE": The attack that killed the player was a missile attack.
- "SPLASH": The player was killed via splash damage, and not a direct hit.
- "TELEFRAG": The player was instantly killed by something teleporting or spawning on top of them.
- "POSTHUMOUS": The object responsible for the player's death was already dead at the time.
- "NO_SOURCE": Extremely rare. The player was killed by a missile that had no source object.
- "ENVIRONMENT": The player was killed by some sort of in-level damage, such as a crusher or damaging floor.
- "CRUSHER": The player was killed by crushing damage.
- "FLOOR_s": Only for environment deaths. The player died in a sector with the given floor graphic s.
- "CEILING_s": Only for environment deaths. As above, but for the ceiling graphic.
- "SUICIDE": The player was responsible for their own death.
- "WAS_CHICKEN": Heretic only. The player was a chicken at the time of death.
- "CHEAT": Heretic only. The player died by typing IDDQD.