Keep view upright balance with app's reorientation

Yep to all.

Movement in cliff house is physical, plus teleporting. You can also rotate with the thumbstick left/right, which is not continuous, it’s like a rotational teleport (jump a set amount of degrees one way or the other) with FOV restricted during the process to reduce motion sickness. Similarly you can “jump back” with thumbstick down, which is a fixed distance jump/teleport, again with artificially limited FOV. “Continuous” movement with a thumbstick can be pretty quickly disorienting, especially (and ironically/counterintuitively) if you try to “smooth” the movement by ramping up/down velocity, etc. (This is true not only in HMDs but also in CAVE-like projection systems, FWIW, though I think it’s less bad. I’ve still gotten myself a little uneasy from it though.)

(Source: I just got done setting up WinMR on a new machine, seated :smiley: )

I don’t think anyone really likes those games, but I’m reminded that Sony and others have a solution that vibrates on the inner ear to confuse it that they think will help a lot with this… hopefully without side-effects.

I’m reminded, I purchased a VR conversion of Doom 3 for PSVR for a few dollars a while back. What I couldn’t believe is how fast it moved, which made it hard to believe anyone would want to play it. I really couldn’t believe Id would license their game and release it like this without even an option to slow it down to normal human speeds. It still moves just like stupid WASD PC games that have always moved too fast. In VR at least I hope it will become more trendy to make games that move at natural speeds, since that seems essential, and I wonder if games will start taking cues from VR more and more like how in the 2000s they all wanted to be like MMO games. Anyway, I bet no one has played that Doom 3 game, and there aren’t substantial games like Doom 3 for VR, which is what’s wanted I believe, and why VR is looked at as a sideshow at best and space for developers trying to catch the next wave at worse.

EDITED: Also I should add, the Doom 3 game removed the ability to look up/down with the joystick, so I found it quite uncomfortable, and this is why I think these kinds of games should not remove that ability, even though I also think that the thumb-stick design we have isn’t a good ergonomic fit for vertical look controls.

Apart from being disorienting, being able to look up and down imposes a lot of limitations the game, such has forcing it to be played seated. Most commercial ports want to leverage the roomscale and motion controller features available.

There are some VR mods that do support looking up and down though. I remember playing an old Quake 1 mod with full mouse and keyboard controls, and it playing surprisingly well, only nauseating me in a few places. If you haven’t already, I’d suggest looking up some older PC VR mods and see what kinds of controls works for you.

I will just say “room scale” is more of a limitation than moving freely through a regular game world, that players want. Room games are a gimmick that you have to have a dungeon built into your house to do. Even in a room, you get to its boundary, and “teleporting” won’t help you get back to the center of your room. So really you can’t do anything but be inside a room that doesn’t move, smaller than the Cliff House. Game companies are out of touch with reality in the VR space. Movement isn’t the issue people think it is. One of the better games I played in VR (there’s almost nothing on PS4 despite thousands of games on paper) was a mod of an old PS2 mecha game called Zone of Enders. I didn’t get sick in it even though it moves very fast. (Edited: But probably still much slower than Doom 3!) Technically it’s a vehicle game, but come on, its vehicle is a body… it’s all in the way you look at it, I mean literally, it’s psychological. If your brain looks at the VR game as driving a mecha, then you won’t have the bad feelings, and you can learn to do that with practice and a change of perspective, and game companies need to be brave enough to go forward and not hold purse strings too tight. Some people may not be able to play VR for physical reasons, but some people can’t play monitor games for physical reasons either.

EDITED: RE “play seated” you can stand up, and even move around some by walking… but yeah, seated is generally more practical. Neck strain is a big problem that I don’t think makes active VR safe or feasible, as much as ads want to show it this way.

In another topic a user recommended The Dark Mod VR. I have it installed but haven’t looked at it. I don’t like VR controls because they’re cumbersome, but it looks like Sony’s new PSVR (not out yet) design seems the most practical so far, since it’s a PlayStation controller. I think/hope it has magnets that let you connect the controllers so you can free your hand up to do things. Having their bulk strapped to your arms is a big problem and there aren’t enough useful features on PC controllers to be practical for normal games. My game project uses extremely minimal controls (4 shoulder buttons) but can’t be readily mapped to VR controllers, but I just don’t care for the bulk hanging off my arms while I’m blind. It’s too much of a barrier to entry to strap all that on and be completely encumbered/frustrated as a result.

By room scale, I just mean games that are designed around allowing the player to move around the playspace freely. There are many different ways to still do forced locomotion, even in room scale games.

Being able to change the pitch seems completely incompatible with standing up though. I’d imagine most people would fall over.

There has been a lot of research into what works and what doesn’t. For example Valve has done a lot of user testing, and they even ported several of their FPS games to VR. They ended up completely abandoning the ports after developing their room scale tracking systems though, presumably because they couldn’t get traditional mouse and keyboard shooters up to their quality and comfort standards.

Found this old 2013 video where they talk about porting Team Fortress 2 to the original 3DoF Rift devkit. It is very out of date with regards to current hardware and practices, but they talk about a lot of the issues with input and motion sickness.
https://www.youtube.com/watch?v=Gpr0FE2ATaY

I actually tried this yesterday. Well I just paused while looking up (induced pitch) and then stood up to walk around. It is like being in a haunted house kind of experience, but I really think maybe that would be mitigated if I’d been standing up when I looked up, instead of changing my frame of mind. Of course standing up your body has to think about keeping your legs level so I’m sure it would take more practice probably. Another problem with standing up and walking around is if “forward” in the game means move in the direction of your waist let’s say, so that neck/look movement is independent (which you probably want normally to be able to glance around while navigating) then standing up won’t be as natural as playroom style movement, because you still must turn with a controller and think in those terms, unless there’s a toggle button to switch to a “free” mode.

I think these are things that must be explored with open eyes/arms…

Yesterday I tried the Dark Mod VR project that was recommended to me in another post. I couldn’t get into it because the controls were super stiff and it wanted to move a mouse cursor with the controller that was super flighty, until up to half the screen width, then it would begin turning.

The parable here, is I have a feeling commercial game companies have never properly focused on controlling movement fluidly. My own project (KING'S FIELD 25th PROJECT by swordofmoonlight) (PC VR demo forthcoming) has always been light years ahead of first-person games in this area. I can’t even enjoy first person games (most of them are made for keyboard input even) because they’re so bad in this dept. Because game companies have neglected this area, not caring about natural movement via controllers, I think it’s caught up to them with VR where it’s more important. I don’t think their stumbling block is VR technology IOW, I just don’t think their controller game is remotely good enough to make it a pleasurable experience.

You would likely have hard time continuously changing the pitch while standing though. Humans require visual cues to maintain balance.

But yeah, having a good, non-nauseating way to angle the view would be good for accessibility. Accessibility is a big issue for VR in general, and vendor support for it has been very lacking in my opinion.

About fluid movement, the question is how well it is even possible to implement in VR. From everything I have read about it, I keep getting the feeling that developers that have been trying to implement it have never been able to find a good enough solution to make it worth pursuing for them. Seated traditional FPS style games are already a small niche in an already small industry, and there is not much point in making a commercial game only a small number of players can play.

Still it’s always possible there is a way to make it work. I’d recommend testing it out in a modern engine with a good toolset first though, having to worry about porting and low-level implementations at the same time as movement mechanics sounds like it would overcompensate things a lot.

I’m working on the finishing touches before a live demo (just some text rendering to go) so maybe hold off to download a demo (sans OpenXR) from my link before. On fluid movement, it feels fine to me. I’ll tell you what I did. The lineage my project comes from has a very eccentric walk animation that’s very bouncy.

So in the beginning, when I started working on adding analog controls to this game, I first added a horizontal sweeping movement to simulate a natural stride. But I then started gradually reducing the effect to make it more natural, until now you can hardly tell it’s there when walking at average human speed. But before I did that, I worked on fully reproducing how we move our feet when we walk, and turn, so that it simulates footwork. I had to do this because it just felt wrong, and quality is very important to me. So it was relatively easy to tune this footwork with the exaggerated level of effect… the effect can still be dialed up to the original amount or more in the INI file. But now, you can hardly detect the footwork. It’s a bit more evident at high speeds (running) because the amount of movement is greater.

Anyway, apart from this I always focus on smoothness and creating natural circular movements. I don’t use the raw input data because it’s too chaotic, and you can’t animate against it. So I run the analog input
through a pre-filter and then lock it like a ratchet, and then reconstruct the signal through a post-filter.

It’s just been a lot of attention to detail and trial and error over the years to make a game that feels “cinematic” because my objective is to make artistic experiences. Analog controls always present challenges. Finally when I added VR a few years ago (with a twin view 1080p PSVR setup) I decided to dial down the effect even more until it feels good in VR. I decided to keep the default at that level even though it’s much less noticeable on a monitor than in VR. I think of my project as VR first even though until now it’s more monitor based.

It’s open source. In theory if people find my project’s VR superior it can be replicated. I just don’t find it nauseating at all, and I imagine a big part of that too is I’m interested in inhabiting a real body, so I stick to real human speeds.

EDITED: On inputs. In most big budget commercial games it feels like they throw away 50% of the analog controller’s sensitivity. I think it’s because (mainly) the game has to work even on bad sticks that send out errant data. In VR you need more sensitivity on the analog. I always try to use as much of the stick as possible, but I’ve always wanted to code a very detailed controller configuration system to mitigate a lot of the problems I see with controllers. I think I’m going to be doing that project before too long. Fingers are also not good analogues to limbs. Fingers are shaky. Old fingers are shakier. But in general, VR needs sensitivity. I think thumb-sticks are vital to VR and it’s a problem they’re not standard.[1] VR controllers need to standardize on very sensitive and smooth analog sticks.

[1] I thought just Sony’s PS5 would have them, but Valve’s Index looks like it does too.

One neat thing about tracked VR controllers is that you have very good sensitivity and precision in the pose of the controller itself. While it might be less useful for traditional games, I much prefer it in room scale games. Even with stick locomotion, if a game has controller relative movement, I end up using the controller to adjust direction and speed more than the stick itself.

Hey, I know this is late, but I just happened to remember I said I’d follow-up when I published my demo I was working on. It got delayed because I had a weird coincidence that led me to combine it with an unrelated (hopefully high visibility) event (https://www.patreon.com/posts/70518653) but the game demo itself is at the same place (KING'S FIELD 25th PROJECT by swordofmoonlight) and here’s a devlog post too for good measure: Triple event, incl. PCVR via WMR+OpenXR & Secrets of KF and the Moonlight Sword! - KING'S FIELD 25th PROJECT by swordofmoonlight (Edited: Note, rewritten the main page to include a VR and controls guide.)

I am very curious if you (Rectus) can make this work with your Valve Index. I’m not sure my app supports it since I built it against Microsoft’s WMR and it seems maybe OpenXR has provided a common API but not a common delivery mechanism so far. I’m afraid I’m leaving a lot of VR owners in the dark despite my good intentions.

It outputs Stereo Unavailable (3) if I try enabling stereo mode. Guessing Microsofts OpenXR loader will only attempt to use the WMR runtime, and WMR has no support for non-WMR headsets whatsoever.

The official Khronos loader will use whatever runtime is set in the ActiveRuntime key in the Windows registry, so it’s probably at least a better option in general. For other options, the Unity engine seems to have a more advanced loader that lets you pick which runtime to use if you have multiple installed.

See my other post here:

There is no such thing as “the Microsoft OpenXR loader”. I have no idea what gives you the impression that there is. I’m not even sure where you would be getting a “Microsoft OpenXR loader”? Do you mean the VS Nuget package for OpenXR? Because that ships the Khronos loader, bit to bit.

I use ActiveRuntime on my system to toggle between WMR, Varjo, Oculus, SteamVR, Pimax without any problems.

I will try OP app later today.

Yes, sorry. We figured out that my app’s problem is it’s 32-bit, which SteamVR doesn’t accommodate. Maybe it doesn’t even require SteamVR, but Valve Index doesn’t have a 32-bit OpenXR runtime option.

EDITED: Sorry… I really appreciate you tried Rectus! I’m sorry it doesn’t work with Valve Index… in more ways than one!!

Thanks for trying! I’m glad to know it works… you never get much feedback in these things :slight_smile:

RE “Do you mean the VS Nuget package for OpenXR?” yes, it’s just because it’s what’s in the documentation in Microsoft’s guide, that gives the impression it’s part of MS’s WMR/OpenXR solution. BTW: If you’re asking me this question, I may’ve assumed SteamVR/OpenVR had its own loader, since OpenXR seemed experimental in its environment, but I may’ve jumped to that conclusion because it wasn’t working in my case.

Yeah, the issue is with SteamVR. The big problem with that is that anyone that has SteamVR set as the active runtime will not be able to play your game, regardless of what headset they use.

It might be worth telling Valve that you have an use case for 32 bit support in their OpenXR runtime.

Yes, this is off-topic, but I agree Valve and the others are just a hole in the API now since others are supporting 32-bit and I don’t see why they shouldn’t. I hope something is done, ideally fast… I will try to make a case, because it’s a problem for me. I think any modding like project will run into this problem, so it should be fixed.

Apparently this was a reason the upcoming Half-Life 2 VR mod opted to not go with OpenXR.

1 Like

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.