SlideShare une entreprise Scribd logo
1  sur  19
Developing Games for VR -
Lessons Learned
July 2015
Martin Climatiano
Some of Our VR Games
Different Titles, Different Challenges
Romans From Mars VR
Porting a game from mobile
Samsung GearVR
Pocket Wings VR Demo
Adapting a 3D game for VR
Multiple Platforms
Age of Diamonds
Creating a new VR experience
Cardboard Android / iOS
What is VR?
Wikipedia:
“…immersive multimedia or computer-simulated life, replicates an environment that simulates
physical presence in places in the real world or imagined worlds.”
In Marketing Terms:
“…I tried HTC's insane virtual reality headset, and I'm convinced the world is about to change
forever. –Dave Smith, Business Insider
In Technical Terms:
A system of input and output devices meant to simulate a life like experience. In current
generation centered around a head mounted display as the primary output device and head
tracking sensors as the primary input device, with supporting peripherals (from pointing devices,
through tactile feedback devices and all the way to omni-treadmills).
Core Challenges in Developing for VR
Creating A Good Experience:
• Easing the user into the experience.
• Adapting the experience to a full 360 space.
• Avoiding VR sickness.
• Striving for performance over fidelity.
• Displaying information in 3D space.
• Redefining user interaction.
Handling Platform Fragmentation:
• Various performance profiles.
• Multitude of software solutions.
• Different feature sets and peripheral availability per platform.
Creating a Good VR Experience
Easing the user into the experience
• For many users it’s a new platform and the whole experience is new and overwhelming.
• What is commonly considered a “simple” experience on other platforms is a much more
advanced experience on VR – keep things simple.
• Keep the learning curve shallow, remember it’s an addition to the learning curve presented by
the platform.
• Pace your experience – continuous usage of VR systems can cause strain and general
sickness. Structure your experience in such way that it gives the player an option to take a
periodic break.
Adapting the experience to a full 360 space
• This is relatively easily achieved if your game world already allows for full 360 motion. It
becomes complex when your original experience limits the camera motion.
• Remember, there’s no such thing as “off camera” in VR. You need to have a full 360 view of
your world ready.
• Additionally, things can no longer enter and exit “off stage”, when new actors enter your game
world, they need to do so in a way that makes sense in your world – be it falling from the sky
or materializing in a magical puff of smoke – you no longer have the option to introduce things
“from the left of the screen”.
• When transitioning between completely different contexts (entirely different scenes) a subtle
fade in and out of black seems to work well. DON’T FADE TO WHITE! Seriously, it hurts the
eyes.
Avoiding VR Sickness
• Different people have different levels of tolerance to VR sickness, but in most cases the source
is the same – a mismatch between the visual perception and other sensory perception (much
like sea-sickness). If your game makes people sick, they won’t play it – you should strive to
create the most comfortable experience possible.
• NEVER TAKE CONTROL OF THE CAMERA – if you want to focus the user’s attention to
something find creative ways to hint it to them, be it visual or audio cues. Either way, never
move or limit the user’s view.
• Prefer stationary experiences, moving can cause increased VR sickness.
• If your experience is mobile, make sure the player has full control over the motion, and try to
keep the motion slow and steady.
• If you must move the player without his input, make sure to explain the motion and provide a
static point of reference (such as a cockpit for a plane, or an interior for a moving vehicle)
Striving For Performance Over Fidelity
• Good VR experiences are smooth and consistent experiences with low latency.
• To achieve low latency on the software level, you should make sure your game runs at at least
60 frames per second (75fps on PC with the Oculus DK2)
• This often means toning down the visual fidelity. That is totally acceptable, as inconsistent
frame rate and latency are much more visible than any other visual aspect.
• Additionally, keep in mind current generation display devices offer a relatively low resolution
per eye – from 960x1080 (1080p/2) to 1280x1440. In either case your display fidelity will be
bottlenecked by the hardware.
Displaying Information in 3D Space
• With the whole VR ecosystem being so young, there are still no clear conventions when it
comes to user interface.
• The initial instinct of simply overlaying the interface on top of the 3D layer as in non-VR games
is bad. It’s nearly impossible to focus on the interface layer and the 3D layer at the same time,
making the information unreadable and causing considerable eye strain.
• At the very least, position the UI in 3D space a sensible distance in front of the user’s face.
• Better yet, integrate your interface INTO the 3D world in a way that make sense.
https://www.youtube.com/watch?v=DWR_Eq_bCUQ
Redefining User Interaction
• In continuation to the interface subject – the whole notion of interaction in VR is relatively new,
especially interacting with the UI layer in VR.
• 2D pointing devices don’t translate well to this medium (try Oculus’s office demo)
• Some approaches we’ve successfully implemented:
• Keyboard / Gamepad – highlight the current selection, user navigation keys to move
between options and an action button to execute the selected option.
• 3D pointing devices such as the Razer Hydra – costly and not widely available, but they do
just what they say on the box.
• “Gaze” selection – the user looks at the item he wants to interact with and presses a
button to execute. This can be extended to an entirely “hands free” experience by
replacing the button with timed selection.
Handling Platform Fragmentation
Various performance profiles
• Targeting multiple platforms can be difficult due to the requirement for high interactive frame
rates.
• Don’t target mobile and PC at the same time. These are two very different platforms when it
comes to VR.
• PC VR, at least the one presented by Oculus and Valve is aimed at high performance
devices, and meant to be experienced using input peripherals.
• Mobile VR is very fragmented on it’s own. On one end there is the Gear VR which is
relatively “high end” while on the other hand you have Google’s Cardboard which runs on
almost any Android device.
• When going for mobile, if you’re targeting Cardboard / Merge / other systems that support a
wide range of devices make sure your game runs smoothly on the lowest end device and limit
availability on devices where it does not work well.
Multitude of Software Solutions
• Use existing game engines where possible – most VR solutions already have integration
support for Unity and Unreal Engine.
• The most basic VR software kit includes handling of head tracking and stereoscopic rendering
– use this knowledge to define your game’s interfaces in such way that the underlying VR SDK
can be easily replaced.
• When using more “exotic” features provided by the VR software, check ahead of time to see if
other VR platforms you plan to support also offer the same feature.
• Some VR platforms can interoperate – specifically the more simple and generic ones. You can
use the OpenDive SDK, Cardboard SDK and Merge SDK with either head mounted display. This
is mostly because they offer limited lens correction support, and use a common off the shelf
lens profile.
Different Feature Sets
• We’ve mentioned feature fragmentation on the software level – but this is much more
noticeable on the hardware level.
• Some systems have integrated controls:
• Gear VR has a button and a touchpad.
• Google Cardboard has a single button.
• Oculus DK2 runs on a PC with lots of available peripherals.
• Keep this in mind both when designing your game and when choosing your target platform(s)
– a game that works well on the GearVR might not work at all on the Cardboard due to the lack
of buttons and the fact it has no strap, which limits it from being used with a controller at the
same time.
• Increase your target audience by keeping inputs simple. We’ve mentioned “Gaze” pointing with
timed selection – this is a solution that will work on any platform.
Thank you
Martin Climatiano
martinc@sidekick.co.il
www.sidekick.co.il

Contenu connexe

Tendances

Oculus Rift Presentation
Oculus Rift PresentationOculus Rift Presentation
Oculus Rift PresentationMark Davis
 
Synthetic environment
Synthetic environmentSynthetic environment
Synthetic environmentUllas Gupta
 
OCULUS VIRTUAL REALITY TECHNOLOGY
OCULUS VIRTUAL REALITY TECHNOLOGYOCULUS VIRTUAL REALITY TECHNOLOGY
OCULUS VIRTUAL REALITY TECHNOLOGYAkshay Balu
 
Oculus Rift By Mayur Padma
Oculus Rift By Mayur PadmaOculus Rift By Mayur Padma
Oculus Rift By Mayur PadmaMayur Padma
 
Team mmega murchisonalexander_week2assignment_0515
Team mmega murchisonalexander_week2assignment_0515Team mmega murchisonalexander_week2assignment_0515
Team mmega murchisonalexander_week2assignment_0515sithelement
 
One-Handed Controller; The All-Hander
One-Handed Controller; The All-HanderOne-Handed Controller; The All-Hander
One-Handed Controller; The All-HanderMatt Nevin
 
Developing Virtual Reality Application using Google Cardboard
Developing Virtual Reality Application using Google CardboardDeveloping Virtual Reality Application using Google Cardboard
Developing Virtual Reality Application using Google Cardboardapurvmmmec
 
Virtual Reality gaming: analysis of Yon Paradox development - Fabio Mosca - C...
Virtual Reality gaming: analysis of Yon Paradox development - Fabio Mosca - C...Virtual Reality gaming: analysis of Yon Paradox development - Fabio Mosca - C...
Virtual Reality gaming: analysis of Yon Paradox development - Fabio Mosca - C...Codemotion
 
Dancing Scimitar - One Handed Controller Design
Dancing Scimitar - One Handed Controller DesignDancing Scimitar - One Handed Controller Design
Dancing Scimitar - One Handed Controller DesignCheerieaux
 
Dancing scimitar selby thomas_week2assignment0515
Dancing scimitar selby thomas_week2assignment0515Dancing scimitar selby thomas_week2assignment0515
Dancing scimitar selby thomas_week2assignment0515Mnoric
 
[1C7] Developing with Oculus
[1C7] Developing with Oculus[1C7] Developing with Oculus
[1C7] Developing with OculusNAVER D2
 
One Handed Controller
One Handed ControllerOne Handed Controller
One Handed Controllerzaxxor1
 
Strike dream name_week2assignment_0315 (1)
Strike dream name_week2assignment_0315 (1)Strike dream name_week2assignment_0315 (1)
Strike dream name_week2assignment_0315 (1)thoffman7411
 
Virtual reality(pdf)
Virtual reality(pdf)Virtual reality(pdf)
Virtual reality(pdf)Shabnam Smile
 
One Handed Controller by Fresh Force
One Handed Controller by Fresh ForceOne Handed Controller by Fresh Force
One Handed Controller by Fresh ForceTracyWalker123
 
Virtual reality by Stavan Sanghvi
Virtual reality by Stavan SanghviVirtual reality by Stavan Sanghvi
Virtual reality by Stavan SanghviStavanSanghvi
 
Digital destroyers davis_jonathon_controller design_0415
Digital destroyers davis_jonathon_controller design_0415Digital destroyers davis_jonathon_controller design_0415
Digital destroyers davis_jonathon_controller design_0415DavisDesigns
 
Infamous Flamingos Interactive Single Handed Controller Design
Infamous Flamingos Interactive Single Handed Controller DesignInfamous Flamingos Interactive Single Handed Controller Design
Infamous Flamingos Interactive Single Handed Controller DesignAlexander Weeks
 
Cyclops Controller
Cyclops ControllerCyclops Controller
Cyclops Controllerryanhorbal
 

Tendances (20)

Oculus Rift Presentation
Oculus Rift PresentationOculus Rift Presentation
Oculus Rift Presentation
 
Oculus rift
Oculus riftOculus rift
Oculus rift
 
Synthetic environment
Synthetic environmentSynthetic environment
Synthetic environment
 
OCULUS VIRTUAL REALITY TECHNOLOGY
OCULUS VIRTUAL REALITY TECHNOLOGYOCULUS VIRTUAL REALITY TECHNOLOGY
OCULUS VIRTUAL REALITY TECHNOLOGY
 
Oculus Rift By Mayur Padma
Oculus Rift By Mayur PadmaOculus Rift By Mayur Padma
Oculus Rift By Mayur Padma
 
Team mmega murchisonalexander_week2assignment_0515
Team mmega murchisonalexander_week2assignment_0515Team mmega murchisonalexander_week2assignment_0515
Team mmega murchisonalexander_week2assignment_0515
 
One-Handed Controller; The All-Hander
One-Handed Controller; The All-HanderOne-Handed Controller; The All-Hander
One-Handed Controller; The All-Hander
 
Developing Virtual Reality Application using Google Cardboard
Developing Virtual Reality Application using Google CardboardDeveloping Virtual Reality Application using Google Cardboard
Developing Virtual Reality Application using Google Cardboard
 
Virtual Reality gaming: analysis of Yon Paradox development - Fabio Mosca - C...
Virtual Reality gaming: analysis of Yon Paradox development - Fabio Mosca - C...Virtual Reality gaming: analysis of Yon Paradox development - Fabio Mosca - C...
Virtual Reality gaming: analysis of Yon Paradox development - Fabio Mosca - C...
 
Dancing Scimitar - One Handed Controller Design
Dancing Scimitar - One Handed Controller DesignDancing Scimitar - One Handed Controller Design
Dancing Scimitar - One Handed Controller Design
 
Dancing scimitar selby thomas_week2assignment0515
Dancing scimitar selby thomas_week2assignment0515Dancing scimitar selby thomas_week2assignment0515
Dancing scimitar selby thomas_week2assignment0515
 
[1C7] Developing with Oculus
[1C7] Developing with Oculus[1C7] Developing with Oculus
[1C7] Developing with Oculus
 
One Handed Controller
One Handed ControllerOne Handed Controller
One Handed Controller
 
Strike dream name_week2assignment_0315 (1)
Strike dream name_week2assignment_0315 (1)Strike dream name_week2assignment_0315 (1)
Strike dream name_week2assignment_0315 (1)
 
Virtual reality(pdf)
Virtual reality(pdf)Virtual reality(pdf)
Virtual reality(pdf)
 
One Handed Controller by Fresh Force
One Handed Controller by Fresh ForceOne Handed Controller by Fresh Force
One Handed Controller by Fresh Force
 
Virtual reality by Stavan Sanghvi
Virtual reality by Stavan SanghviVirtual reality by Stavan Sanghvi
Virtual reality by Stavan Sanghvi
 
Digital destroyers davis_jonathon_controller design_0415
Digital destroyers davis_jonathon_controller design_0415Digital destroyers davis_jonathon_controller design_0415
Digital destroyers davis_jonathon_controller design_0415
 
Infamous Flamingos Interactive Single Handed Controller Design
Infamous Flamingos Interactive Single Handed Controller DesignInfamous Flamingos Interactive Single Handed Controller Design
Infamous Flamingos Interactive Single Handed Controller Design
 
Cyclops Controller
Cyclops ControllerCyclops Controller
Cyclops Controller
 

En vedette

VR market for GI s 15
VR market for GI s 15VR market for GI s 15
VR market for GI s 15Guy Ben-dov
 
5 Must Know Design Strategies for Better VR Games
5 Must Know Design Strategies for Better VR Games5 Must Know Design Strategies for Better VR Games
5 Must Know Design Strategies for Better VR GamesNicole Lazzaro
 
MVP Design Hacks: Sprint 8
MVP Design Hacks: Sprint 8MVP Design Hacks: Sprint 8
MVP Design Hacks: Sprint 8Amy Jo Kim
 
The Top 10 Lessons We Learned Moving Our Mobile Game to VR | Guy Bendov
The Top 10 Lessons We Learned Moving Our Mobile Game to VR | Guy BendovThe Top 10 Lessons We Learned Moving Our Mobile Game to VR | Guy Bendov
The Top 10 Lessons We Learned Moving Our Mobile Game to VR | Guy BendovJessica Tams
 
Migrating Unity3D projects to Windows 8
Migrating Unity3D projects to Windows 8Migrating Unity3D projects to Windows 8
Migrating Unity3D projects to Windows 8282productions
 
The Emerging Virtual Reality Landscape: a Primer
The Emerging Virtual Reality Landscape: a PrimerThe Emerging Virtual Reality Landscape: a Primer
The Emerging Virtual Reality Landscape: a PrimerSim Blaustein
 

En vedette (7)

VR market for GI s 15
VR market for GI s 15VR market for GI s 15
VR market for GI s 15
 
5 Must Know Design Strategies for Better VR Games
5 Must Know Design Strategies for Better VR Games5 Must Know Design Strategies for Better VR Games
5 Must Know Design Strategies for Better VR Games
 
MVP Design Hacks: Sprint 8
MVP Design Hacks: Sprint 8MVP Design Hacks: Sprint 8
MVP Design Hacks: Sprint 8
 
The Top 10 Lessons We Learned Moving Our Mobile Game to VR | Guy Bendov
The Top 10 Lessons We Learned Moving Our Mobile Game to VR | Guy BendovThe Top 10 Lessons We Learned Moving Our Mobile Game to VR | Guy Bendov
The Top 10 Lessons We Learned Moving Our Mobile Game to VR | Guy Bendov
 
Migrating Unity3D projects to Windows 8
Migrating Unity3D projects to Windows 8Migrating Unity3D projects to Windows 8
Migrating Unity3D projects to Windows 8
 
Virtual Reality - Games Monitor 2016 / 2017
Virtual Reality - Games Monitor 2016 / 2017Virtual Reality - Games Monitor 2016 / 2017
Virtual Reality - Games Monitor 2016 / 2017
 
The Emerging Virtual Reality Landscape: a Primer
The Emerging Virtual Reality Landscape: a PrimerThe Emerging Virtual Reality Landscape: a Primer
The Emerging Virtual Reality Landscape: a Primer
 

Similaire à Developing Games For VR - Lessons Learned

SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
SEARIS 2014 Keynote - MiddleVR - Philosophy and architectureSEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
SEARIS 2014 Keynote - MiddleVR - Philosophy and architectureSebastien Kuntz
 
Luis cataldi-ue4-vr-best-practices2
Luis cataldi-ue4-vr-best-practices2Luis cataldi-ue4-vr-best-practices2
Luis cataldi-ue4-vr-best-practices2Luis Cataldi
 
Virtual Reality: Learn to Maximize Present and Future Creative Possibilities!
Virtual Reality: Learn to Maximize Present and Future Creative Possibilities!Virtual Reality: Learn to Maximize Present and Future Creative Possibilities!
Virtual Reality: Learn to Maximize Present and Future Creative Possibilities!Stephan Tanguay
 
Building the Matrix: Your First VR App (SVCC 2016)
Building the Matrix: Your First VR App (SVCC 2016)Building the Matrix: Your First VR App (SVCC 2016)
Building the Matrix: Your First VR App (SVCC 2016)Liv Erickson
 
Virtual reality and its Types
Virtual reality and its TypesVirtual reality and its Types
Virtual reality and its TypesShakaib123
 
Virtual reality products
Virtual reality productsVirtual reality products
Virtual reality productsAseem Galhotra
 
VR Introduction
VR IntroductionVR Introduction
VR IntroductionAdam Chen
 
Stephan Tanguay - Virtual Intent - User Experience Design In VR / AR
Stephan Tanguay - Virtual Intent - User Experience Design In VR / ARStephan Tanguay - Virtual Intent - User Experience Design In VR / AR
Stephan Tanguay - Virtual Intent - User Experience Design In VR / ARStephan Tanguay
 
Hiren Bhinde (Qualcomm): On-device Motion Tracking for Immersive VR
Hiren Bhinde (Qualcomm): On-device Motion Tracking for Immersive VRHiren Bhinde (Qualcomm): On-device Motion Tracking for Immersive VR
Hiren Bhinde (Qualcomm): On-device Motion Tracking for Immersive VRAugmentedWorldExpo
 
Make believe - Droidcon UK 2015
Make believe - Droidcon UK 2015Make believe - Droidcon UK 2015
Make believe - Droidcon UK 2015Shanee Nishry
 
HCI2015_09.pptx ghdjkl vsggfoojhvbnkiknccg
HCI2015_09.pptx ghdjkl vsggfoojhvbnkiknccgHCI2015_09.pptx ghdjkl vsggfoojhvbnkiknccg
HCI2015_09.pptx ghdjkl vsggfoojhvbnkiknccgroddavijaypatel
 
virtual reality...............................
virtual reality...............................virtual reality...............................
virtual reality...............................MeghaKulkarni27
 
virtual reality Information-160422181930.pdf
virtual reality Information-160422181930.pdfvirtual reality Information-160422181930.pdf
virtual reality Information-160422181930.pdf21107117
 
Introduction to DaydreamVR from DevFestDC 2017
Introduction to DaydreamVR from DevFestDC 2017Introduction to DaydreamVR from DevFestDC 2017
Introduction to DaydreamVR from DevFestDC 2017Jared Sheehan
 
Virtual_Reality_New.pptx
Virtual_Reality_New.pptxVirtual_Reality_New.pptx
Virtual_Reality_New.pptxBapuPradhan1
 
Eyes Wide Open - Amir Ebrahimi
Eyes Wide Open - Amir EbrahimiEyes Wide Open - Amir Ebrahimi
Eyes Wide Open - Amir EbrahimiWithTheBest
 

Similaire à Developing Games For VR - Lessons Learned (20)

SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
SEARIS 2014 Keynote - MiddleVR - Philosophy and architectureSEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
 
ICS2208 lecture7
ICS2208 lecture7ICS2208 lecture7
ICS2208 lecture7
 
Luis cataldi-ue4-vr-best-practices2
Luis cataldi-ue4-vr-best-practices2Luis cataldi-ue4-vr-best-practices2
Luis cataldi-ue4-vr-best-practices2
 
Virtual Reality: Learn to Maximize Present and Future Creative Possibilities!
Virtual Reality: Learn to Maximize Present and Future Creative Possibilities!Virtual Reality: Learn to Maximize Present and Future Creative Possibilities!
Virtual Reality: Learn to Maximize Present and Future Creative Possibilities!
 
Building the Matrix: Your First VR App (SVCC 2016)
Building the Matrix: Your First VR App (SVCC 2016)Building the Matrix: Your First VR App (SVCC 2016)
Building the Matrix: Your First VR App (SVCC 2016)
 
ARI2132 lecture 8
ARI2132 lecture 8ARI2132 lecture 8
ARI2132 lecture 8
 
Virtual reality and its Types
Virtual reality and its TypesVirtual reality and its Types
Virtual reality and its Types
 
Virtual reality products
Virtual reality productsVirtual reality products
Virtual reality products
 
VR Introduction
VR IntroductionVR Introduction
VR Introduction
 
Stephan Tanguay - Virtual Intent - User Experience Design In VR / AR
Stephan Tanguay - Virtual Intent - User Experience Design In VR / ARStephan Tanguay - Virtual Intent - User Experience Design In VR / AR
Stephan Tanguay - Virtual Intent - User Experience Design In VR / AR
 
Hiren Bhinde (Qualcomm): On-device Motion Tracking for Immersive VR
Hiren Bhinde (Qualcomm): On-device Motion Tracking for Immersive VRHiren Bhinde (Qualcomm): On-device Motion Tracking for Immersive VR
Hiren Bhinde (Qualcomm): On-device Motion Tracking for Immersive VR
 
Make believe - Droidcon UK 2015
Make believe - Droidcon UK 2015Make believe - Droidcon UK 2015
Make believe - Droidcon UK 2015
 
HCI2015_09.pptx ghdjkl vsggfoojhvbnkiknccg
HCI2015_09.pptx ghdjkl vsggfoojhvbnkiknccgHCI2015_09.pptx ghdjkl vsggfoojhvbnkiknccg
HCI2015_09.pptx ghdjkl vsggfoojhvbnkiknccg
 
virtual reality...............................
virtual reality...............................virtual reality...............................
virtual reality...............................
 
virtual reality Information-160422181930.pdf
virtual reality Information-160422181930.pdfvirtual reality Information-160422181930.pdf
virtual reality Information-160422181930.pdf
 
AR - 001.pptx
AR - 001.pptxAR - 001.pptx
AR - 001.pptx
 
Introduction to DaydreamVR from DevFestDC 2017
Introduction to DaydreamVR from DevFestDC 2017Introduction to DaydreamVR from DevFestDC 2017
Introduction to DaydreamVR from DevFestDC 2017
 
Virtual Reality
Virtual RealityVirtual Reality
Virtual Reality
 
Virtual_Reality_New.pptx
Virtual_Reality_New.pptxVirtual_Reality_New.pptx
Virtual_Reality_New.pptx
 
Eyes Wide Open - Amir Ebrahimi
Eyes Wide Open - Amir EbrahimiEyes Wide Open - Amir Ebrahimi
Eyes Wide Open - Amir Ebrahimi
 

Developing Games For VR - Lessons Learned

  • 1. Developing Games for VR - Lessons Learned July 2015 Martin Climatiano
  • 2. Some of Our VR Games Different Titles, Different Challenges Romans From Mars VR Porting a game from mobile Samsung GearVR Pocket Wings VR Demo Adapting a 3D game for VR Multiple Platforms Age of Diamonds Creating a new VR experience Cardboard Android / iOS
  • 3. What is VR? Wikipedia: “…immersive multimedia or computer-simulated life, replicates an environment that simulates physical presence in places in the real world or imagined worlds.” In Marketing Terms: “…I tried HTC's insane virtual reality headset, and I'm convinced the world is about to change forever. –Dave Smith, Business Insider In Technical Terms: A system of input and output devices meant to simulate a life like experience. In current generation centered around a head mounted display as the primary output device and head tracking sensors as the primary input device, with supporting peripherals (from pointing devices, through tactile feedback devices and all the way to omni-treadmills).
  • 4. Core Challenges in Developing for VR Creating A Good Experience: • Easing the user into the experience. • Adapting the experience to a full 360 space. • Avoiding VR sickness. • Striving for performance over fidelity. • Displaying information in 3D space. • Redefining user interaction. Handling Platform Fragmentation: • Various performance profiles. • Multitude of software solutions. • Different feature sets and peripheral availability per platform.
  • 5. Creating a Good VR Experience
  • 6. Easing the user into the experience • For many users it’s a new platform and the whole experience is new and overwhelming. • What is commonly considered a “simple” experience on other platforms is a much more advanced experience on VR – keep things simple. • Keep the learning curve shallow, remember it’s an addition to the learning curve presented by the platform. • Pace your experience – continuous usage of VR systems can cause strain and general sickness. Structure your experience in such way that it gives the player an option to take a periodic break.
  • 7. Adapting the experience to a full 360 space • This is relatively easily achieved if your game world already allows for full 360 motion. It becomes complex when your original experience limits the camera motion. • Remember, there’s no such thing as “off camera” in VR. You need to have a full 360 view of your world ready. • Additionally, things can no longer enter and exit “off stage”, when new actors enter your game world, they need to do so in a way that makes sense in your world – be it falling from the sky or materializing in a magical puff of smoke – you no longer have the option to introduce things “from the left of the screen”. • When transitioning between completely different contexts (entirely different scenes) a subtle fade in and out of black seems to work well. DON’T FADE TO WHITE! Seriously, it hurts the eyes.
  • 8.
  • 9. Avoiding VR Sickness • Different people have different levels of tolerance to VR sickness, but in most cases the source is the same – a mismatch between the visual perception and other sensory perception (much like sea-sickness). If your game makes people sick, they won’t play it – you should strive to create the most comfortable experience possible. • NEVER TAKE CONTROL OF THE CAMERA – if you want to focus the user’s attention to something find creative ways to hint it to them, be it visual or audio cues. Either way, never move or limit the user’s view. • Prefer stationary experiences, moving can cause increased VR sickness. • If your experience is mobile, make sure the player has full control over the motion, and try to keep the motion slow and steady. • If you must move the player without his input, make sure to explain the motion and provide a static point of reference (such as a cockpit for a plane, or an interior for a moving vehicle)
  • 10. Striving For Performance Over Fidelity • Good VR experiences are smooth and consistent experiences with low latency. • To achieve low latency on the software level, you should make sure your game runs at at least 60 frames per second (75fps on PC with the Oculus DK2) • This often means toning down the visual fidelity. That is totally acceptable, as inconsistent frame rate and latency are much more visible than any other visual aspect. • Additionally, keep in mind current generation display devices offer a relatively low resolution per eye – from 960x1080 (1080p/2) to 1280x1440. In either case your display fidelity will be bottlenecked by the hardware.
  • 11. Displaying Information in 3D Space • With the whole VR ecosystem being so young, there are still no clear conventions when it comes to user interface. • The initial instinct of simply overlaying the interface on top of the 3D layer as in non-VR games is bad. It’s nearly impossible to focus on the interface layer and the 3D layer at the same time, making the information unreadable and causing considerable eye strain. • At the very least, position the UI in 3D space a sensible distance in front of the user’s face. • Better yet, integrate your interface INTO the 3D world in a way that make sense.
  • 13. Redefining User Interaction • In continuation to the interface subject – the whole notion of interaction in VR is relatively new, especially interacting with the UI layer in VR. • 2D pointing devices don’t translate well to this medium (try Oculus’s office demo) • Some approaches we’ve successfully implemented: • Keyboard / Gamepad – highlight the current selection, user navigation keys to move between options and an action button to execute the selected option. • 3D pointing devices such as the Razer Hydra – costly and not widely available, but they do just what they say on the box. • “Gaze” selection – the user looks at the item he wants to interact with and presses a button to execute. This can be extended to an entirely “hands free” experience by replacing the button with timed selection.
  • 14.
  • 16. Various performance profiles • Targeting multiple platforms can be difficult due to the requirement for high interactive frame rates. • Don’t target mobile and PC at the same time. These are two very different platforms when it comes to VR. • PC VR, at least the one presented by Oculus and Valve is aimed at high performance devices, and meant to be experienced using input peripherals. • Mobile VR is very fragmented on it’s own. On one end there is the Gear VR which is relatively “high end” while on the other hand you have Google’s Cardboard which runs on almost any Android device. • When going for mobile, if you’re targeting Cardboard / Merge / other systems that support a wide range of devices make sure your game runs smoothly on the lowest end device and limit availability on devices where it does not work well.
  • 17. Multitude of Software Solutions • Use existing game engines where possible – most VR solutions already have integration support for Unity and Unreal Engine. • The most basic VR software kit includes handling of head tracking and stereoscopic rendering – use this knowledge to define your game’s interfaces in such way that the underlying VR SDK can be easily replaced. • When using more “exotic” features provided by the VR software, check ahead of time to see if other VR platforms you plan to support also offer the same feature. • Some VR platforms can interoperate – specifically the more simple and generic ones. You can use the OpenDive SDK, Cardboard SDK and Merge SDK with either head mounted display. This is mostly because they offer limited lens correction support, and use a common off the shelf lens profile.
  • 18. Different Feature Sets • We’ve mentioned feature fragmentation on the software level – but this is much more noticeable on the hardware level. • Some systems have integrated controls: • Gear VR has a button and a touchpad. • Google Cardboard has a single button. • Oculus DK2 runs on a PC with lots of available peripherals. • Keep this in mind both when designing your game and when choosing your target platform(s) – a game that works well on the GearVR might not work at all on the Cardboard due to the lack of buttons and the fact it has no strap, which limits it from being used with a controller at the same time. • Increase your target audience by keeping inputs simple. We’ve mentioned “Gaze” pointing with timed selection – this is a solution that will work on any platform.