Line Bender is a VR Puzzle/Horror game I created in Unity alongside Timon Hume as a project for Intro to VR at CU Boulder. In this game, the player is trapped in a set of rooms with an enemy roaming around. To escape, the player must unlock the exit by solving puzzles involving bouncing lasers through targets, all while avoiding being seen and caught by the enemy. I was responsible for the programming side of the project, including implementing VR controls, enemy behavior, and general game mechanics.
One of the key elements of this project was creating intuitive controls for when the player is interacting with puzzle elements. To solve puzzles, the player must place reflective cubes in the correct positions and orientation to reflect lasers through targets. In VR, placing the cubes with the correct orientation can be very challenging: the slightest change in the cube’s angle can result in the laser missing the target by quite a distance. In order to help player’s make slight adjustments to the cubes’ orientation, I created a tool for players to use which allows them to adjust the orientation without affecting the cube’s position. When the player’s hand gets close to a cube, a green “handle” is drawn around the cube. If the player grabs this handle instead of the cube, their hand’s position will start affecting the rotation of the cube until they open their hand. This is similar to how rotation tools work in 3D modeling software like Maya or blender. By moving their hand around the cube, the player can rotate it without affecting its position. The rotation is determined by difference in angles between the cube and the grab and release positions, meaning players can increase the precision of the rotation by moving their hand further from the cube, reducing the amount of rotation resulting from their hand’s movement.