A simple, fast Flappy‑style arcade game built with JavaScript and HTML5 Canvas. Tap or press to flap, dodge obstacles, and chase a new high score.
- Smooth gameplay at 60 FPS with Canvas rendering
- Responsive controls: keyboard and pointer/touch
- Procedural obstacles with fair gaps and pacing
- Score + High Score tracking (localStorage)
- Pause/Restart support
- HTML5 Canvas, Vanilla JavaScript (ES6+)
- Lightweight build/dev via Vite
- Node.js 18+
- npm, yarn, or pnpm
git clone https://github.com/debugfest/flappy-game.git
cd flappy-game
# install deps
npm install
# start dev server
npm run dev
# open the URL from the terminal (usually http://localhost:5173)flappy-game/
├── index.html # Canvas + UI
├── main.js # Game loop, physics, input, rendering
├── package.json # Scripts and deps
├── vite.config.js # Vite config (optional)
└── Readme.md # This file
- Mouse/Touch: click/tap to flap
- Keyboard: Space / ↑ Arrow to flap, P to pause, R to restart
- Flap to keep the bird in the air and pass through gaps.
- Each set of pipes passed increases your score.
- Hitting a pipe or the ground ends the run.
- Your best score is saved locally.
npm run dev # Start development server with HMR
npm run build # Build for production
npm run preview # Preview production build locally
npm run lint # Run linting (if configured)Contributions are welcome! Issues and PRs for performance, visuals, new obstacles, or difficulty options are appreciated.
This project is licensed under the MIT License. See LICENSE for details.
⭐ If you enjoy this project, please give it a star! ⭐
Made with ❤️ — Have fun playing Flappy!