Skip to content

Commit

Permalink
Doom - Same Action Space Across Environments (openai#157)
Browse files Browse the repository at this point in the history
* Doom - Added reward_threshold and timestep_limit for all environments

* Doom - Returning all available game variables

* Doom - Moved _seed to doom_env to avoid repetition in every environment

* Doom - Added ALT_ATTACK and made all action_space equivalent (same controls between environments).

* Doom - Actions can either be a short list of allowed actions or the full list of 41 commands

* Doom - Returning black observation space on error or is_finished, rather than empty list (which was triggering an error)

* Doom - HighLow.sample() returns the small list.

* Doom - Updated difficulty for some missions

* Doom - Fixed inconsistency between controls.md and deathmatch.cfg

* Doom - Issue openai#168 - Remove sleep statement from DoomEnv render

* Doom - Only using full action space (43 keys)

- Added 'normal', 'fast' and 'human' mode
- Set non-deterministic to True
- Set video.frames_per_second to 35
- Properly returning game variables

* Replaced warnings.warn by logger.warn

* Doom - Added NUM_ACTIONS and action_idx instead of x

* Doom - Added NUM_ACTIONS and action_idx instead of x

* Doom - reset() only calls game.new_episode() after first call

* Doom is now deterministic

* Doom - Partial fix for issue openai#167 - DoomDeathmatch environment crashes sporadically

* Doom - Standardized envs, simplified _reset

* Doom - Removed temporary fix for issue openai#167

* Doom - Added scoreboard summary and description
  • Loading branch information
ppaquette authored and jietang committed Jun 14, 2016
1 parent 5b86030 commit aff7a64
Show file tree
Hide file tree
Showing 26 changed files with 802 additions and 415 deletions.
18 changes: 18 additions & 0 deletions gym/envs/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -299,46 +299,64 @@
register(
id='DoomBasic-v0',
entry_point='gym.envs.doom:DoomBasicEnv',
timestep_limit=10000,
reward_threshold=10.0,
)

register(
id='DoomCorridor-v0',
entry_point='gym.envs.doom:DoomCorridorEnv',
timestep_limit=10000,
reward_threshold=1000.0,
)

register(
id='DoomDefendCenter-v0',
entry_point='gym.envs.doom:DoomDefendCenterEnv',
timestep_limit=10000,
reward_threshold=10.0,
)

register(
id='DoomDefendLine-v0',
entry_point='gym.envs.doom:DoomDefendLineEnv',
timestep_limit=10000,
reward_threshold=15.0,
)

register(
id='DoomHealthGathering-v0',
entry_point='gym.envs.doom:DoomHealthGatheringEnv',
timestep_limit=10000,
reward_threshold=1000.0,
)

register(
id='DoomMyWayHome-v0',
entry_point='gym.envs.doom:DoomMyWayHomeEnv',
timestep_limit=10000,
reward_threshold=0.5,
)

register(
id='DoomPredictPosition-v0',
entry_point='gym.envs.doom:DoomPredictPositionEnv',
timestep_limit=10000,
reward_threshold=0.5,
)

register(
id='DoomTakeCover-v0',
entry_point='gym.envs.doom:DoomTakeCoverEnv',
timestep_limit=10000,
reward_threshold=750.0,
)

register(
id='DoomDeathmatch-v0',
entry_point='gym.envs.doom:DoomDeathmatchEnv',
timestep_limit=10000,
reward_threshold=20.0,
)

# Debugging
Expand Down
20 changes: 18 additions & 2 deletions gym/envs/doom/assets/basic.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,29 @@ available_buttons =
available_game_variables =
{
KILLCOUNT
ITEMCOUNT
SECRETCOUNT
FRAGCOUNT
HEALTH
ARMOR
DEAD
ON_GROUND
ATTACK_READY
ALTATTACK_READY

SELECTED_WEAPON
SELECTED_WEAPON_AMMO

AMMO1
AMMO2
AMMO3
AMMO4
AMMO5
AMMO6
AMMO7
AMMO8
AMMO9
AMMO0
}

mode = PLAYER
doom_skill = 5
sound_enabled = false
20 changes: 18 additions & 2 deletions gym/envs/doom/assets/deadly_corridor.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,29 @@ available_buttons =
available_game_variables =
{
KILLCOUNT
ITEMCOUNT
SECRETCOUNT
FRAGCOUNT
HEALTH
ARMOR
DEAD
ON_GROUND
ATTACK_READY
ALTATTACK_READY

SELECTED_WEAPON
SELECTED_WEAPON_AMMO

AMMO1
AMMO2
AMMO3
AMMO4
AMMO5
AMMO6
AMMO7
AMMO8
AMMO9
AMMO0
}

mode = PLAYER
doom_skill = 5
sound_enabled = false
13 changes: 11 additions & 2 deletions gym/envs/doom/assets/deathmatch.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,15 @@ available_buttons =
available_game_variables =
{
KILLCOUNT
ITEMCOUNT
SECRETCOUNT
FRAGCOUNT
HEALTH
ARMOR
DEAD
ON_GROUND
ATTACK_READY
ALTATTACK_READY

SELECTED_WEAPON
SELECTED_WEAPON_AMMO
Expand All @@ -88,8 +95,10 @@ available_game_variables =
AMMO4
AMMO5
AMMO6
AMMO7
AMMO8
AMMO9
AMMO0
}

mode = PLAYER
doom_skill = 5
sound_enabled = false
20 changes: 18 additions & 2 deletions gym/envs/doom/assets/defend_the_center.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,29 @@ available_buttons =
available_game_variables =
{
KILLCOUNT
ITEMCOUNT
SECRETCOUNT
FRAGCOUNT
HEALTH
ARMOR
DEAD
ON_GROUND
ATTACK_READY
ALTATTACK_READY

SELECTED_WEAPON
SELECTED_WEAPON_AMMO

AMMO1
AMMO2
AMMO3
AMMO4
AMMO5
AMMO6
AMMO7
AMMO8
AMMO9
AMMO0
}

mode = PLAYER
doom_skill = 3
sound_enabled = false
20 changes: 18 additions & 2 deletions gym/envs/doom/assets/defend_the_line.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,29 @@ available_buttons =
available_game_variables =
{
KILLCOUNT
ITEMCOUNT
SECRETCOUNT
FRAGCOUNT
HEALTH
ARMOR
DEAD
ON_GROUND
ATTACK_READY
ALTATTACK_READY

SELECTED_WEAPON
SELECTED_WEAPON_AMMO

AMMO1
AMMO2
AMMO3
AMMO4
AMMO5
AMMO6
AMMO7
AMMO8
AMMO9
AMMO0
}

mode = PLAYER
doom_skill = 5
sound_enabled = false
20 changes: 18 additions & 2 deletions gym/envs/doom/assets/health_gathering.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,30 @@ available_buttons =
available_game_variables =
{
KILLCOUNT
ITEMCOUNT
SECRETCOUNT
FRAGCOUNT
HEALTH
ARMOR
DEAD
ON_GROUND
ATTACK_READY
ALTATTACK_READY

SELECTED_WEAPON
SELECTED_WEAPON_AMMO

AMMO1
AMMO2
AMMO3
AMMO4
AMMO5
AMMO6
AMMO7
AMMO8
AMMO9
AMMO0
}

mode = PLAYER
doom_skill = 5
sound_enabled = false

25 changes: 20 additions & 5 deletions gym/envs/doom/assets/my_way_home.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ render_particles = false
# make episodes start after 14 tics (after unholstering the gun) (35 tics per seconds)
episode_start_time = 14

# Make episodes finish after 4200 tics (2 minutes)
episode_timeout = 4200
# Make episodes finish after 2100 tics (1 minutes)
episode_timeout = 2100

# Available buttons
available_buttons =
Expand All @@ -32,14 +32,29 @@ available_buttons =
available_game_variables =
{
KILLCOUNT
ITEMCOUNT
SECRETCOUNT
FRAGCOUNT
HEALTH
ARMOR
DEAD
ON_GROUND
ATTACK_READY
ALTATTACK_READY

SELECTED_WEAPON
SELECTED_WEAPON_AMMO
AMMO0

AMMO1
AMMO2
AMMO3
AMMO4
AMMO5
AMMO6
AMMO7
AMMO8
AMMO9
AMMO0
}

mode = PLAYER
doom_skill = 5
sound_enabled = false
20 changes: 18 additions & 2 deletions gym/envs/doom/assets/predict_position.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,30 @@ available_buttons =
available_game_variables =
{
KILLCOUNT
ITEMCOUNT
SECRETCOUNT
FRAGCOUNT
HEALTH
ARMOR
DEAD
ON_GROUND
ATTACK_READY
ALTATTACK_READY

SELECTED_WEAPON
SELECTED_WEAPON_AMMO

AMMO1
AMMO2
AMMO3
AMMO4
AMMO5
AMMO6
AMMO7
AMMO8
AMMO9
AMMO0
}

mode = PLAYER
doom_skill = 3
sound_enabled = false

20 changes: 18 additions & 2 deletions gym/envs/doom/assets/take_cover.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,29 @@ available_buttons =
available_game_variables =
{
KILLCOUNT
ITEMCOUNT
SECRETCOUNT
FRAGCOUNT
HEALTH
ARMOR
DEAD
ON_GROUND
ATTACK_READY
ALTATTACK_READY

SELECTED_WEAPON
SELECTED_WEAPON_AMMO

AMMO1
AMMO2
AMMO3
AMMO4
AMMO5
AMMO6
AMMO7
AMMO8
AMMO9
AMMO0
}

mode = PLAYER
doom_skill = 5
sound_enabled = false
Loading

0 comments on commit aff7a64

Please sign in to comment.