One of the big unsolved problems in virtual reality game design is movement. Standing still feels great, but things go south when you start to move. Many developers have experimented with standard first-person shooter movement systems in virtual reality games, and the result is always nauseating. Even worse, some seem unwilling to admit that their standard FPS controls feel terrible in VR. “It feels fine to me,” is the refrain of a person who doesn’t understand simulation sickness, hasn’t done any testing, and isn’t taking virtual reality seriously. When such dismissals are code for “it’s too much work to change my game design to accommodate comfort,” it might be an indication that the game isn’t a fit for VR at all.
Dead Secret is a first-person game with first-person movement, and we worked really hard to ensure that movement is comfortable. We’ve tested our solution on a wide audience–a large number of people, as diverse as we could manage–and have exceptionally positive results. Dead Secret‘s movement system isn’t perfect, and it’s not a general solution for all first-person movement in games, but it works very well for our purposes.
Before we get into the details of Dead Secret‘s locomotion system, it is worth reviewing the physiology behind motion and simulation sickness. There are a ton of triggers for motion sickness, but the common one for VR is called vection, and it occurs when your brain encounters a disparity between the information reported by your vestibular system (that’s the part of your inner ear that keeps you balanced) and the information coming from your eyes. When your inner ears and your eyes disagree it can feel like the world is moving while you are not. Vection probably evolved as an anti-poison response; apparently there are a lot of toxins that will disrupt your vestibular system, and so your brain’s first move is to make you vomit. This is why you can get sick by reading in a car: your ears report the motion of the vehicle but your eyes, which are focused on the page, do not corroborate it.
Of course, there’s more to it than that. Your body is incredibly complicated and individual responses vary quite a bit. There’s a ton more to learn about how virtual reality can confuse your brain precisely because it is so convincing. For a lot more detail, I recommend this fantastic talk by Oculus’ Richard Yao.
That said, understanding the basics of vection can help us define some base principles for VR movement. Vection occurs when your ears and your eyes disagree. In VR, any movement that you do not make yourself is a potential source of vection. But there’s some hope: as Yao points out, your vestibular system can only detect acceleration, not linear velocity. When you move at a fixed speed your inner ears do not detect any change. Therefore we should be able to avoid vection if we simply remove all acceleration from movement.
If that seems like a tall order, I have some bad news for you. Just about every interesting camera movement you might perform in a traditional first-person game causes acceleration. One of the main reasons that naively-implemented FPS control schemes feel so bad in VR is that they usually continue to rely on mechanics like right stick body rotation. Rotation in place requires angular acceleration, which your ears can totally feel, and when you do it to the player in VR it feels totally bad. FPS run bouncing, originally invented to simulate shifting of weight from foot to foot as your avatar runs, feels particularly bad because it’s a parabolic motion–that’s 100% acceleration, people. Don’t even get me started on canned camera animation; the fastest way to suck somebody out of a VR experience is to take away their head tracking.
Now, if I were to suggest that a traditional game remove all acceleration from its camera, I’d be laughed out of the room. Camera animation is a big part of the experience in a traditional first-person game. But we’re not making a traditional game, we’re making a VR game, and the rules are different. Rather than blindly applying grammar from a different medium we have to come up with theories and test them, which is what we spent the better part of a year doing. The results have very little to do with what works in traditional games, but a lot to do with what works in our VR game.
Here are the rules for Dead Secret’s camera system:
- No acceleration, ever. Linear movement only.
- No rotating the camera (other than rotation coming from the HMD).
- You can only move in straight lines. Prefer not to change direction while moving.
- Motion should be short. Rule of thumb is to keep all motion to bursts of 5 seconds or less.
- Never ever take away head tracking or lock something to the view.
- Maintain frame rate at all times.
That last one is pretty important. In our tests we were able to remove almost all vection from testers by removing acceleration and rotation, but folks still felt bad if the frame rate started to drop. Latency on the HMD is another vector for sickness, and it’s one that can bite you regardless of how careful you are with your movement system. We worked hard to keep the frame rate high throughout Dead Secret.
To make our game actually playable within those rules the movement scheme had to change quite a bit. You investigate the scene of a perfect murder in Dead Secret by moving between fixed positions in the room. That had been part of the design since Day 1. But to accommodate the requirements of VR the layout and design of our rooms changed dramatically. I wrote a bit before about the use of space in Dead Secret’s level design, if you’re interested.
There are a number of odd side-effects to this design. For example, the player can turn 180 degrees and walk to their destination backwards. The system relies upon the player rotating his whole body to look around the room, but we can’t expect every player to be sitting in a swivel chair. We added controller-based rotation to accommodate this, and implemented rotation as a 40-degree click with a “blink” transition. This doesn’t trigger vection because your brain never sees any angular movement (via “change blindness,” which Yao covers in his talk). And we found that while no testers reported feeling nauseous or sick, about 1% felt disoriented by having to actually turn their body to see things behind them. For these folks we added a “comfort mode” which omits all motion completely.
The last thing we did to ensure our camera system was comfortable was to test the heck out of it. I’ve read that about 10% of the population is susceptible to motion sickness. In order to properly test a system you need a large enough testing group to identify folks who might be within that ten percent. We put Gear VR devices on as many people as we could to help verify our design. As we’ve iterated the design we’ve been able to push the number of people reporting discomfort to nearly zero.
There’s a lot more experimentation to do in this area. One idea, which we haven’t tried, is to black out the view at the start and end of a movement. This is based on the theory that even if the camera is moving at linear speed, the brain can infer acceleration just from visual input. Another approach, which I’ve seen work well in other games, is to black out the peripheral view of the horizon (e.g. by placing the view in a cockpit). The brain apparently uses motion in your peripheral vision to compute velocity, so denying it that information can lead to a more comfortable experience. There are also folks experimenting with transitions between first-person and third-person camera angles for the purposes of movement.
It’s almost impossible to guess how a system will feel in VR without implementing it. Dead Secret‘s movement system was designed by iteration–we tested and discarded many variants before we hit upon a generally comfortable model. And that’s one of the amazing things about working in VR today–there’s so much design space to explore. Tried-and-true tricks from traditional games might not work in VR, but there are a ton of new tricks out there, just waiting to be found.