Dieses Repository enthält die Implementierung von zwei OpenAI Gym-Umgebungen für das Flappy Bird-Spiel. Die Implementierung der Logik und Grafik des Spiels basierte auf dem FlapPyBird-Projekt von @sourabhv.
Die beiden Umgebungen unterscheiden sich nur in der Art der Beobachtungen, die sie für die Agenten liefern. Die Umgebung „FlappyBird-rgb-v0“ liefert RGB-Arrays (Bilder), die den Bildschirm des Spiels darstellen. Die „FlappyBird-v0“-Umgebung hingegen liefert einfache numerische Informationen über den Spielzustand als Beobachtungen. Die zurückgegebenen Attribute sind:
Um flappy-bird-gym
zu installieren, führen Sie einfach den folgenden Befehl aus:
$ pip install flappy-bird-gym
Wie bei anderen gym
Umgebungen ist die Nutzung flappy-bird-gym
sehr einfach. Importieren Sie einfach das Paket und erstellen Sie die Umgebung mit der make
-Funktion. Schauen Sie sich den folgenden Beispielcode an:
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()
Um das Spiel zu spielen (menschlicher Modus), führen Sie den folgenden Befehl aus:
$ flappy_bird_gym
Um zu sehen, wie ein zufälliger Agent spielt, fügen Sie dem Befehl ein Argument hinzu:
$ flappy_bird_gym --mode random