Over the last few years we’ve seen an explosion in VR games for mobile devices. Game developers all over the world are slowly starting to experiment with some of the many VR options available to consumers. What’s also appealing, is the price point of some of the VR units. Some, like Google Cardboard cost as little as $30 and all you need to do is strap your mobile phone in and you’re good to go.
If you haven’t experienced VR gaming yet, it’s a truly amazing and unique experience. It can be a little strange at first, especially since positional tracking has yet to be fully integrated (i.e. you walk forward, the world you see moves with you). This doesn’t take anything away from the experience though, head tracking is remarkably accurate and extremely fun on it’s own.
Designing for mobile VR presents an entirely new set of challenges for developers. Given the current limitations on positional tracking and considerations for motion sickness, you have to be very careful when designing your environments. For example, in real life if you walked into a room that was in some way “off” you would immediately notice, even if it was very subtle. Because the VR experience is so immersive, you would likewise feel something was off in the VR world, whereas the same environment displayed on a TV would not have the same effect on the player. This can be used to your advantage if executed correctly.
The aim of this article is to highlight certain areas you should consider when designing your VR environments.
Motion sickness can be a problem with mobile VR. It’s a little weird when you move your body up/down/left/right and nothing happens. Some people will find this extremely disorientating, but until positional tracking is rolled out there’s not much we can do about this.
There are things we can do to minimise the effects though. One of them is to reduce the amount of camera movement as much as possible. This spells doom for the camera shake lovers out there (I’m one of them), but the last thing you want is your players taking the headset off because they feel sick.
You also need to be concerned with the frame rate your game is running at. This is an absolute requirement and one I can’t stress enough. You should be aiming for a solid 60fps, anything less than that will ruin the experience for the player. Take into account you’re actually rendering 2 versions of the game (one for each eye), and we’re looking at 120fps. Performance is therefore an absolute requirement.
You should use occlusion culling techniques to control what is rendered in your game. I won’t go into it here, but there are plenty of resources available for this topic online.
Unless you have a controller hooked up, the standard mobile gestures like shake, swipe, drag, and multi-finger won’t work in mobile VR. The only gesture really available to you is “tap”.
We do however have the head, and this as it turns out presents some interesting ways to control your game. You can do some pretty cool stuff using just the head, experimentation is advised here so have some fun!
Use space wisely
Moving around takes longer and is more annoying without a controller, i.e. using the click to move scheme. That doesn’t necessarily mean the environment needs to be more cluttered, it just means that the player should be able to interact with most of the elements in your world. The player will get bored fast if they spend all of their time trying to navigate, instead of actually interacting with your game.
Properly size your environments
I touched on this earlier, your brain knows what it feels like to be in a room that is architecturally correct/incorrect. It therefore helps to use existing buildings you have knowledge of as reference when designing. This isn’t as important with outside environments, but certainly it will be when designing for indoor.
UI is hard
UI in VR is hard, you should try to make it as real as possible, e.g. if it’s a document or a large piece of text, present it in a real world object, like a book. You can also embed UI into your world, on a wall, or on the floor. Having text appear and hang in front of the camera is weird and will take the player out of the game. This is bad so don’t do it!
There will definitely be other issues you’ll face when designing your game (as there always is with game development), but the points above should help you come up with a design that won’t leave your players feeling queasy!