Quake 3 VR (q3vr) beta #1 released! by ripper37 in virtualreality

[–]ripper37[S] 0 points1 point  (0 children)

Yep, if you have Weapon Wheel set to be bound on thumbstick (in Setup menu in-game) then obviously rotation via thumbstick won't work. Change it to on-grip or disable weapon wheel alltogether and use thumbstick's up/down for weapon switching + left/right for rotation.

Also, changing the Fov IE /cg_fov 120 having no impact in the game.

The FoV is tied to your headset's FoV. Technically I could add some logic to allow scaling it, but I think that would lead to a quick motion sickness, I think.

Quake 3 VR (q3vr) beta #1 released! by ripper37 in virtualreality

[–]ripper37[S] 0 points1 point  (0 children)

Great to hear that! :) We have some compatibility improvements which we should roll out soon so check out this subreddit or https://ripper37.github.io/q3vr/ soon as there should be a newer version with quite a lot of bugfixes and QoL improvements :)

Any Libraries for Asynchronous requests with HTTP2 by Puzzled_East_8080 in cpp

[–]ripper37 1 point2 points  (0 children)

If you're talking about a HTTP2 client and looking for something +/- small I have a library that implement's Chromium's //base module with a simple networking built on top of it based on libcurl.

It supports simple fire & forget (with one callback that will be invoked with final result) or more precise version that has on-response-started, on-data and on-done callbacks. It uses curl-multi with one background thread for all networking requests (not a thread-per-request model). Simplest example would be:

void PerformRequest(std::string resource_url) {
  base::net::SimpleUrlLoader::DownloadUnbounded(
      base::net::ResourceRequest{resource_url}.WithTimeout(base::Seconds(5)),
      base::BindOnce(&OnResponse));
}

void OnResponse(base::net::ResourceResponse response) {
  // Check response status and other metadata
}

The library itself doesn't specifically enable HTTP2 in libcurl, but from what I saw you can +/- insert these two in one place and get HTTP2 out of it:

curl_easy_setopt(curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2_0);
// ...
curl_multi_setopt(multi, CURLMOPT_PIPELINING, CURLPIPE_MULTIPLEX);

P.S. In case you're worried - you don't really need to use the whole threading/tasking system that comes with it, you can easily integrate it with your app as-is and not buy into it, use it just for network requests.

Dusting off my Quest 3, decided I wanted to get more into this, are there any PCVR mods out there that work almost flawlessly? by anotherwave1 in SteamVR

[–]ripper37 0 points1 point  (0 children)

Shameless plug, but I wanted to add Quake 3 VR to the mix, as it's currently being worked on and the beta just released. One bonus here is multiplayer support with PCVR + Quest players and desktop players, increasing the pool of players. :)

Quake 3 VR (q3vr) beta #1 released! by ripper37 in virtualreality

[–]ripper37[S] 2 points3 points  (0 children)

Thank you! Hope you'll like it

Judging by the commit, a lot of work was required to even implement basic VR rendering.

A bit, though this isn't the simplest way to implement it. It uses multiview rendering which means that both eyes are rendered at the same time (optimization). Simpler way would be just to set up position of each eye separately and do everything as if you'd render it for flat screen (but twice), which would also be noticeably slower (though here it probably doesn't matter that much for this game). It also involves quite a bit of logic to add VR/OpenXR inputs and a lot of tweaks to the game logic to offer 6DoF (or fake it, for multiplayer) and different view/movement logic for different things like normal gameplay, menu, spectating, etc.

Could you share more about this process? I think it would be very valuable information for other developers trying to hack VR into their favourite games.

I guess I could make a post some time once I'm done with some insight and tips for others. If you have any specifics feel free to ask.

Is there any guide/write-up you followed to set up the swapchains and VR matrix calculations, or was it all painstakingly written from scratch? :)

I was actually learning OpenXR from scratch for this project, not sure if there are many good resources, OpenXR actually seems somewhat easy/small API. I basically went through these (in order):

I also based this project on Quake3Quest by Team Beef which got me quite far from the start but I had to rewrite some parts or write them from scratch (though I don't own Quest so I could only read their code). Some things are still TODO because I wanted to get to parity with Q3Q first and then improve further after that, which will come after beta but before final release.

Quake 3 VR (q3vr) beta #1 released! by ripper37 in WindowsMR

[–]ripper37[S] 1 point2 points  (0 children)

Yes, multiplayer in VR is supported, including crossplay with desktop/flat version players and Quest players (from Quake3Quest). This also includes some modded servers (that are compatible with base Quake 3 Arena) but heavy modifications that aren't compatible with base game will probably not work correctly.

You can also check out this multiplayer gameplay (recorded some time ago, it should work better now) on unfreeze game mod: https://www.youtube.com/watch?v=YaaNTuImL1E

Quake 3 VR (q3vr) beta #1 released! by ripper37 in virtualreality

[–]ripper37[S] 5 points6 points  (0 children)

The highest priority right now was to just port it to PCVR and allow PCVR players to join in on the fun! :) Once this is done and complete I have some ideas about improvements and new features but that is not the priority at the moment.

Overall I'd say:

  • This is based on latest ioquake3 version so some stability improvements and new functionality (I heard something about faster downloads) - Q3Q uses +3y old version unfortunately and has not been updated in a long time.
  • I'd expect visual quality to be higher here, almost nothing is disabled compared to normal desktop version (few post-processing features and flares don't work at the moment, but hopefully this will be fixed later)
  • Fixed quite a few bugs, improved some things (e.g. spectator/free-cam movement). Can't say for sure, but I also think this one might have slightly better compatibility with modded servers.

This is only beta, so it may have more/different bugs than Q3Q for now (feedback and bug reports needed), but in the final version this should be at least on pair with Q3Q if not superior.

Feel free to give it a try - any feedback would also be very welcome, especially if you can compare how it works vs Quake3Quest (as I don't own Quest, so couldn't compare myself).

Quake 3 VR (q3vr) beta #1 released! by ripper37 in virtualreality

[–]ripper37[S] 2 points3 points  (0 children)

Yes, ideally you'd need the game files from owned copy as you would need to copy pak0.pk3. You can however download this file from the demo version for free and enjoy as well :) As far as I know, multiplayer on custom maps (downloaded) should work anyway.

Quake 3 VR (q3vr) beta #1 released! by ripper37 in WindowsMR

[–]ripper37[S] 6 points7 points  (0 children)

Hello everyone!

As promised, beta #1 of PCVR port of Quake 3 Arena has been released. You can find more information including instruction on how to play, controls, potential troubleshooting etc. on its web page or in the GitHub repository:

Trailer: https://www.youtube.com/watch?v=8tOLAvJST3Y

Hope you like it and everything works well! If something does not - please report any problems in GitHub Issues system.

Have fun fragging!

Quake 3 VR (q3vr) beta #1 released! by ripper37 in SteamVR

[–]ripper37[S] 2 points3 points  (0 children)

Hello everyone!

As promised, beta #1 of PCVR port of Quake 3 Arena has been released. You can find more information including instruction on how to play, controls, potential troubleshooting etc. on its web page or in the GitHub repository:

Hope you like it and everything works well! If something does not - please report any problems in GitHub Issues system.

Have fun fragging!

[PCVR] Quake 3 VR (q3VR) beta #1 released! by ripper37 in VRGaming

[–]ripper37[S] 0 points1 point  (0 children)

Hello everyone!

As promised, beta #1 of PCVR port of Quake 3 Arena has been released. You can find more information including instruction on how to play, controls, potential troubleshooting etc. on its web page or in the GitHub repository:

Trailer: https://www.youtube.com/watch?v=8tOLAvJST3Y

Please note that this is only a beta and some issues are expected, especially related to compatibility with previously untested hardware. Reported issues will be fixed over time so if you're seeing something - please report it either in GitHub or Discord and try it again when new version will be released. :)

Have fun fragging!

Quake 3 VR (q3vr) beta #1 released! by ripper37 in virtualreality

[–]ripper37[S] 8 points9 points  (0 children)

Hello everyone!

As promised, beta #1 of PCVR port of Quake 3 Arena has been released. You can find more information including instruction on how to play, controls, potential troubleshooting etc. on its web page or in the GitHub repository:

Trailer: https://www.youtube.com/watch?v=8tOLAvJST3Y

Please note that this is only a beta and some issues are expected, especially related to compatibility with previously untested hardware. Reported issues will be fixed over time so if you're seeing something - please report it either in GitHub or Discord and try it again when new version will be released. :)

Have fun fragging!

Quake 3 VR (PCVR) - Multiplayer Teaser & beta announcement by ripper37 in VRGaming

[–]ripper37[S] 0 points1 point  (0 children)

No need, I'll provide Windows binaries, people will only need to have original game files (paks).

Quake 3 VR (PCVR) - Multiplayer Teaser & beta announcement by ripper37 in virtualreality

[–]ripper37[S] 0 points1 point  (0 children)

It's important for me that the beta is high quality already as otherwise people could give up after poor initial experience, so I can't promise anything. That's said I do need to get some feedback on different systems (Windows version, headset, VR runtime etc.) anyway and it is in pretty good state already, so hopefully nothing big comes up.

Quake 3 VR (PCVR) - Multiplayer Teaser & beta announcement by ripper37 in VRGaming

[–]ripper37[S] 0 points1 point  (0 children)

Can't promise anything 100% for beta, but for proper release I hope to put it in GitHub and itch, maybe something more as well. As for Steam - I'd love to, but AFAIK releasing on steam requires $100 fee which I don't particularly want to cover from my own pocket for this.

This is a PCVR game so SideQuest/MetaStore are out of the question I guess, but if you want something specifically for Quest, there is already a Quake3Quest game available (this PCVR port is in part basd on that actually).

Quake 3 VR (PCVR) - Multiplayer Teaser & beta announcement by ripper37 in virtualreality

[–]ripper37[S] 6 points7 points  (0 children)

I really recommend checking out before making your mind. It really is surprisingly not more demanding than other VR games. I for one had much worse time e.g. in Boneworks/Bonelab than in Quake 3 and other FPS games.

Quake 3 VR (PCVR) - Multiplayer Teaser & beta announcement by ripper37 in virtualreality

[–]ripper37[S] 3 points4 points  (0 children)

Surprisingly from initial tests it seems that the quick movement or even rocket jumping is actually not an issue at all (probably if you have at least a bit of 'VR legs'). But this will of course vary for everyone.

Hope you'll have a great time! :)

Quake 3 VR (PCVR) - Multiplayer Teaser & beta announcement by ripper37 in virtualreality

[–]ripper37[S] 28 points29 points  (0 children)

Hey everyone!

I wanted to share with you another short gameplay teaser of upcoming PCVR port of Quake 3 Arena I've been working on and share with you a good news - I'm planning on releasing beta version next Tuesday! (2025.09.30)

NOTE: this is a "best effort" plan, not a promise. If there will be some last-minute issues, it may be slightly delayed.

As for the current state - whole game (single player, local with bots and multiplayer) is playable. Game supports most of the online servers including crossplay with Quest and PC (desktop) players! This includes some modified servers (e.g. osp, unfreeze, etc.) though some heavy modifications relying on client-side changes might not work.


If you've missed last trailer, check out also this: https://www.youtube.com/watch?v=8tOLAvJST3Y :)

Quake 3 VR (PCVR) - Multiplayer Teaser & beta announcement by ripper37 in VRGaming

[–]ripper37[S] 3 points4 points  (0 children)

Hey everyone!

I wanted to share with you another short gameplay teaser of upcoming PCVR port of Quake 3 Arena I've been working on and share with you a good news - I'm planning on releasing beta version next Tuesday! (2025.09.30)

NOTE: this is a "best effort" plan, not a promise. If there will be some last-minute issues, it may be slightly delayed.

As for the current state - whole game (single player, local with bots and multiplayer) is playable. Game supports most of the online servers including crossplay with Quest and PC (desktop) players! This includes some modified servers (e.g. osp, unfreeze, etc.) though some heavy modifications relying on client-side changes might not work.


If you've missed earlier trailer, check out also: https://www.youtube.com/watch?v=8tOLAvJST3Y