game.new_episode() game_state = game.get_state() misc = game_state.game_variables # [KILLCOUNT, AMMO, HEALTH] prev_misc = misc action_size = game.get_available_buttons_size() img_rows, img_cols = 64, 64 img_channels = 3 # Color channel trace_length = 4 # Temporal Dimension state_size = (trace_length, img_rows, img_cols, img_channels) agent = DoubleDQNAgent(state_size, action_size, trace_length) agent.model = Networks.drqn(state_size, action_size, agent.learning_rate) agent.target_model = Networks.drqn(state_size, action_size, agent.learning_rate) s_t = game_state.screen_buffer # 480 x 640 s_t = preprocessImg(s_t, size=(img_rows, img_cols)) is_terminated = game.is_episode_finished() # Start training epsilon = agent.initial_epsilon GAME = 0 t = 0 max_life = 0 # Maximum episode life (Proxy for agent performance) life = 0 episode_buf = [] # Save entire episode