This post summarizes 6 or 7 other posts on the subject. Check back as I intend to update this as new #VRdev tips and tricks emerge! To clarify the difference between accommodations and considerations: Technical accommodations must be made in order for the game to be, design considerations must be made in order for the game to be successful.
- Technical Accommodations: Developing for VR means optimizing which in turn means:
- Low poly models, low resolution textures
- LODs and Mipmaps
- Object culling and object occlusion
- lightmapping
- And more, including but not limited to…
- Static batching/mesh baking:
- Choose to use as few materials as possible
- Use only mobile shaders for your materials and experiment to ensure they work in-game
- Combine textures that use the same shader into a single Texture Atlas
- In a 3d editor:
- Combine meshes
- Re-arrange UVs
- Split meshes prior to export
- Create textures
- Or in Unity
- Use 3rd party Texture Atlasing tools
- In a 3d editor:
- Mark static GameObjects as such in the Inspector
- Design Accommodations: Designing to facilitate technical accommodations means:
- Developing for lo-spec hardware
- Limit line-of-sight
- Closed world
- Sparse art asset population
- Developing for lo-spec hardware
- Design Considerations: VR presents unique development challenges; the following should be considered:
- UI
- World Space
- 3D World Space
- Screen Space – Camera
- Rendering
- non-photorealistic
- faceted low poly
- avoid grainy textures
- “artistic”
- Navigation
- address head/body misalignment
- pair with the appropriate hardware controller(s)
- eliminate navigation
- player is stationary
- teleportation
- Mitigating simulation sickness
- Avoid near plane re-refocusing
- singular reference points are a rare exception
- see also “UI”
- Create unfamiliar gameplay
- third-person perspective
- foreign environment
- foreign interactions
- see also “Rendering”
- Avoid replicating situations that are nauseating IRL
- no motion blur
- no head bob
- no back peddling/strafing
- no smash cuts
- see also “no navigation”
- Avoid near plane re-refocusing
- Enhancing the VR experience
- Narrative immersion
- Gratuitous 3D
- Avoid mitigations of parallax and stereopsis
- UI
While you needn’t implement all of the tips and tricks that these design considerations suggest, a successful VR Project would need to implement a majority of these proposed solutions. It would benefit the developer to pattern their VR Project after successful VR games. This does the double-duty of helping to establish standardized semiotics; as VR semiotics become standardized, players will have a set of expectations that they can take with them from game to game. This synchronization of expectations will go a long ways toward mitigating common design challenges.