def init_game(game_params, map_name='MoveToBeacon', max_steps=256, step_multiplier=8, **kwargs): race = sc2_env.Race(1) # 1 = terran agent = sc2_env.Agent(race, "Testv0") # NamedTuple [race, agent_name] agent_interface_format = sc2_env.parse_agent_interface_format(**game_params) #AgentInterfaceFormat instance game_params = dict(map_name=map_name, players=[agent], # use a list even for single player game_steps_per_episode = max_steps*step_multiplier, agent_interface_format=[agent_interface_format] # use a list even for single player ) env = sc2_env.SC2Env(**game_params, **kwargs) return env
def init_env(res, random_seed=None): RESOLUTION = res race = sc2_env.Race(1) # 1 = terran agent = sc2_env.Agent(race, "Testv0") # NamedTuple [race, agent_name] interface_dict = dict( feature_screen=RESOLUTION, # screen resolution in pixel feature_minimap= 16, # minimap resolution in pixel (smaller or equal to screen) action_space="FEATURES" ) # either FEATURES or RGB - suggested: FEATURES agent_interface_format = sc2_env.parse_agent_interface_format( **interface_dict) #AgentInterfaceFormat instance game_params = dict( map_name='MoveToBeacon', # simplest minigame players=[agent], # use a list even for single player agent_interface_format=[agent_interface_format ], # use a list even for single player game_steps_per_episode=256 * 8) # create an envirnoment env = sc2_env.SC2Env(**game_params, random_seed=random_seed) return env