<p>I'm a junior game developer and I've been hired by a VR arcade company to develop their first in-house video game, a location-based/shared-space multiplayer VR FPS. I'm having a very hard time ensuring the virtual space (i.e. the game in the headset) matches the physical space (i.e. the dedicated playroom). We're using Oculus Quest 2 headsets, the Unity game engine and the Photon PUN2 multiplayer solution. The project manager is adamant that it can — and should — be done with the Quest 2 (and possibly upgraded to the Quest 3 in the future).</p>
<p>What I'm looking to achieve is:<br />1. Mapping the Quest's guardian boundaries to the actual room's boundaries. The playroom's size is 36m² (6x6), and so should the guardian's.<br />2. Mapping the avatar's location to the actual player's location with reasonable accuracy. A few inches off is not ideal but still okay, however anything beyond that will be noticeable, disruptive and even potentially dangerous as player might collide with each other.</p>
<p>The core issues I've identified are:<br />A. Quest headsets cannot be aware of each other; they can only be aware of their position and rotation within their own guardian's boundaries. I don't think there exists any out-of-the-box solution to this; some sort of calibration will be required. That's okay as long as the process remains fairly straightforward.<br />B. Guardians are drawn by hand in a single continuous stroke, and unless you're some sort of cyborg there is no way you can have them be strictly identical — especially when the figure you need to draw is 36m². It would be a lot less error-prone if we could draw the guardian by simply picking the four corners of a square, but AFAIK that's not possible at the moment.</p>
<p>C. Leaving the guardian area messes up its spatial mapping; upon reentry, the guardian boundaries will no longer match that of the room even if they more-or-less did before. I guess we could live with that by insisting that clients do not leave the play area, but redrawing the guardian every time a headset does inevitably end up venturing outbound is going to be a pain.</p>
<p>None of the hacks I've found online appear to be wholly accurate or reliable. They always end up getting out of sync in one way or another.</p>
<p>Assistance would be greatly appreciated. Cheers!</p>
<div id="ConnectiveDocSignExtentionInstalled" data-extension-version="1.0.4"> </div>
From what I've investigated so far:
- Disable Guardian or draw it larger than would be traversable.
- Have a fixed headset reset rig in the playspace that can re-center.
- Use tape or what not to keep the wearing sensor engaged so it doesn't throw off the playspace centering. (Which is an annoying behavior in basically every use case to begin with, unfortunately.)
- Safety then comes down to game design and reliable connections, but glitches and issues can still cause hazards, thus these methods are generally not sanctioned no matter what.
As far as I know, there's been no word on shared Guardian nor co-location functionality, so that's all up in the air. Likely Oculus does not want to deal with any liability concerns related to it. It's bad enough that the new Space Pirate Arena update works best with two separate spaces if you want to play with a friend locally.
Thank you for your response!
You're not the first person to hint that the only way is to effectively dismiss the Quest's guardian and to essentially build your own boundary logic from scratch. I'm guessing the Quest simply wasn't designed with shared-space multiplayer gameplay in mind.
What led the project manager to assume shared-space games were achievable using the the Quest is precisely playing Space Pirate's Arena mode. What happened with the update that makes it more difficult now? Because if the whole team behind Space Pirate can't get shared-space gameplay to work reliably, then I sure as hell can't on my own.
Best I can suggest is to:
- Play the Arena update yourself, preferably with 2 player (I've only tested single player with bots so far.)
Then decide if the current solutions are good enough for you. There are so many awesome possibilities, like Oculus' own arena game where they had a spectator mode happening via iPad AR, but that was only experimental and never released. At some point you'll need to ask/wait/do your own VR if you want more robust features, unfortunately. So it's really down to how good you want it to be.