My first experience with virtual reality came years ago, on a family trip to Disneyland, in the form of a Magic Carpet VR game. I remember pulling off the bulky headset, stepping down from the machine and feeling like I'd been snapped back from another world.
I also remember feeling incredibly nauseous, but that was par for the course on a childhood theme park trip. And while my tolerance has increased in the ensuing years, I have to confess that I still start to get sick if I spend more than twenty or thirty minutes using the Oculus Rift DK2 development kit or Samsung's first GearVR headset.
Admittedly, both are billed as unpolished hardware aimed at developers. But I think hardware refinement can only go so far towards solving this issue; developers are ultimately going to have to figure out a whole new ruleset for VR game design, and it seems like the only way to do that is to dive in and start tinkering.
With that in mind, I spoke to a few developers doing just that to find out what their trickiest problems were in designing VR games -- and how they've learned to solve them.
“Rotation is often a particularly tricky problem,” admits Darknet developer E McNeill. “Smooth, gentle, slowly accelerating rotation turns out to be the worst possible solution to this problem, which I'm proud to have discovered firsthand.”
He says he’s had better luck with quick camera turns in discrete increments, but they still tend to make people sick. For Darknet, he decided to simply fade out the camera during rotation, which “caused disorientation or change blindness, but never nausea, which I felt was a worthwhile trade.”
“We found that rotating the camera caused a lot of people to feel uncomfortable,” concurs Robot Invader co-founder Chris Pruett. In developing the exploratory first-person VR mystery game Dead Secret, Pruett says his team abandoned traditional FPS movement in favor of a more abstract camera that moves when the player looks at a visitable area, sees an icon and selects it.
“We also took all acceleration out of our locomotion,” says Pruett. Early in Dead Secret's development, when it was only a mobile game, players would move between points in space along splines, gently easing around curves. However, “after switching to VR this easing acceleration became problematic -- several of our testers found it uncomfortable,” says Pruett.
Now, Pruett and his team have removed the splines entirely in favor of focusing on straight movement at linear velocity. "Having worked on games for years, we were sure that this would feel terrible," he says, "but surprisingly it is much better than the previous implementation.”
You can also reduce your chances of making people ill through canny level design that respects the player's ability to comfortably rotate their heads, which are now effectively acting as the game's camera.
“We design our levels to fit the constraints of the camera,” says Playful Corp. designer Dan Hurd. His studio is working on Lucky’s Tale, a third-person 3D platformer for VR headsets. “We've experimented with many configurations, but prefer to have runs that align with the forward axis of the camera," which means it's traveling primarily behind Lucky as the character moves through the world.
Footage from Lucky's Tale -- note how the camera moves
“From there, we like angles that are roughly 45 degrees for the majority of turns, with more extreme (but more sparsely applied) turns going up to 90 degrees, which is not comfortable for extended periods of time," recommends Hurd. "Vertically, limiting your angles can help a lot, but you have more range upwards than you do looking downward (with your chin in your chest).”
You also have to rethink how you position assets, because Pruett says players tend to get ill when they’re asked to focus on something that’s very close to their nose in (virtual) space.
“When we put a player too close to a wall, or allow a door to swing open too close to the player’s nose, some people have an uncomfortable reaction,” he notes. “Once we identified this, it was fairly easy to fix -- we just never let players get that close to objects in the world. It just wasn’t something we knew going in and it had some implications for level design.”
You can see how Robot Invader maintains camera distance in this Dead Secret trailer footage
This is probably a good time to point out that a study performed at Purdue University this year suggests that putting a fake nose in your VR game may make it less nauseating to play.
Hurd agrees with Pruett, saying that Playful has found the “sweet spot” of VR to be roughly an arms-length away from the player’s eyes. Hurd's team basically figured this out through trial-and-error, as they were mucking around with inter-pupilary distance settings in the early Oculus Rift SDK.
Back then, “this was not a recommended thing to do as the implications of changing this number weren't fully understood, and it could lead to VR sickness,” says Hurd. But Playful engineers abused the setting to figure out what effects the Rift could simulate, and found that upping the IPD would make games feel toy-like (“you were essentially becoming a giant”) while narrowing the IPD makes game worlds appear to stretch out to enormous sizes and loom over the player.
“We realized that if we raised the IPD just enough, the level still felt immersive and 'real', but the detail and geometry was pulled in to the 'sweet spot' of VR,” says Hurd. “This also reduced the speed that the camera would have to travel to catch up to Lucky, which made for a more comfortable experience.”
Finally (and perhaps most obviously) “the simplest advice is to keep the framerate up,” says McNeill. “Otherwise you get latency, or the world starts to stutter, which can contribute to nausea.”
McNeill spent a lot of time on optimization to ensure his game stayed as smooth as possible, though he notes there’s “no such thing as ‘too much optimization’” when you’re making a mobile VR game.
“When we start to render below 60 frames per second for more than a moment or two, our testers start to feel uncomfortable almost immediately,” says Pruett. “Frame rate seems, in our tests, to be the vector for motion sickness that is most common. The other factors change from person to person, but a low frame rate seems to feel bad to almost everybody.”
But every developer I corresponded with was quick to point out that the field of VR game development is still poorly understood, and all of this advice could prove totally off-base. “In the end, I think most developers are going to have to rely on trial and error,” says McNeill. “And trust me, the error part is no fun.”