A modern C++ implementation of the classic Flappy Bird game using SDL2.
This project is a reimplementation of the Flappy Bird game using C++23 and SDL2. The game features smooth animations, sound effects, and a familiar gameplay experience.
- Modern C++23 standard
- Cross-platform compatibility using SDL2
- Smooth animations with frame rate stabilization
- Clean object-oriented design
- Multithreaded game logic for better performance
- Score tracking and medals
- C++23 compatible compiler
- SDL2
- SDL2_image
- SDL2_mixer
- SDL2_ttf
- CMake 3.20 or higher
To build the project on Linux or macOS, follow these steps:
mkdir build && cd build
cmake ..
make
vcpkg install
mkdir build && cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE="%VCPKG_ROOT%/scripts/buildsystems/vcpkg.cmake" -DCMAKE_GENERATOR_PLATFORM=x64
cmake --build . --config Release
After building, you can run the game from the build directory:
./FlappyBird
After building, you can run the game from the build directory:
.\Release\FlappyBird.exe
- Press Space or Up Arrow to make the bird flap its wings
- Press M to toggle mute
- Press Escape to quit the game
The project is organized into several modules:
core
: Core game functionality (game loop, resource management)game
: Game entities (bird, pipes)