I think this is a cool idea for a game. A couple of things I noticed about the video:
The playing doesn't quite line up with the music at times. If the song plays regardless of whether the keys are pressed, it would be cool if the timbre changed as the player hit the keys to make it sound more lush or vibrant.
Maybe you have this already, but it also might be a good idea to allow a metronome to play as well, or some basic percussion in the background to help the player keep time.
It would also be cool to allow a free mode where the player can jam out however they please. Since you're working with MIDI, maybe even let these sessions be recorded as MIDI files (although that might get it further away from a game and closer to a tool)
I profoundly appreciate your positive and detailed response. So let's starting addressing your considerations and questions:
1. The playing doesn't quite line up with the music at times: You absolutely nailed. In this particular gameplay the penalization when you miss a concrete note is so low that you hardly notice that the song and the playing is async playing. With this I mean that you GENERATE sound only when the note placed somewhere in the grid is touched in a determined interval time before that note would appear in the real MIDI.So for example:
A4 appears at 01:30:234. The player would then be prompted with a color gradient animation 1 SECOND before that (in this case: 01:29:234 in the gameplay). So the gradient intensifies until 600ms before the note appears in the MIDI (this threshold was built via experimentation and several neurological research about time response to visual stimulus). So the player now CAN touch the note to be perceived by the system as WELL PLAYED. If the touch is placed in this interval the note would be effectively reproduced at the associated time in the REAL MIDI. This system design choice was made because with this manipulation the overall sound quality was reproducible and constant among every play and close to the real MIDI (song).
2. Metronome: Once again, you nailed it. If you go to the beginning of the video you will see that we already thought about the learning curve of the game. So there were 3 MODES respectively, each one with a different tempo.
Easy: tempo is x0.5
Moderate: tempo is x0.75
REAL: no tempo modification from the real song, so this would mean equal bpm.
Also the gradient animation and the time interval given to the user in these different modes would change according to the coefficient that manipulates the tempo.For example in the easy mode the interval goes from 1 second to 2 second and now has 1200 ms to touch the note in time. The sound is also affected by the tempo, so as you would expect the song is played slower.
3. Free mode: We had and used it internally for research purposes. Like how we should arrange the notes over the grid for the most natural hand position. But we didn't release it because we wanted to lead the user instead of throwing to the market another beats application hahaha. We got inspired by guitar hero but for the launchpad instead.
Hope you find this reply good enough, have a great day!
HAHAHA, that reviewer got some great points right there about the game.
You didn't miss the beginning randomly, because I intentionally pointed the link to start in a frenetic part rather than the actual beginning of the song. I also didn't provide any visual evidence of those modes, since in that channel we deleted every video and left this one. The older one.
I didn't know about that game, but it seems interesting in appearance haha. Ages ahead of our creation for sure