Project Overview
This project is a Flappy Bird clone built with glm and C++. The goal was to recreate the classic gameplay mechanics, whilst trying to include position based dynamics for more realistic physics.
Key Features
- Procedurally generated pipes
- PBD Collisions (without working physics)
- "Ethically obtained" custom textures
Gameplay Video
Watch a short video of the Flappy Bird simulation in action:
Gameplay Mechanics
The flappy bird is affected by gravity and jumps with player input (spacebar). Jumping imparts upward velocity, and collisions with pipes restart the game reseting current score. Pipes move horizontally, their positions are reset as they exit the screen, and a randomizer decides the new pipe lengths. Players can also reset the game by pressing (r).
Technical Details
I started with the skeleton code from Assignment 5, and added the texture files from Assignment 4 for 2D animation. Then, I added the textured character and pipes, got the pipes moving at a reasonable speed, and randomized the pipe configurations. Then I worked on collisions and did not finish setting up PBD for realistic physics bouncing off the pipes.
References
Below are the texture maps and background used in the project.


