The new dimension of creativity



Being my first 3D personal project, Fortunato has presented both a lot of new challenges, but also opportunities. I have to admit, initially getting used to working with a 3D editor has been quite confusing, compared to the 2D one I was so used to. In the end, I learned how to work with it comfortably and use at least some of its full potential.

Working with VR



There are a lot of things to consider when working with VR. There are more obvious aspects such as performance and accessibility. Without knowledge of these, your dream VR game could turn out to be nearly impossible to play without inducing terrible nausea in most people playing it. For that reason, I have chosen Unity’s Universal Rendering Pipeline, as it supports much lighter projects and allows for better performance even on limited VR hardware. Another aspect of making VR games is much more subtle. While most games could technically be ported to support VR controls, few would truly benefit from it. With freedom of movement, the player receives a whole new dimension of input, and making full use of it is a part of good VR game design.

Inspiration and ideas



Of course, it is easier said than done. It’s not that easy to think of VR exclusive mechanics and game ideas that haven’t already been done. My recent progress with a coursework using Hieroglyph3 for my 3D rendering module, made me realize the importance of light in a scene. Without light, perception is severely limited. In real life we have other senses that we can use to find our way in complete darkness, but emulating those in virtual space can be a challenge. Here we can see a clear advantage that VR controllers bring to the table. While we can’t physically feel the wall in a game, nor can we touch objects to get a feel for their shape, we can try to simulate the sense of touch using light and vision as a proxy. By attaching two small lights to the player’s hands, they can “feel” their way around the environment.

The implementation



The implementation itself was quite simple. I had a working VR setup that detected the player’s hands, all thanks to following some online tutorials. Now all that’s left is to put the player in complete darkness and attach two tiny point lights to the palms of virtual hands. Easy to say, equally easy to do. Put the VR headset on to try it out, after designing a test room with some objects to feel around. Immediately some major problems begin shining through. Complete lack of light made it nearly impossible to orient myself in the room, even though I was the one who designed it in the first place. With that level of difficulty, the game would end up much too frustrating for anyone to play.

Overcoming the problems



It became clear that I will have to think of a way to allow the player to see more around them and orient themselves in larger rooms. The best way to solve a problem is usually to ask someone who has had a similar problem before. While my case was quite specific, humanity has dealt with the problem of vision impairment since the beginning of our species. A simple tool which provides great assistance to those lack the ability to see, is a white cane. By moving it around the floor, you get a good idea of what’s in front of you. Implementing it as a tool that the player can use was a challenge, since I wanted to make sure it cannot be lost. Because of that, rather than making it an object that can be grabbed, I chose to bind it to the trigger input, allowing it to be summoned at any time. That addition made the game a lot more playable, but still quite confusing.

The solution



The most prominent issue with testing the game on a map that had multiple, completely dark rooms was orienting yourself in them, and progressing from one to the other. The thing that helped solve the issue of getting lost in a labirinth of my own creation, was adding static light sources to each of the rooms. Those light sources would not light up the entire puzzle, but rather simply give you a point that you can look at when completely lost. Such a small thing, but it made further development a far achievable prospect.

Testing



One of the great advantages that game engines offer, is being to make changes to the scene in real time. This has become quite problematic when I cannot see the editor with the headset still on. While the game was very much a solo project from the start, I soon realized I will have to work as a part of a team for testing purposes. Having another person wear the headset and interact with the environment while I could freely adjust the grab positions of some objects made the entire process much easier.

The aftermath



The game has been finished in around 5 days, and published on Itch.io soon after. I see it as a great learning experience for myself, as well as an impressive achievement of finishing a project without physical time constraints such as a game jam. I have made it only to gain experience and try something new, and in that aspect I see it as an absolute success.

Website by Radoslaw Dorociak.