Skip to content

Implementation of Flappy Bird in Lua using the LÖVE2D framework as part of CS50’s Introduction to Game Development. Features randomized pipe gaps, medals, and a pause system.

License

Notifications You must be signed in to change notification settings

huzaifa-gamedev/cs50-flappy-bird

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐦 CS50 — Flappy Bird

LÖVE2D Language Course License

Course: CS50's Introduction to Game Development
Assignment: Flappy Bird
Engine / Language: LÖVE2D (Lua)


📋 Project Overview

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.


What I implemented:

  • ✔️ 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).

🎬 Gameplay Preview

Gameplay Preview


🚀 How to Run

  1. Install LÖVE2D.

  2. Clone this repository:

    git clone https://github.com/huzaifa-gamedev/cs50-flappy-bird.git
    cd cs50-flappy-bird
  3. Run the game:

    love .

🎯 Controls

  • Space Bar — Flap / Jump
  • Left Mouse Click — Flap / Jump
  • P — Pause / Resume
  • Escape — Quit game

✨ Credits

  • Original skeleton code & assets: CS50's Introduction to Game Development (Harvard). Licensed under CC BY-NC-SA 4.0.

📄 License

  • This implementation: © 2025 Muhammad Huzaifa Karim. Licensed under the MIT License.

For more details, see ATTRIBUTION.md.


✍️ Author

Muhammad Huzaifa Karim
GitHub Profile


📬 Contact

For ideas, feedback, or collaboration, feel free to reach out via GitHub.


© 2025 Muhammad Huzaifa Karim. All rights reserved.

About

Implementation of Flappy Bird in Lua using the LÖVE2D framework as part of CS50’s Introduction to Game Development. Features randomized pipe gaps, medals, and a pause system.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages