Inspiration

Rhythm gaming is a genre that spans several form factors, whether it be computer mice, pens, drawing tablets, or even a person's legs (Dance Dance Revolution); the genre consistently looks for more and more engaging ways to deliver its content. While keyboards are often an aspect of rhythm games, we believe they are overlooked in their capacity to engage a user. Our project is inspired by the underappreciated keyboards in rhythm gaming and brings the focus directly onto the keyboard in front of the user and attempts to give them a newly engaging experience.

What it does

KeyNote turns a user's keyboard into the game itself. The user will find familiar rhythm game cues consistent with the genre displayed on their screen in a keyboard layout. They must hit their keys along with the rhythm of a selected song. KeyNote allows a user to upload song files and automatically creates a "beatmap" for the uploaded songs. Users familiar with other games in the rhythm genre may recognize the .osu import option next to our song upload button; this option allows users to upload their favourite osu maps through .osu files and attach them to a song in their library, allowing players to enjoy their favourite songs in a new form factor.

How we built it

KeyNote was originally meant to be developed as a JavaFX program; during some issues with our compilers, we decided to take our designs and apply them to an HTML, CSS, and JS stack. This webpage version of KeyNote is what we have built so far, though we continued developing the JavaFX program.

Challenges we ran into

KeyNote requires a lot of moving parts; it accepts files, some of which are not very common (.osu) and sets them up to play or construct things like beatmaps. Coordinating these functions into a consistently operational program was quite difficult as we worked through adding and implementing features.

Accomplishments that we're proud of

KeyNote's ability to receive .osu files is something we are quite proud of; the unconventional file type includes lots of information that wasn't directly relevant to our program, and it was very interesting to work with such a different file type.

What we learned

Even if the JavaFX version was not completed on time, it proved to be critical for the later HTML, CSS, JavaScript release. Many design choices were directly applicable and helped us understand Java program structure.

What's next for KeyNote

The next major step for KeyNote is to release the JavaFX version

  • Complete the keyboard overlay whilst playing songs
  • Complete parsing for .osu files (currently, only non-hold notes are supported).
  • Finish user-interface, add animations

For the web-browser based version, the next plans would be to incorporate more complex patterns. A few notable future additions would be:

  • Extended slide notes
  • Slide notes for different keys
  • Simultaneous button combinations, to further test player's skill!
  • Player Combo
  • Local Score Saving
Share this project:

Updates

Submission history