Este repositório contém a implementação de dois ambientes OpenAI Gym para o jogo Flappy Bird. A implementação da lógica e dos gráficos do jogo foi baseada no projeto FlapPyBird, de @sourabhv.
Os dois ambientes diferem apenas no tipo de observações que produzem para os agentes. O ambiente "FlappyBird-rgb-v0" produz matrizes RGB (imagens) que representam a tela do jogo. O ambiente “FlappyBird-v0”, por outro lado, produz informações numéricas simples sobre o estado do jogo como observações. Os atributos produzidos são:
Para instalar flappy-bird-gym
, basta executar o seguinte comando:
$ pip install flappy-bird-gym
Como em outros ambientes gym
, é muito fácil usar flappy-bird-gym
. Basta importar o pacote e criar o ambiente com a função make
. Dê uma olhada no código de exemplo abaixo:
import time
import flappy_bird_gym
env = flappy_bird_gym.make("FlappyBird-v0")
obs = env.reset()
while True:
# Next action:
# (feed the observation to your agent here)
action = ... # env.action_space.sample() for a random action
# Processing:
obs, reward, done, info = env.step(action)
# Rendering the game:
# (remove this two lines during training)
env.render()
time.sleep(1 / 30) # FPS
# Checking if the player is still alive
if done:
break
env.close()
Para jogar (modo humano), execute o seguinte comando:
$ flappy_bird_gym
Para ver um agente aleatório jogando, adicione um argumento ao comando:
$ flappy_bird_gym --mode random