Improving the Player Experience

Game Options

The first thing I did was to make it so all the tracks' notes were available to play at once. I also added a minimum note duration to try to adjust how frequently keys needed to be played. The notes all stacked on top of eachother in an overwhelming way, so I needed to work on how I could tune the rate of notes so the game didn't feel frustrating.

Later in the day, I also added an option for Minimum Note Distance. Note Duration did not turn out to be a very effective filtering tool, but the distance between two notes helped to keep the notes from stacking up overwhelmingly. I exposed these settings so the player could set their own difficulty.

Visual Scoring

I needed a way to indicate how the player was doing as the game progressed, and the score board over the top of the canvas was inconvenient to look at with notes moving steadily down the playing field. So I worked on adding code to change the color of the notes indicating how they were scored. I went with a Green, Yellow, Red pattern because I am familiar with their meaning due to how stop lights work. Green is good, yellow is caution, and red is bad.

Performance and Playability

I still hadn't addressed my performance issues yet. I figured there would be no point in optimizing yet because I didn't know how much more I would need to say the game was functionally complete. The game was still choppy, although I had moved to 10 millisecond intervals instead of 20 millisecond intervals because at 20 milliseconds, the scoring felt sluggish to respond. With the change, the game still stuttered, but the scoring felt more responsive.

I started building up a set of optimizations in my head. I believed my issue was looping over the notes so much every interval, so I started thinking of ways to trim them down. I still had more bugs and and UI improvements I wanted to make too. Having so much to do on my list and seeing how many things I was crossing off left me energised to keep working towards this game I really wanted to play. I told my friends I was having just as much fun tweaking the game as play testing it. In the back of my mind, I know I should write some Playwright tests for it. One day I will!