Combining two motion sickness solutions…

Isn’t it a shame I don’t get motion sickness… then I could try my own solutions on myself… :p

Anyway, I’m about to code another idea for eliminating motion sickness. If the US Army research found an LCD shutter closing 8 times a second was effective (see previous post) and humans don’t notice their ‘eyes’ closing if it’s done by the computer can’t we combine the two. I propose opening some mostly transparent ‘eyelids’ 8 times a second, it might work better to then close them too, but I think a quick fade to the eyelids colour could also work.

Something like this could also be baked into the firmware of a HMD and run independent of the display and very predictably…

Standing on the shoulders of the US Army nausea research…

I also found some interesting research conducted by the US Army Aeromedical Research Laboratory in 2007 which tested subjects susceptibility to motion sickness by using LCD shutter glasses closing at a rate of 4 or 8hz for 10ms while people tried to read a map in a moving helicopter. 19 out of 20 people reported less nausea…

I created another simple demo to re-create this simulation and would be interested in hearing if anyone finds it useful… http://www.feelthree.com/downloads/flash_test.rar

You can change the frequency with Z (quicker) and X. Initially it flashes about once every 19 updates… I figured that’s about 4 times a second around 75hz but I’m not sure that assumption is really correct….

The papers (including the scanned original report) are here : http://www.dtic.mil/dtic/tr/fulltext/u2/a467760.pdf http://www-ieem.ust.hk/dfaculty/so/pdf/Pages51-58-VIMS2007.pdf

Solving motion sickness

I don’t suffer from motion sickness, but I recognise it’s a big enough problem that if I want VR to succeed it needs to be looked at a little closer.

I watched the Tom Forsyth Oculus Connect talk about developing VR and he said something interesting at around the 40 minute mark about ‘blink transitions’. So you get into a car, your virtual ‘eyes’ in the Rift blink and you switch positions nearly instantly but your brain ignores this transition because of the ‘blink’ effect in the HMD….

To repeat, you’re not PHYSICALLY blinking, the screen is doing it for you.

I asked Tom, and he doesn’t know if anyone has tried it, so I threw my idea into the Tuscany demo.

You can rotate as usual with Q and E with 45 degree turns but now ‘shutters’ close for 150ms, you turn and your ‘eyes’ open at the new orientation 150ms later. You can look around as normal with your head. It’s reasonably crude but demonstrates the idea.

So if Tuscany makes you sick please give this a go and give me some feedback. If you want to steal the idea or code for your own implementation please do, or if you want to add some ideas to my repo go right ahead. If you don’t suffer from nausea then this thread is probably not for you… congratulations! :p

https://github.com/traveltrousers/Blink_Comfort

Constructive criticism always welcome, and if you don’t like it… well, lets see your solution to sim sickness! :p

 

relevant videos :

http://youtu.be/addUnJpjjv4?t=40m5s

Quantifying and identifying VR motion sickness causes, in order to solve them.

Brendan Iribe’s, the Oculus CEO, comments at the Web Summit in Dublin today were interesting not only for the warning he gives to other companies, but for the problems Oculus still face.

“We’re a little worried about some of the bigger companies putting out product that isn’t quite ready. That elephant in the room is disorientation and motion sickness.” He said.

By bigger companies of course, they mean Sony. “Don’t poison the well here”, but I think perhaps the bigger danger could be from Oculus developers rather than Sony. The PS4 is a known variable, as will the Sony headset when it’s released, and developers will be more comfortable with the Sony development ecosystem when their HMD is made available. If I decide to develop a VR game for Sony, well, that decision isn’t mine. I have to apply to the development program, buy a dev kit for $2,500 (assuming I’m accepted) and then persuade them to give (or sell) me a Morpheus HMD. Even if I manage to create (what I regard as) a great game it’s likely that Sony will veto any VR title that doesn’t create a good experience for users.

Oculus on the other hand is totally open, so I can cheaply buy a DK1/2 (and even this is optional) and create whatever I like. I’m not arguing against this openness since the low barrier to entry is a great way of encouraging new demos and games but poorly executed code are far more likely to create the ‘disorientation and motion sickness’ that Iribe is so concerned about.

It’s a well known fact that perhaps 10% of the population are susceptible to simulator sickness and while Oculus are attempting to address this by recommending following their ‘best practices’ guide it’s still a black art knowing what will cause nausea in some people and not others. Generally this is some kind of movement, either unexpected or something that throws their vestibular system off. If you have sub-millimeter positional tracking and are rendering at a locked framerate of 75-90hz 99.9% of people will be fine when they’re not moving and just looking around. Figuring out exactly what the problem is once the user begins to move is something that needs a more methodical approach to solving.

From 6:30 to about 9 minutes, Tom Forsyth talks about how even Oculus are still not sure about why people get sick and what specifically causes it in different people. Now if the egg heads at Oculus are still figuring this out then what chance do regular developers have? We can follow the best practices and our users might still get sick when faced with the wrong type of stairs :p

So here are my three simple suggestions for tackling the whole ‘disorientation and motion sickness’ issue that Oculus, and all the VR companies, still face.

Demos

For most first time Rift owners the standard demo that is loaded first is usually the ‘Demo Scene’ with a simple desk, a plant and lamp… it’s simple, effective, non nauseating…. and quite boring. Now a ‘boring demo’ is fine to show what the rift can do to ‘VR virgins’ but you’ll have a hard time convincing them that they also need to go out and buy a HMD and good PC just so they can look at a desk. Most people jump into the Tuscany Demo from here, but sadly even that can cause nausea in some people. A better option would be for Oculus to release the demos that they recently released for the Crescent Bay demo, or something similar. Give Rift owners a well constructed suite of demos known to run well and guarantee the first time user a great experience. Sadly too many rift owners seem to enjoy throwing first time users into far too intense or scary experiences. Dreadhalls or rollercoaster demo’s are great fun, but you might be showing the rift to someone who’s never really played a video game since Pacman and you run the risk of giving them immediate motion sickness, a delayed nightmare or even face planting into concrete.

A users first time experience should be fun, safe and non nauseating, make something not enjoyable and you might put them off for a long time. We need some awesome introductory experiences to amaze VR virgins, not make them ill.

If Oculus want a cheap way of finding some great new intro VR experiences, run a competition giving a few CV1 headsets away.

Training and testing

After giving someone a ‘nice’ experience give them a disguised ‘motion sickness’ test. We construct a carefully designed level, perhaps constructed as a museum or art gallery, that the user can explore while we test their comfort level. So they move around the various floors looking at various exhibitions and the like, but at each intersection or ‘level’ we ask them to rate their comfort on a scale from 1 to 10. Assuming they stay comfortable we can then begin to alter the parameters of the test, such as walking speed, comfort mode turning, stairs, blink transitions and the like. Our aim is not really to make users sick but identify when it happens.

This gives Oculus a chance to not only test users but train them in the (yet to be determined) new standards of movement, UI and the like. It also gives you a chance to teach users about recognising nausea, what causes it and assure them that it’s temporary and gets better with exposure.

This gives us a standardised, repeatable test that we can use to strip away, and hopefully identify, the causes of simulator sickness. If we also anonymously gather the users age, sex, IPD, height and perhaps glasses prescription, plus the computer specifications and frame-rate, we have an easy way to quickly and scientifically test hundreds of thousands of people, and their hardware, to look for patterns. This also lets content creators identify what experiences are most likely to affect their users so they can either alter them for wider comfort, or warn users that a certain game might make them sick.

Now it’s also understood that simulation sickness is something that can be mitigated through repeated exposure so perhaps after a few weeks playing one game the users simulator sickness level could be reduced, so the test can be run again and the comfort remeasured. At the end we can now tell the user that their perceived comfort has improved by say, 20% overall or in certain areas, and the user would now probably handle “GTA VR” with no problems, whereas three weeks before they wouldn’t last  5 minutes in that game. Perhaps some games will push certain aspects of users nausea and these could be used to acclimatise users to the effect, so if a user can’t do ‘stairs’ they can train on demo that uses gently sloping ramps instead, improving their tolerance for virtual stairs.

So Oculus, give us a nice training and test mode and we’ll give you the data to pin point exactly what makes some of us sick, letting you nail down a solution to motion sickness.

Reporting

I think it would also be incredibly useful to bake a ‘report nausea’ feature into the SDK, which sends some screenshots and fps graphs back to Oculus. This would allow Oculus and devs to identify elements in games, demos and practices that are causing problems and find fixes. Perhaps devs fail to spot areas where there is a problem and this would help pin point problems.  This could be dynamic, so you could ‘power through’ something that affects you temporarily, while noting it’s affecting you, or as simple as adding a ‘Nausea Quit’ button in the menu.

 

So, nice demos, a training and test game and better ways of reporting what makes us ill sometimes. Three easy things.

 

Comments are always welcome, or join in the argument on reddit 🙂