def __init__(self, level): self.previous_level = -1 self.level = level self.game = DoomGame() self.loader = Loader() self.doom_dir = os.path.dirname(os.path.abspath(__file__)) self._mode = 'algo' # 'algo' or 'human' self.no_render = False # To disable double rendering in human mode self.viewer = None self.is_initialized = False # Indicates that reset() has been called self.curr_seed = 0 self.lock = (DoomLock()).get_lock() self.action_space = spaces.MultiDiscrete([[0, 1]] * 38 + [[-10, 10]] * 2 + [[-100, 100]] * 3) self.allowed_actions = list(range(NUM_ACTIONS)) self.screen_height = 480 self.screen_width = 640 self.screen_resolution = ScreenResolution.RES_640X480 self.observation_space = spaces.Box(low=0, high=255, shape=(self.screen_height, self.screen_width, 3)) self._seed() self._configure()
def __init__(self): super(DoomDefendCenterEnv, self).__init__() package_directory = os.path.dirname(os.path.abspath(__file__)) self.loader = Loader() self.game = DoomGame() self.game.load_config( os.path.join(package_directory, 'assets/defend_the_center.cfg')) self.game.set_vizdoom_path(self.loader.get_vizdoom_path()) self.game.set_doom_game_path(self.loader.get_freedoom_path()) self.game.set_doom_scenario_path( self.loader.get_scenario_path('defend_the_center.wad')) self.screen_height = 480 # Must match .cfg file self.screen_width = 640 # Must match .cfg file self.game.set_window_visible(False) self.viewer = None self.game.init() self.game.new_episode() # 3 allowed actions [0, 13, 14] (must match .cfg file) self.action_space = spaces.HighLow(np.matrix([[0, 1, 0]] * 3)) self.observation_space = spaces.Box(low=0, high=255, shape=(self.screen_height, self.screen_width, 3)) self._seed()
def __init__(self): super(DoomDefendLineEnv, self).__init__() package_directory = os.path.dirname(os.path.abspath(__file__)) self.loader = Loader() self.game = DoomGame() self.game.load_config( os.path.join(package_directory, 'assets/defend_the_line.cfg')) self.game.set_vizdoom_path(self.loader.get_vizdoom_path()) self.game.set_doom_game_path(self.loader.get_freedoom_path()) self.game.set_doom_scenario_path( self.loader.get_scenario_path('defend_the_line.wad')) self.screen_height = 480 # Must match .cfg file self.screen_width = 640 # Must match .cfg file self.game.set_window_visible(False) self.viewer = None self._seed() self.game.init() self.game.new_episode()
def __init__(self, level): utils.EzPickle.__init__(self) self.previous_level = -1 self.level = level self.game = DoomGame() self.loader = Loader() self.doom_dir = os.path.dirname(os.path.abspath(__file__)) self.mode = 'fast' # 'human', 'fast' or 'normal' self.no_render = False # To disable double rendering in human mode self.viewer = None self.is_initialized = False # Indicates that reset() has been called self.curr_seed = 0 self.action_space = spaces.MultiDiscrete([[0, 1]] * 38 + [[-10, 10]] * 2 + [[-100, 100]] * 3) self.allowed_actions = list(range(NUM_ACTIONS)) self._seed() self._configure()
def __init__(self): package_directory = os.path.dirname(os.path.abspath(__file__)) self.loader = Loader() self.game = DoomGame() self.game.load_config( os.path.join(package_directory, 'assets/predict_position.cfg')) self.game.set_vizdoom_path(self.loader.get_vizdoom_path()) self.game.set_doom_game_path(self.loader.get_freedoom_path()) self.game.set_doom_scenario_path( self.loader.get_scenario_path('predict_position.wad')) self.game.set_doom_map('map01') self.screen_height = 480 # Must match .cfg file self.screen_width = 640 # Must match .cfg file self.game.set_window_visible(False) self.viewer = None self.game.init() self.game.new_episode() self._seed()
def __init__(self): package_directory = os.path.dirname(os.path.abspath(__file__)) self.loader = Loader() self.game = DoomGame() self.game.load_config( os.path.join(package_directory, 'assets/deadly_corridor.cfg')) self.game.set_vizdoom_path(self.loader.get_vizdoom_path()) self.game.set_doom_game_path(self.loader.get_freedoom_path()) self.game.set_doom_scenario_path( self.loader.get_scenario_path('deadly_corridor.wad')) self.screen_height = 480 # Must match .cfg file self.screen_width = 640 # Must match .cfg file # action indexes are [0, 9, 10, 12, 13, 14] self.action_space = doom_spaces.HighLow(np.matrix([[0, 1, 0]] * 6)) self.observation_space = spaces.Box(low=0, high=255, shape=(self.screen_height, self.screen_width, 3)) self.game.set_window_visible(False) self.viewer = None self.game.init() self.game.new_episode()
def __init__(self, level): utils.EzPickle.__init__(self) self.previous_level = -1 self.level = level self.game = DoomGame() self.loader = Loader() self.doom_dir = os.path.dirname(os.path.abspath(__file__)) self.mode = 'fast' # 'human', 'fast' or 'normal' self.no_render = False # To disable double rendering in human mode self.viewer = None self.is_initialized = False # Indicates that reset() has been called self.find_new_level = False # Indicates that we need a level change self.curr_seed = 0 self.screen_height = 480 self.screen_width = 640 self.action_space = spaces.HighLow( np.matrix([[0, 1, 0]] * 38 + [[-10, 10, 0]] * 2 + [[-100, 100, 0]] * 3, dtype=np.int8)) self.observation_space = spaces.Box(low=0, high=255, shape=(self.screen_height, self.screen_width, 3)) self.allowed_actions = list(range(NUM_ACTIONS))
def __init__(self): package_directory = os.path.dirname(os.path.abspath(__file__)) self.loader = Loader() self.game = DoomGame() self.game.load_config( os.path.join(package_directory, 'assets/basic.cfg')) self.game.set_vizdoom_path(self.loader.get_vizdoom_path()) self.game.set_doom_game_path(self.loader.get_freedoom_path()) self.game.set_doom_scenario_path( self.loader.get_scenario_path('basic.wad')) self.game.set_doom_map('map01') self.screen_height = 480 # Must match .cfg file self.screen_width = 640 # Must match .cfg file # 3 allowed actions [0, 9, 10] (must match .cfg file) self.action_space = doom_spaces.HighLow(np.matrix([[0, 1, 0]] * 3)) self.observation_space = spaces.Box(low=0, high=255, shape=(self.screen_height, self.screen_width, 3)) self.game.set_window_visible(False) self.viewer = None self.sleep_time = 0.02857 # 35 fps = 0.02857 sleep between frames self.game.init() self.game.new_episode()