As part of the recent Udacity VR Teamworks Challenge, Team Aech created a unique VR experience where the user utilizes the microphone to interact with objects in the game.
MagicBalloons is a fun, interactive coloring experience. Players can aim at any of the 3 balloons around an object, and inflate/deflate them by inhaling fast/hissing to change its RGB values. Players can also move around to different areas in the scene by clicking on different way points. This game was created in C# using the Unity game engine.
Here we have a Princess with default RGB values.
After hissing to make Red and Green balloons smaller, and inhaling to make Blue balloon bigger, we have a violet color!
We started our slack group and brainstormed ideas around the current Teamworks theme, “Color”. There was a huge amount of shooters already, and simple point-click VR games out there, so we wanted to do something different. We decided on a game where the player can color objects with RGB values but did so by using the microphone.
Our first draft of game design:
Having decided on the idea, we began working on the project by splitting it to 4 parts: the scene, sound interaction, balloon RGB color change, and game mechanics.
We wanted the user to interact with different themes, so a few test renderings we decided on having the following areas: Garden, Castle, Xmas, Halloween, and a starting area for tutorials on the mechanics. Each scene has objects related to their respective them: Garden has Apple, Banana, Pear, and Halloween has Ghost, Skull, and Candle. We populated the scenes with assets from the Untiy Asset Store, turbosquid.com, and free3d.com.
All of our team members had a Google Cardboard, so we decided that will be our platform of choice. Having seen countless GVR games where tapping is the only interaction for the player, we wanted to implement an intuitive interaction method without using the cardboard button. We decided on a universal method: making noise with our mouth. After some testing, clapping hands and air kisses were also possible as methods of interaction. After going through a few tutorials we were able to implement this solution to our project.
Link to Unity Microphone Input tutorial: https://www.youtube.com/watch?v=CdNBsWowRbE
The core part of our project was the ability to change color of objects in the scene. Initially, we planned on using a custom shader but soon realized it is much easier to change the color using the Renderer component. We created a prototype of this mechanism and later implemented it into the scene.
The original plan was to implement a level-design where the user would have to match a shown color with the object by inflating/deflating the balloons near it and receiving a score for how fast this is done. However, due to each member’s strict schedules and the short length of this Teamworks Challenge, we were not able to implement this to our final project.
Despite our busy schedules, we enjoyed working together on the Teamworks project and are very pleased with what we have accomplished. It was fun, and challenging. We learned from each other through fixing technical errors, re-iterating on the game design, and working with each other as a team.
There were numerous features we wanted to include, such as a sound bar that shows the Decibel levels of each sound frequency the microphone records, and implementing the level-design would’ve made the game much more enjoyable.