5 tips for designing for virtual reality

When I demoed my Oculus Rift game, “Black Hat,” recently, one man told me that he felt sick the previous time he tried a Rift. I convinced him to give it another go and he was surprised by how pleasant the experience was.

Quite a few people become nauseous while in the Rift. Part of designing a great virtual reality experience is not making people sick. The best resource I found on this topic is the Oculus Rift best practices guide. It’s a long read — 51 pages — so I’ll summarize the main points along with my own learnings here.

1. Keep frame rate at 60 fps or higher

It’s easy to underestimate how much processing power virtual reality takes. The new Oculus DK2 has a resolution of 960 x 1080 and renders two cameras, one for each eye, and post-processing needs to be applied to both cameras.

I learned this the hard way while working on Blockulus, a game where you knock down elaborate towers. Even 50 fps made people uncomfortable and unable to continue the game. In the end, we had to aggressively cut down on the number of pieces, and remove almost all post-processing.

Blockulus. (Image courtesy Xin Xin.)

Blockulus. (Image courtesy Xin Xin.)

2. Map the game world to reality as much as possible

To keep the immersion of a virtual reality experience intact, paying attention to small details. They matter. In

Blockulus, we made adjustments for the height of the player and tried to keep dimensions and speeds realistic.

Blockulus. (Image courtesy Xin Xin.)

Blockulus. (Image courtesy Xin Xin.)

Also, don’t move the camera without an user’s control. This is really disconcerting and causes sickness.

One design challenge is to make turning more natural. Your head can only rotate a certain amount, so how do you make big rotations? One method is with discrete rotation moments, as explained the creators of the Gallery. We tried this in Blockulus and it works surprisingly well.

3. Respect physical limitations

Games that require large motions can cause people to crash into things. Head movements can cause sickness. This head bobbing game was fun for about thirty seconds, then made Mark feel ill.

4. Keep controls simple

There’s an obvious reason to keep controls simple: people can’t look down to see them. While we were playtesting Black Hat, we had to place people’s fingers on the right part of the keyboard. They would reach up to adjust the rift or scratch their face, and lose their place. Every time.

Once we switched to a controller, this became a lot easier. Note the lady reaching out for the controller. She had no problem figuring out the controls by touch. If you must use a keyboard, make sure the controls are simple and findable when you can’t see them.

It's hard to find your keyboard when the Rift is blocking your view. (Image courtesy Xin Xin.)

It’s hard to find your keyboard when the Rift is blocking your view. (Image courtesy Xin Xin.)


5. Don’t cut corners with textures

Modern gaming makes heavy use of normal mapping to create the illusion of 3D depth. In virtual reality, this falls apart.

You can easily see that a ridge textured to look 3D is fake.

Try building your world with more polygons, instead, like this PolyWorld Woodland Toolkit demo level. Walking around felt amazing.

PolyWorld Woodland Toolkit. (Image courtesy Xin Xin.)


Well designed virtual reality experiences work well for everyone

After every playtest, I ask people what’s awesome about virtual reality. Here are examples of common answers:

  • “Aiming is really easy. I don’t have to be an expert with the controller.” — Lazarus
  • “It feels so solid and natural.” — Dan
  • “Just walking around is fun. I loved exploring.” – Greg
  • “This is creeping me out!” — 7 year old kid (it’s very easy to scare people with virtual reality)

I’ve watched all kinds of people use the oculus rift and they all had a great time. We even had a 70 year old lady play our game. And she kicked butt!



Xin Xin

Xin Xin is a Boston-based designer specializing in interaction design and virtual reality. She is currently the lead designer at Panjiva.