GenreMini GamePlatformVirtual RealityRoleDeveloperYear2019

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!

This shot is rendered in HDRP

Insights & Highlights

I could’ve manually created the beats for each track, but I didn’t know how many songs would be eventually added. Plus making any adjustments would get increasingly time consuming. 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.

Issues & Challenges

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 plays delayed.