Flappy Bird–style game controlled by your arms: use your webcam and raise your arms to make the bird fly. Great for moving around while you play.
- Camera: The game uses your webcam to detect your pose in real time.
- Controls: Raise one or both arms (wrists above shoulders) to make the bird flap and rise.
- Calibration: Before playing, you need to calibrate (press C) so the game recognizes your starting pose.
- Python 3.9+
- Working webcam
- Good lighting for pose detection
- Clone the repository (or download the files):
git clone <repository-url>
cd flappy-arms- Create and activate a virtual environment (recommended):
python -m venv .venv
source .venv/bin/activate # Linux/macOS
# or: .venv\Scripts\activate # Windows- Install dependencies:
pip install -r requirements.txt- Optional: Add
bird_logo.png(menu logo) andbird.png(in-game bird) to the project folder. Without them, the menu and bird use the default graphics.
- Run the game:
python flappy_arms.py-
On the menu:
- Press C to calibrate (stand with arms relaxed).
- When you see "CALIBRATED!", press SPACE to start.
-
During the game:
- Raise your arms to make the bird fly up and avoid the pipes.
- ESC returns to the menu.
-
On game over:
- SPACE — play again
- ESC — back to menu
| Key | Action |
|---|---|
| C | Calibrate (on menu) |
| SPACE | Start / Play again |
| ESC | Quit / Back to menu |
flappy-arms/
├── flappy_arms.py # Main game (desktop, camera)
├── game_core.py # Shared game logic (Bird, Pipe, physics)
├── streamlit_app.py # Web version (Streamlit)
├── requirements.txt # Python dependencies
├── bird_logo.png # Menu logo (optional)
├── bird.png # In-game bird image (optional)
└── README.md
- pygame — graphics and game loop
- opencv-python — webcam capture
- mediapipe — pose detection (shoulders and wrists)
- Use a relatively clear background and good lighting for the camera.
- Keep your body (at least shoulders and arms) in frame.
- A flap is detected when your arms go up; you don’t need to keep them raised.
To run the browser version (click to flap, same game logic):
pip install -r requirements.txt
streamlit run streamlit_app.pyFree to use for learning and fun.