Developing for the HTC Vive: Real Tips for Crafting Virtual Reality Experiences

13 Oct 2015

After writing about developing for the Apple TV here …and here…and, well, here…we thought it’d be a good idea to switch gears on the dev front and tackle the virtual-reality device known as the HTC Vive. Here, Chaotic Moon Lead Unity Developer Omar Khan presents some solid info and breaks down some key things to keep in mind when crafting amazing VR experiences with the HTC Vive.

The HTC Vive is the result of a collaboration between Valve Software and HTC. The goal? To develop a next-generation version of a head-mounted display, giving users the opportunity to experience virtual reality in a whole new way.

In terms of hardware, the platform consists of the HMD, two hand controllers, and two laser sensors that must be mounted above the user, against the wall. These sensors allow for limited movement in a 3×4-meter square in the room.

One of the key distinguishing features of the platform is that, through the use of these sensors and the controller, the user has the opportunity to actually walk around the virtual reality space. The hardware is able to correctly detect their actual position and render that to the virtual reality environment, and this allows for a more immersive VR experience than ever before.

When it comes to crafting VR experiences and really taking full advantage of the HTC Vive and its potential, these new hardware features add important design considerations to keep in mind:

-Given the freedom of movement the hardware allows and the addition of custom controllers that allow for many points of interaction within a virtual reality scene, it is best to craft an experience that allows the user to walk around the space and directly interact with various objects in the virtual space.

-The controllers can be used to pick up, grab, place and throw virtual objects within the scene, which presents the opportunity to utilize the controllers in unique and expressive ways.

-When creating the entire experience, it’s important to consider the user’s 3×4-meter range of motion. These parameters allow for small, bite-sized experiences that–due to restrictions in the physical space–need to be limited within the virtual space and match the user’s allowed range of movement.

The two main 3D game engines, Unity 3D and Unreal 4, both contain out-of-the-box support for the HTC Vive. This allows developers to quickly and easily create virtual-reality experiences, as the VR SDKs for the HTC Vive are already integrated into the engines and ready to use.

When it comes to working with VR versus traditional 3D games, there are many significant differences—enough for another post entirely—but here are some key points to consider:

-Framerate is critical and, when not mastered, has the potential to ruin an otherwise magical VR experience. Framerate is the number of times that the video card refreshes the entire screen consecutively to display the 3D content. The magic number for VR experiences is typically about 90 frames per second. To hit this number, it’s critical to have a very powerful video card (the recommended specs from Oculus Rift can be found here), but you also need to reduce the number of post-processing effects and other expensive 3D operations in order to ensure a smooth experience.

-There are many optimization considerations from 3D mobile applications that are also useful to keep in mind to create efficient but still beautiful experiences. Sometimes less is more, and you can craft gorgeous environments that would be considered low poly. (A great example of this is Land’s End.)

-Ensuring that the interactions available to the user make sense in the world being created—as well as ensuring that those interactions aren’t too complicated—goes a long way towards immersing the user in the experience.

-Since the user has to physically move around the space themselves with the HTC Vive, typically it’s best not to make the experience too physically exerting or demanding for the user. The VR experience shouldn’t be similar to, say, a typical first-person or third-person shooter game. Instead, there’s excellent potential for taking a classic adventure game and creating an elevated experience. After all, when it comes to the Vive, what’s going to be most enjoyable is a puzzle-like game that allows the user to manipulate virtual objects within the space.

In summary, VR has been in existence for a long time, but it wasn’t until recently that the technology has come far enough or become pervasive enough for the average consumer to enjoy these virtual experiences in the comfort of their own home. And as advanced as VR has become, we’re still just beginning to discover the best ways to utilize the platform and explore this new technological frontier.

Stay tuned, world: When it comes to VR, we’re just getting started.