cmbruns/gz3doom

Motion Acceleration/Deceleration Induced VR Sickness

Opened this issue · 2 comments

GZDoomOpenVR is one of the very few games that causes me VR sickness (not nausea, but fatigue and distress). Despite having the fortitude to play other intense, fast-moving FPS games in VR for long sessions, I can only play this in smaller doses.

I'm stubborn about minmaxing my game performance (yes, it's single player, but this is subjective stuff), so reducing the maximum player speed or turning on comfort options such as a FOV shroud probably isn't an option for me.

I haven't done a thorough exploration, but I haven't found a way to adjust the acceleration in GZDoomOpenVR, either via a menu option or a clever parameter. My instinct says that if I could increase the rate of acceleration/deceleration (almost like "increasing the drag") on the player movement, I'd be able to enjoy the game for longer periods without worrying about physical distress.

Some way to adjust this would be greatly appreciated in case there does exist some personal sweet spot for players to have the greatest comfort.

As an update, I crossposted this issue to the the rather amazing Fishbiter's fork with motion controller support (Fishbiter#1), and there a parameter was added which instantly kills player momentum on releasing the movement input.

My first impression is that this is a very positive change in improving my own VR comfort in Doom, and perhaps this same or a similar comfort option could be considered for GZ3Doom?

I did a few things to help reduce VR Sickness:

  1. Increase friction
    nashmove.pk3

  2. Snap turn:
    [Doom.ConsoleAliases]
    Name=turn45left
    Command=alias turn45_step "wait 5;-left;turnspeeds 640 1280 320 320;alias turn45_step";turn45_step;wait;turnspeeds 2048 2048 2048 2048;+left
    Name=turn45right
    Command=alias turn45_step "wait 5;-right;turnspeeds 640 1280 320 320;alias turn45_step";turn45_step;wait;turnspeeds 2048 2048 2048 2048;+right

[Doom.Bindings]
rstickright=turn45right
rstickleft=turn45left

  1. Reduce movement speed but also map a speed+ mapping for certain situations:
    rstickdown=+speed

[Joy:OpenVR]
Axis0deadzone=0.15
Axis0scale=0.8
Axis2deadzone=0.15
Axis2scale=0.8