This week, my primary focus shifted toward refining the overall system and game design, as well as contributing to the design presentation to better articulate how users will interact with the platform. Rather than implementing features directly, I spent time thinking through the structure of the learning experience and how gameplay mechanics can meaningfully support skill development for beginner and intermediate drummers.
Specifically, I designed a level-based learning system in which users progress through increasingly difficult stages (easy, medium, and hard). Each level consists of a song that the user plays along with, while the system tracks performance by comparing expected drum hits against the detected input from the pads. A “miss” can be defined as either failing to hit a required note within a fixed timing window or hitting an incorrect pad. At the end of each song, the user is presented with a performance summary showing the number of correct hits versus missed notes, along with an overall accuracy percentage. If the user achieves greater than 95% accuracy, they are allowed to advance to the next difficulty level. This structure provides clear, measurable feedback while still keeping the experience game-like and motivating.
In addition to the core progression system, I also thought through extensibility of the platform. One important design goal is to allow users to upload their own .wav files so they can practice with songs they enjoy, rather than being limited to a predefined library. This introduces additional challenges around difficulty classification and timing extraction, which will need to be addressed in future weeks, but it aligns well with the project’s emphasis on flexibility and personalization.
Because my efforts this week were primarily focused on design and planning rather than implementation, I am slightly behind in terms of direct software development. However, I believe this time was well spent, as it clarified the requirements for the game logic and will make future implementation more structured and efficient.
My next steps will be to help decide and curate which songs belong in the easy, medium, and hard categories, and to begin translating this game design into a minimal interactive prototype. This will involve defining the exact criteria for hits and misses, implementing basic game state transitions, and preparing the interface to accept timing and sound information from the drum detection pipeline once integration begins.
