This shot was rendered in HDRP!

GenreCasual MinigamePlatformQuest 1RoleDeveloperYear2019Duration2 months

About

A musical minigame about hitting beach balls to the beat of a song. Designed to help the elderly & disabled to improve their motor skills in a fun and intuitive way. Select from different songs or choose from your own on your headset. Try and keep your combo and get the highscore!

Details

I had a conundrum when creating the music/beat system. I could’ve manually arranged beats for each track, but I didn’t know how many songs would be added. And adjustments would’ve been increasingly painstaking. My approach was to create a system that can analyze audio in real time and generate balls to the beat. This ended up being the far better solution as it wasn’t as hard as I thought it would be.

The concept of a musical beat game wasn’t new, Beat Saber was already the number one Quest app. I was curious about one thing, did they design the beats for every song OR did they determine the beats in real time and spawn them accordingly? In retrospect I think Beat Saber’s tracks are all predesigned. But I went down the other route of making a system that would work on the fly for any system.

This was a huge challenge for me, because I don’t know anything about music! From my research, I looked into libraries that could analyze audio frequency and spectrums. I tinkered with several audio systems and different algorithms before I got it right. However my system could only analyze in real time on audio that is actively playing. In order to spawn balls beforehand to arrive at the right time, I created two audio tracks in Unity. One that only the analyzer can hear, and one that only the player can hear, which played delayed.