'Begin an episode of a game instance. We can play the game for a maximum of
`max_episode_step` and after that, we are forced to restart'

def begin_episode(self, max_episode_step=DEFAULT_MAX_EPISODE_STEP):

    if ((self.episode_step > self.max_episode_step) or self.ale.game_over()):
        self.start()
    else:
        for i in range(self.screen_buffer_length):
            self.ale.act(0)
            self.ale.getScreenGrayscale(self.screen_buffer[(i % self.screen_buffer_length), :, :])
    self.max_episode_step = max_episode_step
    self.start_lives = self.ale.lives()
    self.episode_reward = 0
    self.episode_step = 0
