I always like to think about my house as a playground, that is why I try to do a pillow fort every now and then (I am getting incredibly good at it) with mazes, levers and riddles. But maybe I am finally getting old and for the last one I thought that moving mattresses, tables and hanging ropes everywhere was not a great idea because, when the puzzle is finished, I would have to dismantle it and I won’t be able to replay it ever again.
I recently went to my first “Escape the Room” game ever. In these games you are locked for 60 minutes in a room with some friends and have to solve some puzzles to get out. I really had a great time, it adds so much more things to the experience than the video-game versions! I was also well surprised with the difficulty: instead of 4 or 5 very hard riddles you have dozens of smaller ones, making it a more satisfying than frustrating experience… I needed to do one of those Escape the Room games for myself!
I have one HTCVive Pre at home andI really wanted to give it a spin. As usual I wanted to do something a bit different than the usual, I am sure there are plenty of VR-Escape the Room experiences out there, so this became an excuse to explore one of the next steps of Virtual Reality: the touch sense.
At this point we all know that the eyes are a predominant sense for humans, and in most cases if you deceive them you can trick the user equilibrium, orientation and even taste! But accurate and cheap haptic perception is a different thing: sure we have those vibrating controllers, sure you can discourage a player hitting a virtual wall by reflecting something in it (sometimes the best way to solve a problem in VR is just to divert the user attention)… but as soon as the user tries to reach and touch the virtual wall it won’t matter how much the controller vibrates, the illusion is lost.
In the distant future there will be affordable actuators that will block your hands, but I didn’t want to wait for that so the answer was simple: what if the Virtual Room objects are aligned with the real objects? When you reach your hand to touch a virtual wall you touch the wall, when you kick the table you are kicking a real table and lying in the virtual bed…well you get it.
Not all the elements have to coexists in both realities, just the big ones are enough for the experiment, the ones that are more obvious when they are missing. So the first step was to create a room that has the same elements as mine and then throw some puzzles into it.
I had to do the whole project in just 1 day. Using Unity3D, NewtonVR for the interactions and some free 3D models from here and there I ended up spending more time just thinking about the puzzles than coding really.
After gathering some models the first problem became very obvious: how do I accurately scale/measure everything so it aligns perfectly? After trying a couple of quite stupid ideas the perfect answer struck me: the Vive controllers are tracked and exist accurately in both realities! All I have to do is put each controller in an opposite corner of every piece of furniture and, in the Editor, scale it until it matches the virtual controller positions. A few minutes later my bed, table, walls, etc… where perfectly aligned!
Then it was time for the puzzles, I will explain one as an example: in the drawer there were a lot of virtual shirts hiding a small key to open the wardrobe, once opened behind the hanging clothes there were some numbers painted that will give you the code for the keypad behind one of the pictures.
The immersion level
I was not able to track if each drawer is being opened in reality, so the only feel you get here is with the main drawers structure. Also the shirts where virtual so you can only grab them with the Vive controllers, but the feeling was something I have never quite experienced in VR.
I demoed the project to some friends who have been well introduced to VR before, as soon as they started playing everything felt incredibly real: they just had to lie in the bed for like 20 minutes, touching the virtual bed sheets, dropping items in the table… There was a moment where the floor was covered in virtual shirts, photo frames, cushions, etc (all of those purely virtual) and the players were so immersed at this point that they just assumed those were real and tried to walk so they don’t step on them, even apologizing to me for making a mess out of my bedroom.
I had one final trick, of course: the goal of the game was to find a treasure in my bedroom, but everyone forgot that one of my walls is on wheels revealing full access to the living room. So when the final puzzle is solved I would move my real wall at the same time as the thick, virtual wall slides revealing a mountain of Super Mario coins. The feeling of being somewhere else, but so palpable is something that really changed the way I perceive VR, now everything else feels very dull again (like when you discover positional tracking). Hopefully one day I will be able to do a configurable version so anyone can try at home, for now attractions like The Void or doing a custom solution will be the only way to experience the future of VR!