Developer Blog #5: Creating Cosmonote
This week I incorporated the feedback from last week’s “Music Mountain” prototype, and created a new prototype, which I’m calling “Cosmonote” — a rhythm matching game where you climb through constellations. Here’s a video of some of this week’s progress:
Building based on feedback
The main points of feedback from the Music Mountain prototype were:
- Simplify the concept.
- Build a more unified theme.
- Get rid of the climbing picks.
I started with number 3. I really liked the climbing picks, but there were quite a few usability issues, I.E.: How does the user disengage the climbing pick? Should the climbing pick be able to clip through walls? What velocity threshold should I use to detect a successful hit? Etc. Instead I switched to regular grab-based climbing, for which I had previously received a lot of positive feedback on.
Adopting grab-based climbing, led me to another problem: Should the player be able to accidentally let go and fall? This was answered by data from user testing. While demoing, I noticed that users (especially those completely new to VR) would often disengage their secondary climbing hand too early, causing them to fall off the mountain when playing. Though most acclimated after a few more tries, a few found this mechanic frustrating and would give up. To simplify the concept, my solution was to just get rid of falling, after all, this was at its core a rhythm-matching game, so winning or losing should be hinged on how successfully the player matches the beats.
Getting rid of falling meant I turned off gravity, and this naturally led me to the answer to my last challenge — to set the theme of the game, in Space. Since players would not feel gravity, they became an “astronaut” floating in space, awakening “stars” represented by the climbing holds. The progressing music line would be represented by a shooting star, and I could decorate the background with an engrossing collage of galaxies and nebulae. This created a cohesive visual theme, unlocking for the player a sense of interstellar exploration, which I believe helps set my rhythm matching game apart from the current market.
In addition to feedback-related changes, I decided it would be good to simplify the process of creating levels, in order to create a more fluid prototyping environment.
Up to now I had been creating levels in the editor from scratch, which was pretty tedious and especially difficult to edit if I wanted to make small changes such as shifting the position of a few nodes. So I created a “VR editor mode” that the player could enable, allowing them to add new nodes or obstacles by pressing the trigger button. This allowed me to create my levels directly in VR, which was a neat treat —it actually made me jealous imagining how fun the job of future game designers will be. I intend to flesh this editor system out for release so that I can allow players to create their own custom songs out of the box — something that is still left to be desired so far in Beat Saber (although the game’s modding community has done a lot of impressive work).
Just editing wasn’t all though, I also had to solve the challenge of saving and loading in real time. Luckily, I had a system I was playing around with back when I was prototyping a level editor for Locomoto. It took me the longer part of a week, but I was able to adapt the core functionality of my old saving system to now read data that was relevant to Cosmonote. There’s still a few kinks to iron out here, but the core functionality works. With that, I’m now completely free to create and save my own song levels!
So what’s next?
This next week will be about completing the MVP experience. I will be refining my editor and saving system so that I have a strong base from which to build a more polished experience. I will also begin testing more advanced mechanics to add depth to the gameplay. One of my goals for Cosmonote is to get the player dancing (the best thing about Beat Saber), so I want to test different ways I can use the climbing holds to induce different dance moves in the player. Finally, this week I will begin to experiment with the game’s presentation. I’m going to test different backgrounds and aesthetics to create a visually rewarding experience for my players — and get those endorphins pumping! See you next week!