Course: CS50's Introduction to Game Development
Assignment: Flappy Bird
Engine / Language: LÖVE2D (Lua)
This repository contains my implementation of the Flappy Bird assignment from CS50's Introduction to Game Development.
📺 You can also watch the gameplay on YouTube.
- ✔️ Randomized the gap between pipes instead of hardcoding.
- ✔️ Randomized the spawn interval for pipe pairs.
- ✔️ Awarded the player with medals (3 types) depending on score.
- ✔️ Added a pause feature (toggle with "P") that stops gameplay, pauses music, and shows a pause icon.
- ✔️ Preserved the original flapping mechanics (space bar / mouse click).
-
Install LÖVE2D.
-
Clone this repository:
git clone https://github.com/huzaifa-gamedev/cs50-flappy-bird.git cd cs50-flappy-bird
-
Run the game:
love .
- Space Bar — Flap / Jump
- Left Mouse Click — Flap / Jump
- P — Pause / Resume
- Escape — Quit game
- Original skeleton code & assets: CS50's Introduction to Game Development (Harvard). Licensed under CC BY-NC-SA 4.0.
- This implementation: © 2025 Muhammad Huzaifa Karim. Licensed under the MIT License.
For more details, see ATTRIBUTION.md.
Muhammad Huzaifa Karim
GitHub Profile
For ideas, feedback, or collaboration, feel free to reach out via GitHub.
© 2025 Muhammad Huzaifa Karim. All rights reserved.