Inspiration

I always liked playing rythm games and I've been wanting to make a game myself for a long time now. Seeing this hackathon was just the push I needed. I looked at the games that were made and I realized there were not any musical / rhytmic games.

What it does

You try to tap the tiles that are coming down at a certain speed, your every hit plays a note so you have the freedom to make certain musical expressions too like slowing down or going faster at some places. There is also a streak line that helps you to hit the notes at a steady rate, this increases your streak and your longest streak gets added to your total score.

The main challenge is a daily one and the piece you play changes everyday but don't worry you can still go back and play the older pieces, you just won't be scoring in the Daily category for them. After the end of the day the highest scorer for each difficulty version of the piece gets one Daily Won point and this can be looked up on the leaderboard.

How I built it

The first time I saw the hackathon I was very excited. I got around to creating millions of ideas right away, I explored these ideas deeper and then decided on my Piano Sprint game idea. This game was basically built with a lot of coffee and sleep deprivation, I might have found about this hackathon a bit late.

I wanted to give Phaser a try but I quickly realized it would take me too much time to learn it. So I went with what I know best, plain Javascript.

Writing this line literally 2-3 hours before the deadline. I'm still at it. One last feauture. One last bug.

Challenges I ran into

I certanly had the time of my live trying to make a midi to json chart converter and having that chart have a good gameplay. This by far took most of my time and it still needs work. Finding a piece, editing some parts, having it convert to json chart, trying out the gameplay, trying to edit the chart for different difficulties. It is very hard and challenging. The other challenge I came across was Devvit, since this is my first time building something on this platform, even though it was difficult because it was new, it was fairly enjoyable to work with as I just really like back end stuff.

And another challenge I ran into was making gameplay feel good and I don't regret to say I have spent too much time refining gameplay, both for mobile users and PC users. I have added certain grace helpers for touching, timing etc. I'm sure there will be some very skilled people who can get amazing high scores so the way everything felt nice, tactful, fast and compact was really important.

Accomplishments that I'm proud of

I'm really proud of myself for making this in such a small amount of time. I just hyperfocused on it and just suspended being a normal human being for like more than a week. I am also very very surprised at Reddit for having such a platform. I'm proud to be at the forefront of something new and exciting. I'm really proud of the gameplay feel I believe I've gotten. I wonder what players would think of all the grace time / grace hitbox helpers that I implemented if they could observe it very clearly (they can't). For example there is a certain ms of delay after a tile reaches the bottom and the game over screen happens, it's not noticable at all but this will change everything when some crazy person gets to like 200x score multipliers at the hard mode, the delay between the device and the software I hope will be fixed.

What I learned

I've learned that making a game is difficult. As much difficult as making a full stack web application. Apart from the similar problems that can happen at both of these areas, game dev definetely has a set of unique problems, bringing this together with Devvit opens up a lot of possibilities.

What's next for Piano Sprint

It would be really cool to have user uploaded music as well but licensing needs to be researched. I want to work more on making it more social. I'm working on users challenging each other right now, I want to have different songs each day as daily challenges and I want people to vote for the next song/piece. Maybe I could get some popular songs if I can solve the licensing issues.

Charting right now takes a lot of time, I did made a tool for it but my expectations are much much higher. I'm thinking of making another tool where I can edit every tile. I'm gonna be working on perfecting the charting and the social aspects of the game.

Share this project:

Updates