FlappyBird 2.0.0

dotnet tool install --global FlappyBird --version 2.0.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local FlappyBird --version 2.0.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=FlappyBird&version=2.0.0
                    
nuke :add-package FlappyBird --version 2.0.0
                    

๐Ÿฆ FlappyBird Console Game

A smooth 60 FPS Flappy Bird game for the terminal โ€” with themes, two-player co-op, custom game configuration, and a persistent high score board.

.NET NuGet License


๐Ÿš€ Quick Install & Play

# Install globally via .NET tool
dotnet tool install --global FlappyBird

# Play anywhere
flappybird

Requirements: .NET 10.0 Runtime ยท 80ร—24 terminal with color support ยท Windows recommended for audio (Console.Beep fallback on other platforms)


๐ŸŽฎ Game Modes

Mode Description
Single Player Classic Flappy Bird โ€” avoid pipes, beat your high score
Two Player Local co-op on a split screen; P1 = Space, P2 = Enter
Custom Game Set your own starting level, speed, and gap size
Dual AI Watch Conservative AI vs Aggressive AI in a 10-round tournament
High Scores View your personal leaderboard across all sessions

๐Ÿ•น๏ธ Controls

Single Player

Key Action
Space Flap
ESC Exit to menu
R (game over) Restart

Two Player

Player Flap Key
P1 (left screen) Space
P2 (right screen) Enter
Key Action
โ†‘ / โ†“ Navigate
Enter Confirm
ESC Back / Exit

๐Ÿ› ๏ธ Custom Game

Configure exactly how you want to play before each session:

By Level โ€” pick a starting level (1โ€“10). Speed and gap size are automatically derived; difficulty still progresses as you score.

By Manual โ€” set Speed (1โ€“4, where 1 = fastest) and Gap (5โ€“10 rows) yourself. Difficulty is fixed for the entire session โ€” great for practice runs.

The two modes are mutually exclusive. Your last configuration is saved automatically and restored next time.


๐Ÿ† High Scores

Every completed session is saved (last 1 000 plays). View them from the main menu:

  • โ† / โ†’ โ€” page through records (10 per page)
  • Tab โ€” filter: All ยท Single Player ยท Custom Game
  • ESC โ€” back to menu

Custom Game entries display the exact difficulty configuration used that session.


๐ŸŽจ Themes

Switch themes in Settings:

Theme Border Primary Color
Classic โ•”โ•โ•— Double Cyan
Matrix โ”Œโ”€โ” Single Green
Neon โ•ญโ”€โ•ฎ Rounded Magenta
Retro +-+ ASCII White

Theme applies to all menus and in-game borders. Colors and border style are individually configurable for a custom look.


โš™๏ธ Settings

All settings persist between sessions (%AppData%\FlappyBird\settings.json on Windows):

  • Language โ€” English / Vietnamese
  • Theme โ€” pick a preset or configure individually
  • Border Style โ€” Double / Single / Rounded / ASCII
  • Primary & Accent Colors
  • Music โ€” toggle on/off, volume control
  • Sound Effects โ€” volume control, audio calibration
  • Font โ€” switch to a bundled monospace font (requires Windows)
  • Target FPS โ€” 60 or 120

๐Ÿ“Š Physics & Difficulty

Parameter Value
Gravity 0.06f per frame
Jump strength โˆ’0.7f velocity
Terminal velocity 1.0f
Starting gap 7 rows
Minimum gap 5 rows (at level 5+)
Level up Every 5 points
Pipe speed Increases every 2 levels

๐Ÿ› ๏ธ Development

git clone https://github.com/TranDat1114/FlappyBird.git
cd FlappyBird
dotnet build
dotnet run --project FlappyBird

See CHANGELOG.md for version history.


๐Ÿ“ฆ Advanced Usage

# Update to latest version
dotnet tool update --global FlappyBird

# Uninstall
dotnet tool uninstall --global FlappyBird

Made with โค๏ธ in C# .NET 10 ยท GitHub ยท NuGet

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
2.0.0 174 6/30/2026
1.0.2 222 6/27/2025
1.0.1 193 6/27/2025
1.0.0 209 6/27/2025

v2.0.0 (2026-06-30):
- Custom Game mode: configure starting level (1-10) or manual Speed/Gap; difficulty fixed in Manual mode
- High Scores: persistent leaderboard of last 1000 sessions; paginated (10/page), filterable by mode
- Settings persistence: all settings saved to %AppData%\FlappyBird\settings.json between sessions
- Theme system: 4 built-in themes (Classic, Matrix, Neon, Retro) applied to menus and game borders
- Dynamic border styles: game borders now follow the selected theme (Rounded, Single, ASCII, Double)
- TwoPlayer pipe spacing fixed: visual density now matches SinglePlayer
- Font management, audio calibration menu
- English / Vietnamese localization
- Responsive layout with resize detection

v1.1.0:
- Two Player local co-op (split screen, P1: W / P2: Up Arrow)
- Audio: Harry Potter background music, sound effects (NAudio on Windows)
- Dual AI Comparison mode (conservative vs aggressive, 10-round tournament)
- God Mode rule-based AI; Q-Learning agent with JSONL training logger

v1.0.0:
- Initial release: Single Player, 60 FPS, realistic physics, progressive difficulty