Right now it would be fair to say we’re in the Wild West days of VR development. The rules aren't easily defined, and everyone is learning as the systems and techniques we use are constantly evolving.
As such, Rob Jagnow, a software engineer at Google Daydream Labs, took to the stage at VRDC 2016 and encouraged developers all around the world to work together by pooling their information. Not just their successes, but more importantly their mistakes too.
What’s more, he didn’t come with this message empty handed. In fact, he came with 50 lessons that both he, and Google as a whole, have learned through their ever evolving time with Virtual Reality.
Covering a range of topics, from audio to environments and even motion, there was definitely more than just a small amount of food for thought in Rob’s talk. But what were these lessons then? Well read on to find out.
Audio
1. Great audio is critical to immersion.
2. Spatial audio is more than just dynamic volume.
Process
3. Iterate. Your first idea probably wont be your best.
4. Test in VR ASAP.
5. Always keep the scope of your project in the forefront of your mind. Don’t get too distracted.
6. Not every experience will be better in VR.
7. Don’t be constrained by reality. Virtual reality can offer so many more experiences that just real life experiences.
8. Design from the ground up specifically for VR.
Motion
9. When your eyes and your vestibular system disagree, you get sick.
10. Minimise problems with constant velocity or blink teleport.
11. Be creative with teleportation preview and other types of motion.
12. Narrow the FOV while moving.
13. Teleport to a psychologically safe space.
Manipulation / Interaction
14. Players love experiences that allow them to get creative.
15. Let them throw it! Allow players to throw objects, and generally make a mess of the place.
16. Think about gestures.
17. Let sloppy actions have structured results. Don’t punish the player for being being bad at the game.
18. Give your players superpowers.
Controllers
19. Use snapping to constrain motion.
20. Keep interactions in a comfortable space.
21. Controls don’t have to be mapped 1:1.
22. Use haptics.
Environments
23. We love huge spaces.
24. Divide your world into smaller spaces that fit into a typical physical space.
25. Place objects in a way that keeps players in the physical space.
26. Texture everything, even if it’s just a subtle noise texture.
27. Show the physical bounds in the virtual world.
28. Everyone loves particles, especially rain.
Scale
29. Accurate scale matters.
30. Scale can convey power of vulnerability.
31. Use scale as a tool.
32. When you change scale, don’t forget to scale physics and audio.
Co-Presence
33. Players expect something to happen when they touch.
34. Don’t reward bad behaviour.
35. Do reward pro social interactions.
36. Enforce social boundaries.
37. Voice chat multiplies immersion.
38. Put shared objects at the centre of the space.
39. Think about asymmetric experiences.
Avatars
40. Avoid full body avatars in a first person view. (It's worth noting though that Rob did mention that this point is highly subjective and has no general consensus.)
41. Eyes are the window to the soul and need extra care and attention.
42. When you pick up an item, that item can become your controller.
43. Beware of the uncanny valley.
User Interfaces
44. Avoid UI that requires you to turn your head.
45. Not too far, not too close.
46. Keep the text big.
Smartphone VR
47. A well designed elbow model can make interactions feel natural.
48. Performance matters. Focus on maintaining the FPS.
Final Takeaways
49. Check out what others are doing.
50. You’re a pioneer. Think Big!
So there you go. Of course some of these may be geared towards those just starting on their VR development adventure. However, even for the most experienced of VR developers, there's certainly more than enough to take from Google’s learnings.
Most excitingly though, as Rob pointed out, this is simply the beginning. Who knows what lessons we'll be learning at next year’s VRDC?