def __init__(self, game_type = "chests", grid_size = 10, max_eps_len = 500): if game_type not in ["chests","traps"]: raise Exception else: if game_type == "chests": self.gameClass = games.ChestKey elif game_type == "traps" self.gameClass = games.TrapKey game0 = curriculum.CurriculumWrappedGame( self.gameClass, curriculums={ 'map_size': games.curriculum.MapSizeCurriculum( (grid_size,) * 4, (grid_size,) * 4, (grid_size,) * 4 ), } ) all_games = [game0] self.game = games.MazeGame( all_games, # featurizer=featurizers.SentenceFeaturesRelative( # max_sentences=30, bounds=4) featurizer=featurizers.GridFeaturizer() ) self.w, self.h = game.get_max_bounds() self.actions = self.game.all_possible_actions() self.action_dim = 1 self.num_action = len(self.actions) self.state_dim = ( self.w, self.h , len(self.game.all_possible_features())) # for ep len self.frame = 0 self.max_frame = max_eps_len
def __init__(self): super(MazebaseWrapper, self).__init__() self.name = MAZEBASE try: # Reference: https://github.com/facebook/MazeBase/blob/3e505455cae6e4ec442541363ef701f084aa1a3b/py/mazebase/games/mazegame.py#L454 small_size = (10, 10, 10, 10) lk = curriculum.CurriculumWrappedGame( mazebase_games.LightKey, curriculums={ 'map_size': mazebase_games.curriculum.MapSizeCurriculum( small_size, small_size, (10, 10, 10, 10)) }) game = mazebase_games.MazeGame( games=[lk], featurizer=mazebase_games.featurizers.GridFeaturizer()) except mazebase.utils.mazeutils.MazeException as e: print(e) self.game = game self.actions = self.game.all_possible_actions()
}) ck = curriculum.CurriculumWrappedGame(games.ChestKey, curriculums={ 'map_size': games.curriculum.MapSizeCurriculum( (10, 10, 10, 10), (10, 10, 10, 10), (10, 10, 10, 10)), }) #all_games = [bd, lk] all_games = [tk] game = games.MazeGame( all_games, # featurizer=featurizers.SentenceFeaturesRelative( # max_sentences=30, bounds=4) featurizer=featurizers.GridFeaturizer()) max_w, max_h = game.get_max_bounds() pp = PrettyPrinter(indent=2, width=160) # all_actions = game.all_possible_actions() # all_features = game.all_possible_features() # print("Actions:", all_actions) # print("Features:", all_features) # sleep(2) def action_func(actions): if not player_mode: return choice(actions)