Flappy Chord
December 6, 2025 · View on GitHub

Concept
Flappy Chord is a simple prototype of musical game that reimagines the classic "Flappy Bird" formula as a fun tool for learning music. The bird is controlled by playing notes and chords on a connected MIDI keyboard.
The game is primarily designed as a VST plugin to be used within a Digital Audio Workstation (DAW), but a standalone version is also available. The level progression in the game can be saved as a plugin preset!
Note that this project was initially started as a proof-of-concept for a generic 2D game engine built with the JUCE framework, and was primarily made for fun.
I must confess that I've never been able to beat all 12 levels of the game myself! If you manage to complete all of them, I would be thrilled to hear about it. Good luck!
How to Play
- Look at the Target: At the top of the screen, a target note or chord is displayed (e.g., "C", "Gm", "Fmaj7").
- Play to Flap: Play the correct note or chord on your MIDI controller. A correct input will cause the bird to "flap" upwards.
- Navigate the Gaps: Guide the bird through the gaps between the obstacles, just like in the classic game.
- Change the Harmony: Flying through a gate will set a new target chord, challenging you to adapt quickly.
- Don't Hit the ground! Colliding with the ground will force you to restart the level.
Features
- MIDI-Powered Gameplay: Connect any standard MIDI controller to play.
- Chord Vocabulary: Progress from single notes to power chords (fifths), full major/minor triads, and 7th chords.
- Musical Accompaniment: An automatic bass arpeggiator plays a bassline that follows the harmonic progression of the level.
- Scoring and Progression: The game tracks which levels you have completed, encouraging you to master each stage.
- Customizable Note Display: Switch between standard (C, D, E) and French (Do, Ré, Mi) notation styles.
Compilation
This project is built using the JUCE framework.
The repository depends on the repositories juceGameTools and cppMusicTools.
To compile the project, follow these steps:
- Clone the repository with submodules:
git clone --recurse-submodules https://github.com/your-username/FlappyChord.git - Open the project in the Projucer: The Projucer is JUCE's project management tool. Open the
FlappyChord.jucerfile located in the project's root directory. - Set up your exporters: In the Projucer, select the exporter for your desired IDE (e.g., Xcode, Visual Studio) and save the project. This will generate the necessary IDE project files.
- Build the project: Open the generated project in your IDE and compile it.