Groovekeeper Logo

Groovekeeper

In Spring 2026, I led the team for Groovekeeper while also being the head programmer. Groovekeeper is a boss battle rhythm game where you need to punch notes to the rhythm of the song to survive the bosses' attacks in the chase phase and defeat them in the boss battle phase. I was in charge of the art and music direction and help lead the game to have its coherent visual and audio style. I also implemented a lot of the UI art and gave it visually pleasing animations.

Role Team Lead & Gameplay/UI Programmer
Team Size 30 Developers
Duration 3 Months
Engine/Tools Unity / C#

Song Select Menu

I wanted Groovekeeper's song select menu to be very dynamic and fluid. Using the custom assets provided by our UI artists, I implemented a carousel selection system. This allows players to rapidly navigate through available tracks and bring up dedicated song metadata, difficulty charts, and track details simply by selecting the central, active song slot.


Beatmap System

While I initially planned to use MIDI files to write Groovekeeper's rhythm charts, Unity natively cannot parse MIDI files. To get around this, I converted the files into standard BYTES data. I then set up a custom parser script to read the raw bytes and read data like pitch notation (SPN) and duration to map note lanes, double notes, and hold notes.


Music Sync

A perfect audio-visual sync is critical for a rhythm game, so I made an audio engine to prevent any visual latency. The system starts note scrolling and audio playback concurrently, providing inspector variables so designers can configure offset delays, custom note speeds, and difficulty data. This system significantly sped up the team's level implementation process.


Boss Battle

To increase gameplay stakes, I worked with my team to design a boss battle mode. I programmed the backend logic and the user interface for this mode, using the core audio tracker to sync actions. Instead of reading a rhythm chart, bosses cycle through attacks structured as custom structs, containing move types and beat timings. Boss animations are triggered in rhythm with the tracks BPM as well.

Back to Games