Playing original Doom levels¶
Beside the custom scenarios (original ViZDoom nomenclature)/environments (Gymnasium/Open AI Gym nomenclature) original introduced with ViZDoom and many user-created. It is possible to play the original Doom/Doom 2/Freedoom/Freedoom 2 levels as well.
Because we cannot provide original Doom’s and Doom’s 2 levels, in order to play them you need to have original Doom or Doom 2 WAD files. You can get them by purchasing the original game from Steam or GOG. You can then place the doom2.wad and doom.wad files into your vizdoom package directory (same directory as vizdoom(.exe)).
Configuration¶
All scenarios/environments based on original Doom levels use the same configuration file.
STATE/OBSERVATION Full Doom hud is rendered with in-game messages are rendered. As it contains all information about health, armor, ammo, keys, etc., no additional game variables are included in the state by default. Additionally the automap and audio buffers are enabled as a part of the state. By default, the original Doom resolution of 320x240 is used.
ACTION SPACE The action space includes all the buttons available in the original Doom, such as movement, shooting, weapon switching, etc.
ATTACK- shootSPEED- run (move faster)STRAFE- strafe (move sideways)USE- use (open doors, activate switches, etc.)MOVE_RIGHT,MOVE_LEFT,MOVE_BACKWARD,MOVE_FORWARD- move in the corresponding directionTURN_RIGHT,TURN_LEFT- turn in the corresponding directionSELECT_WEAPON1,SELECT_WEAPON2, …,SELECT_WEAPON7- select the corresponding weapon (if available)SELECT_NEXT_WEAPON- select the next weapon in the inventorySELECT_PREV_WEAPON- select the previous weapon in the inventory
REWARDS The reward structure is simgple, 1 is assigned for reaching the end of the level, and 0 otherwise. This means that the agent receives a reward of 1 only when it successfully completes the level, and receives a reward of 0 for all other actions and states.
You can modify the reward structure by using ViZDoom’s built-in reward shaping features, such as assigning rewards for picking up items, killing enemies, or taking damage. See:
Convention of environment names in Gymnasium¶
The naming convention of original Doom levels environments is as follows:
"Vizdoom<Game><Map>-S<X>-v0".
Where <Game> is Freedoom, Freedoom2, Doom or Doom2, and S
S1- VERY EASY, “I’m Too Young to Die”S2- EASY, “Hey, Not Too Rough”S3- NORMAL, “Hurt Me Plenty”S4- HARD, “Ultra-Violence”S5- VERY HARD, “Nightmare!”
For example:
"VizdoomDoomE1M1-S1-v0"environment uses original Doom 1 E1M1 and skill (difficulty) level 1 (VERY EASY, “I’m Too Young to Die”)"VizdoomDoom2MAP01-S3-v0"environment uses original Doom 2 MAP01 level with skill level 3
Using original Doom levels with Original ViZDoom API¶
To play original Doom levels using the original ViZDoom API, you can use the following configuration file as a base:
Python example:
import os
import vizdoom as vzd
game = vzd.DoomGame()
game.load_config(os.path.join(vzd.scenarios_path, "doom.cfg")) # or doom2.cfg, freedoom1.cfg, freedoom2.cfg
game.set_doom_map("E1M1") # see list of map IDs below
game.set_skill_level(1) # or 2, 3, 4, 5
Configuration file:
Doom: doom.cfg
Doom 2: doom2.cfg
Freedoom: freedoom1.cfg
Freedoom 2: freedoom2.cfg
Original Doom 1 levels¶
The list of all original Doom 1 levels and their corresponding ViZDoom environment names:
Episode 1: Knee-Deep in the Dead¶
Map ID |
Gymnasium Environment Name |
Level Name |
|---|---|---|
|
|
Doom 1 E1M1: Hangar |
|
|
Doom 1 E1M2: Nuclear Plant |
|
|
Doom 1 E1M3: Toxin Refinery |
|
|
Doom 1 E1M4: Command Control |
|
|
Doom 1 E1M5: Phobos Lab |
|
|
Doom 1 E1M6: Central Processing |
|
|
Doom 1 E1M7: Computer Station |
|
|
Doom 1 E1M8: Phobos Anomaly |
|
|
Doom 1 E1M9: Military Base (Secret level) |
Episode 2: The Shores of Hell¶
Map ID |
Gymnasium Environment Name |
Level Name |
|---|---|---|
|
|
Doom 1 E2M1: Deimos Anomaly |
|
|
Doom 1 E2M2: Containment Area |
|
|
Doom 1 E2M3: Refinery |
|
|
Doom 1 E2M4: Deimos Lab |
|
|
Doom 1 E2M5: Command Center |
|
|
Doom 1 E2M6: Halls of the Damned |
|
|
Doom 1 E2M7: Spawning Vats |
|
|
Doom 1 E2M8: Tower of Babel |
|
|
Doom 1 E2M9: Fortress of Mystery (Secret level) |
Episode 3: Inferno¶
Map ID |
Gymnasium Environment Name |
Level Name |
|---|---|---|
|
|
Doom 1 E3M1: Hell Keep |
|
|
Doom 1 E3M2: Slough of Despair |
|
|
Doom 1 E3M3: Pandemonium |
|
|
Doom 1 E3M4: House of Pain |
|
|
Doom 1 E3M5: Unholy Cathedral |
|
|
Doom 1 E3M6: Mt. Erebus |
|
|
Doom 1 E3M7: Limbo |
|
|
Doom 1 E3M8: Dis |
|
|
Doom 1 E3M9: Warrens (Secret level) |
Episode 4: Thy Flesh Consumed¶
Map ID |
Gymnasium Environment Name |
Level Name |
|---|---|---|
|
|
Doom 1 E4M1: Hell Beneath |
|
|
Doom 1 E4M2: Perfect Hatred |
|
|
Doom 1 E4M3: Sever the Wicked |
|
|
Doom 1 E4M4: Unruly Evil |
|
|
Doom 1 E4M5: They Will Repent |
|
|
Doom 1 E4M6: Against Thee Wickedly |
|
|
Doom 1 E4M7: And Hell Followed |
|
|
Doom 1 E4M8: Unto the Cruel |
|
|
Doom 1 E4M9: Fear (Secret level) |
Original Doom 2 levels¶
The list of all original Doom 2 levels and their corresponding ViZDoom environment names:
Episode 1: The Space Station¶
Map ID |
Gymnasium Environment Name |
Level Name |
|---|---|---|
|
|
Doom 2 MAP01: Entryway |
|
|
Doom 2 MAP02: Underhalls |
|
|
Doom 2 MAP03: The Gantlet |
|
|
Doom 2 MAP04: The Focus |
|
|
Doom 2 MAP05: The Waste Tunnels |
|
|
Doom 2 MAP06: The Crusher |
|
|
Doom 2 MAP07: Dead Simple |
|
|
Doom 2 MAP08: Tricks and Traps |
|
|
Doom 2 MAP09: The Pit |
|
|
Doom 2 MAP10: Refueling Base |
|
|
Doom 2 MAP11: ‘O’ of Destruction! |
Episode 2: The City¶
Map ID |
Gymnasium Environment Name |
Level Name |
|---|---|---|
|
|
Doom 2 MAP12: The Factory |
|
|
Doom 2 MAP13: Downtown |
|
|
Doom 2 MAP14: The Inmost Dens |
|
|
Doom 2 MAP15: Industrial Zone |
|
|
Doom 2 MAP16: Suburbs |
|
|
Doom 2 MAP17: Tenements |
|
|
Doom 2 MAP18: The Courtyard |
|
|
Doom 2 MAP19: The Citadel |
|
|
Doom 2 MAP20: Gotcha! |
Episode 3: Hell¶
Map ID |
Gymnasium Environment Name |
Level Name |
|---|---|---|
|
|
Doom 2 MAP21: Nirvana |
|
|
Doom 2 MAP22: The Catacombs |
|
|
Doom 2 MAP23: Barrels o’ Fun |
|
|
Doom 2 MAP24: The Chasm |
|
|
Doom 2 MAP25: Bloodfalls |
|
|
Doom 2 MAP26: The Abandoned Mines |
|
|
Doom 2 MAP27: Monster Condo |
|
|
Doom 2 MAP28: The Spirit World |
|
|
Doom 2 MAP29: The Living End |
|
|
Doom 2 MAP30: Icon of Sin |
Secret levels:¶
Map ID |
Gymnasium Environment Name |
Level Name |
|---|---|---|
|
|
Doom 2 MAP31: Wolfenstein2 |
|
|
Doom 2 MAP32: Grosse2 |
Freedoom 1 levels¶
The list of all Freedoom 1 (Freedoom: Phase 1) levels and their corresponding ViZDoom environment names:
Episode 1: Outpost Outbreak¶
Map ID |
Gymnasium Environment Name |
Level Name |
|---|---|---|
|
|
Freedoom E1M1: Outer Prison |
|
|
Freedoom E1M2: Communications Center |
|
|
Freedoom E1M3: Waste Disposal |
|
|
Freedoom E1M4: Supply Depot |
|
|
Freedoom E1M5: Armory |
|
|
Freedoom E1M6: Training Facility |
|
|
Freedoom E1M7: Xenobiotic Materials Lab |
|
|
Freedoom E1M8: Outpost Quarry |
|
|
Freedoom E1M9: Nutrient Recycling |
Episode 2: Military Labs¶
Map ID |
Gymnasium Environment Name |
Level Name |
|---|---|---|
|
|
Freedoom E2M1: Elemental Gate |
|
|
Freedoom E2M2: Shifter |
|
|
Freedoom E2M3: Reclaimed Facilities |
|
|
Freedoom E2M4: Flooded Installation |
|
|
Freedoom E2M5: Underground Hub |
|
|
Freedoom E2M6: Hidden Sector |
|
|
Freedoom E2M7: Control Complex |
|
|
Freedoom E2M8: Containment Cell |
|
|
Freedoom E2M9: Fortress 31 |
Episode 3: Event Horizon¶
Map ID |
Gymnasium Environment Name |
Level Name |
|---|---|---|
|
|
Freedoom E3M1: Land of the Lost |
|
|
Freedoom E3M2: Geothermal Tunnels |
|
|
Freedoom E3M3: Sacrificial Bastion |
|
|
Freedoom E3M4: Oblation Temple |
|
|
Freedoom E3M5: Infernal Hallows |
|
|
Freedoom E3M6: Igneous Intrusion |
|
|
Freedoom E3M7: No Regrets |
|
|
Freedoom E3M8: Ancient Lair |
|
|
Freedoom E3M9: Acquainted With Grief |
Episode 4: Double Impact¶
Map ID |
Gymnasium Environment Name |
Level Name |
|---|---|---|
|
|
Freedoom E4M1: Maintenance Area |
|
|
Freedoom E4M2: Research Complex |
|
|
Freedoom E4M3: Central Computing |
|
|
Freedoom E4M4: Hydroponic Facility |
|
|
Freedoom E4M5: Engineering Station |
|
|
Freedoom E4M6: Command Center |
|
|
Freedoom E4M7: Waste Treatment |
|
|
Freedoom E4M8: Launch Bay |
|
|
Freedoom E4M9: Operations |
Freedoom 2 (Freedoom: Phase 2) levels¶
The list of all Freedoom 2 (Freedoom: Phase 2) levels and their corresponding ViZDoom environment names:
Map ID |
Gymnasium Environment Name |
Level Name |
|---|---|---|
|
|
Freedoom 2 MAP01: Hydroelectric Plant |
|
|
Freedoom 2 MAP02: Filtration Tunnels |
|
|
Freedoom 2 MAP03: Crude Processing Center |
|
|
Freedoom 2 MAP04: Containment Bay |
|
|
Freedoom 2 MAP05: Sludge Burrow |
|
|
Freedoom 2 MAP06: Janus Terminal |
|
|
Freedoom 2 MAP07: Logic Gate |
|
|
Freedoom 2 MAP08: Astronomy Complex |
|
|
Freedoom 2 MAP09: Datacenter |
|
|
Freedoom 2 MAP10: Deadly Outlands |
|
|
Freedoom 2 MAP11: Dimensional Rift Observatory |
|
|
Freedoom 2 MAP12: Railroads |
|
|
Freedoom 2 MAP13: Station Earth |
|
|
Freedoom 2 MAP14: Nuclear Zone |
|
|
Freedoom 2 MAP15: Hostile Takeover |
|
|
Freedoom 2 MAP16: Urban Jungle |
|
|
Freedoom 2 MAP17: City Capitol |
|
|
Freedoom 2 MAP18: Aquatics Lab |
|
|
Freedoom 2 MAP19: Sewage Control |
|
|
Freedoom 2 MAP20: Blood Ember Fortress |
|
|
Freedoom 2 MAP21: Under Realm |
|
|
Freedoom 2 MAP22: Remanasu |
|
|
Freedoom 2 MAP23: Underground Facility |
|
|
Freedoom 2 MAP24: Abandoned Teleporter Lab |
|
|
Freedoom 2 MAP25: Persistence of Memory |
|
|
Freedoom 2 MAP26: Dark Depths |
|
|
Freedoom 2 MAP27: Palace of Red |
|
|
Freedoom 2 MAP28: Grim Redoubt |
|
|
Freedoom 2 MAP29: Melting Point |
|
|
Freedoom 2 MAP30: Jaws of Defeat |
|
|
Freedoom 2 MAP31: Be Quiet (secret level) |
|
|
Freedoom 2 MAP32: Not Sure (secret level) |