Engine: Unity + VRTK
Responsibilities: VR Programming, Puzzle/Level Design
"HRMD VR" is a virtual reality puzzle game, where you traverse through a series of rooms solving puzzles to escape a containtment facility. Each room has a puzzle with a theme, containing artifacts that the player can manipulate with the alchemy mechanic to find clues. This project was developed with the same friend that I worked with for "Grounded" with two more members who assisted in asset building.
To use alchemy, you must bring two objects together by hand to fuse, improve, or create (depending on what's being held). Red and blue light bulbs can be combined to create green light bulbs, small keys can upgrade to big keys, and batteries can activate various devices. Each combination brings you closer to finding a clue or discovering something new. In any case, there is a solution to reward for your curiosity.
Left Joystick - Movement
Right Joystick - Head turning
Right Trigger - Grab object (Use again to drop)
Unlike "Grounded", this project was not binded to any theme or structure as we were to simply "make a game for our final". Initially, I wanted to work on a sidescroller game similar to "Around the House" until my partner opened up the idea of virtual reality. Though his appeal was aimed towards a more immersive, environmental narrative aesthetic, I was more intrigued by how the simulation of the players' hands provided more control of their surroundings. And so, we designed the game to take full advantage of this by having players scrounging through tables and boxes for clues, pressing numbers on a keypad, inserting objects into a bigger device, etc.
The "alchemy mechanic" was actually not a thing until it was improvised as a solution to the dumbest problem I've ever faced. My partner had designed the level to have a realistically dark and creepy appearance, so he wanted a flashlight to accommodate it. I figured, given its importance, the flashlight would make a great tutorial for teaching the player the basic controls of grabbing and manipulating objects. For grabbing, the flashlight would glow when the player reaches for it. For getting the actual flashlight to turn on, a battery was placed next to it as an affordance to put it inside, which I could not get to work for several hours. After multiple failed attempts, I decided to bring the problem to my partner where we decided to sacrifice some realism to make it work. What spawned was the "alchemy mechanic" where, instead of actually putting the battery in the flashlight, the player would bring both hands together, trigger a blinding light, and spawn a lit flashlight on the right hand. You can probably guess what the point of the light was. It was realized to be a defeated attempt at first, but was later became one of the more exciting mechanics to the game. It triggered playtesters to make that association every time two objects were held which were met by disappointment when the lights would not turn on when they did. I did learn later that the Virtual Reality Toolkit (VRTK) I was using did have a solution to my problem, but decided that "alchemy" was worth the trouble as it was later deepened and extended to future puzzles.
These ideas made our game really take shape as an experience unique to virtual reality, but did not render us immune to the other problems it has to offer. Developing on Unity required an unprecedented amount of CPU as the Oculus had to calculate and simulate all the data points retrieved from the headset and the controllers live. This made debugging considerably more difficult as recreating certain defects became inconsistent. Frame drops also frequently occurred when rendering models with more detail and polygons, which is normal, but affected collision calculation as sometimes the player would teleport or run their hands through walls or objects. These were the same problems we had with "Grounded", where we took more measures to improve performance by being more considerate of file size, scripting triggers for seamless load times, and utilizing Unity's Profiler Window.