A Python implementation of the classic Flappy Bird game with enhanced features and multiple game screens.
Watch the game in action:
Flappy-Bird-Demo.mp4
Caution
This source requires Python version 3.12.x strictly.
- Ensure you have Python 3.12.x installed before proceeding. Using any other version may result in critical errors or unexpected behavior.
- Download Python 3.12.x if you do not already have it installed.
Caution
How to run on Windows:
-
Version 2.0.0 and below:
Download the all-in-one.exefile and run it directly. All assets are bundled inside the executable. -
Version 2.1.0 and above:
Download the provided.zipfile, extract all contents, and then run the.exeinside the extracted folder.
This method is safer for Windows and ensures all assets and dependencies are loaded correctly.
If you encounter issues running the executable, make sure your antivirus is not blocking it and that you have extracted all files before launching.
Clone this repo and install the requirements:
pip install uvSync dependencies using:
uv syncThen run the game:
uv run main.py- Press
SPACEto make the bird flap - Avoid the pipes
- Try to get the highest score possible
-
Multiple Game Screens:
- Main Menu Screen
- Game Screen
- Game Over Screen
- Settings Screen
- Stats Screen
- Loading Screen
-
Game Elements:
- Different bird colors (yellow, red, blue)
- Day and night backgrounds
- Green and red pipes
- Sound effects
-
Settings:
- Customizable game settings
- Audio control options
├── main.py # Main entry point
├── assets/ # Game assets (sprites, audio)
│ ├── sprites/
│ └── audio/
└── src/ # Source code
├── constants.py # Game constants
├── objects.py # Game objects
├── settings.py # Game settings
├── ui_constants.py # UI constants
├── ui.py # UI components
└── screens/ # Different game screens
├── game_screen.py
├── game_over_screen.py
├── loading_screen.py
├── main_menu_screen.py
├── settings_screen.py
└── stats_screen.py
Game assets are from samuelcust/flappy-bird-assets.
- Online leaderboard
- Additional game modes
- Character customization options
Pull requests and suggestions are welcome! Please open an issue for major changes.
This project is for educational purposes. See the asset repository for asset licensing details.