- STAR2 MAX_STEPS issue
MAX_STEPS value doesn’t work in Star2 in original code.
I have a game log that played 2 hours.
there were 2 reasons
(1) ‘MULTI-ATTACK’ cannot destroy all of enemy’s building (some of theirs are built in the corner)
(2) MAX_STEPS (ex., 1000 steps) didn’t work.
in star_craft_env.py.
def check_process(self, reset=False):
ctx = getattr(self, "_mp_ctx", multiprocessing.get_context())
if self.p is not None:
if self.p.is_alive():
#if not self.game_over.value: # should be changed like below. after MAX_STEPS doesn't mean it is game_over
if not self.game_over.value and not reset: # Check if the game is over
return # Return ONLY if game is running AND we are NOT resetting (MAX_STEP)
# KILL PROCESS LOGIC (depends on the OS)
self.p.terminate()
To re-make this bug,
in common.py
change star_craft value to low, it is not gonna finished after that max_step.
MAX_STEPS = {
“twenty_fourty_eight”: 1000,
“super_mario”: 100,
“pokemon_red”: 200,
“star_craft”: 50,
}