Lessons Learned From Propeller’s First VR Game for HTC VIVE
Adding a second developer solved the majority of these problems and was organized as one person working at a computer and the other standing in the play area waiting for the cue to go in and out of VR. This allowed the tester to remain in a safe testing area while their partner guided them around physical limitations and directed them to testing parameters. This also has the added benefit of letting the coder make live tweaks in Unity during game play testing. We were able to test changing physics properties on objects to determine how best to stack blocks, as well as figure out how to best reposition items for the player’s perspective.. At some point we went a step further and cycled a third person into the development system: our designer. Since so much of VR development uses plug-and-play widgets, a designer is able to vastly improve VR aesthetics even if they lack programming experience. He thought about things we hadn’t considered, like adjusting shadows, adding objects far off in the distance that only the acute observer would find, as well as perfecting the lighting angle and color.. In our game, we wanted the player to have the option of going up higher as they stack upward so they could potentially continue endlessly. We built a platform that acted like an elevator, with a switch attached to it which allows players to go up or down by pushing buttons..
The switch was fine for me and my pair developer, but we got mixed reviews when we let other people try it out. Some thought it worked well, but others had trouble reaching it. It turns out some people are really tall and have problems reaching things at a fixed height and location. There were also people who just didn’t like having to look for and click on an elevator button in the midst of stacking blocks.. After consistently receiving the same tester feedback, we became convinced that utilizing other buttons on the control pad was the best implementation for this functionality. We removed the elevator switch and decided that holding up or down on the touchpad would control the elevator direction. We also added arrow indicators on the controller model to make this even more clear.. On most platforms, keyboard input methods are clear, established, and not given a second thought. Within VR and AR, there are no clear standards yet..
We experimented with keyboard APIs we found available, but no format gained a dominant following (or provided a great user experience). So instead, we built our own. Basing it off what a real-world parallel might look like, we provided large letter blocks for the user to hit.. This turned out to be difficult to use, tiresome even, and more work that I anticipated. I failed to consider the amount of arm movement and accuracy it would require. Humbled by the clunky experiences we’d attempted, we returned to using existing keyboard APIs. The SteamVR API turned out to be relatively easy to implement, but we’re looking forward to riffing on new keyboard interactions until a dominant VR text-input standard emerges.. The purpose of HeapVR is to stack blocks into the tallest possible tower without the structure collapsing. As such, we started with standard physics and began to test the stacking. No one could stack more than 8 blocks high, which made us realize that realistic physics wasn’t all it’s cracked up to be.. The Unity Engine gives us the ability to adjust the presence and properties of physics, and we experimented with most of them in our quest for more compelling gameplay. The first adjustment we tried was making the blocks weigh less, and then weigh more, but this did very little for their stack-ability. So then we cranked the drag property way up high. You can think of the drag property as the rule in physics that causes a feather to fall much more slowly than, say, a truck. With this change, one could now stack forever or even in mid-air, since it took so long for the blocks to fall..
With that in mind, we pulled the drag property way back down, but higher than we started at, finding the perfect sweet spot. Blocks still fell to the ground more slowly than you would expect them to, but our justification was that we’d just insist the player was stacking on Mars if anyone questioned us.. With our “improved” physics, we found a sweet spot between challenging and rewarding stacking game play. However, it felt like we were still bound by a low skill-ceiling. No matter how good a player became, they couldn’t stack higher than the simple physics allowed..
In order to improve the game, we turned to a secondary game mechanic: floating “ghost blocks.” These mid-air “anchors” forced the user to adjust the structure of their towers, but also allowed clever players to reinforce them.. HeapVR was the first VR game we created at Propeller. It is a game where players stack blocks strategically as they are slowly elevated upward. After 100+ hours of development into our project, we came out with a structured development process, several lessons learned through user testing, and a deflated ego on how best to input text..
Enjoy this demo for the first game mode release:.