Star2 Crash Issue

  • 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,
}