Skip to main content

A Gymnasium environment for the Flappy Bird game.

Project description

Flappy Bird for Gymnasium

Python versions PyPI License

This repository contains the implementation of Gymnasium environment for the Flappy Bird game. The implementation of the game's logic and graphics was based on the flappy-bird-gym project, by @Talendar.

State space

The "FlappyBird-v0" environment, yields simple numerical information about the game's state as observations or RGB-arrays (images) representing the game's screen.

FlappyBird-v0

  • the last pipe's horizontal position

  • the last top pipe's vertical position

  • the last bottom pipe's vertical position

  • the next pipe's horizontal position

  • the next top pipe's vertical position

  • the next bottom pipe's vertical position

  • the next next pipe's horizontal position

  • the next next top pipe's vertical position

  • the next next bottom pipe's vertical position

  • player's vertical position

  • player's vertical velocity

  • player's rotation

  • or RGB-array (image) representing the game's screen

Action space

  • 0 - do nothing
  • 1 - flap

Rewards

  • +0.1 - every frame it stays alive
  • +1.0 - successfully passing a pipe
  • -1.0 - dying

Installation

To install flappy-bird-gymnasium, simply run the following command:

$ pip install flappy-bird-gymnasium

Usage

Like with other gymnasium environments, it's very easy to use flappy-bird-gymnasium. Simply import the package and create the environment with the make function. Take a look at the sample code below:

import flappy_bird_gymnasium
import gymnasium
env = gymnasium.make("FlappyBird-v0", render_mode="human")

obs, _ = env.reset()
while True:
    # Next action:
    # (feed the observation to your agent here)
    action = env.action_space.sample()

    # Processing:
    obs, reward, terminated, _, info = env.step(action)
    
    # Checking if the player is still alive
    if terminated:
        break

env.close()

Playing

To play the game (human mode), run the following command:

$ flappy_bird_gymnasium

To see a random agent playing, add an argument to the command:

$ flappy_bird_gymnasium --mode random

To see a Deep Q Network agent playing, add an argument to the command:

$ flappy_bird_gymnasium --mode dqn

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flappy-bird-gymnasium-0.3.0.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

flappy_bird_gymnasium-0.3.0-py3-none-any.whl (1.1 MB view details)

Uploaded Python 3

File details

Details for the file flappy-bird-gymnasium-0.3.0.tar.gz.

File metadata

  • Download URL: flappy-bird-gymnasium-0.3.0.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for flappy-bird-gymnasium-0.3.0.tar.gz
Algorithm Hash digest
SHA256 9d2a71c1da0bd44e5f522d364287d1b18b88b4a55f8ae3f46d6af3a53705024c
MD5 16d924ceb627660cf3a17a80abbf547e
BLAKE2b-256 de73279dbe872149d8e88948cf8b9aa95a22c380070c82a3885f1faab68e0543

See more details on using hashes here.

File details

Details for the file flappy_bird_gymnasium-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for flappy_bird_gymnasium-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7cb7e1aef58eb1086bc5b29b2851e9c0ada7a842aebdee057f5e9b2426a4dd25
MD5 48261f5f06db45268bcaf5fba2da16f0
BLAKE2b-256 903aa45f6ec4d1899b7e35b42e2bd6ed0db4aa363560fefde21ad28b3034c673

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page