github GameOrDie007/Quake-PCVR v1.0
v1.0 - Initial Release

latest release: v1.1
one month ago

Team Beef's QuakeQuest — the standalone VR Quake for Quest headsets —
ported to PCVR over OpenXR.

This is not a new VR mod. It is Simon Brown's VR work brought across to a
desktop PC from the exact DarkPlaces commit his Android build forked, with
nothing changed except what PC requires. If you have played QuakeQuest on a
Quest, this plays identically, at whatever resolution your PC can drive.

Developed and confirmed on a Quest 3 over Virtual Desktop (VDXR) at
3993x4243 per eye, 72Hz.

How to use it

  1. Download quake-vr-pc.zip below and extract it anywhere.
  2. Run Setup.bat once.
  3. Start Virtual Desktop and connect it first, then run Quake VR.bat.

That is the whole thing if you own Quake on Steam or GOG. Setup finds your
install and copies the game, every expansion it has and the soundtrack out of
it, then builds the menu artwork and the MachineGames episodes' message text
from your own data. It needs Python 3, and Pillow as well for the artwork.

Quake VR (flatscreen).bat runs it in a window with no headset, which is
useful for checking settings.

No game data is included and none ever will be. Quake is id Software's.
The 2021 re-release on Steam or GOG is the easiest source — it has Quake, both
mission packs and all four official episodes, and Setup.bat will find and add
them for you.

What it does

  • Everything QuakeQuest does — stereo, head tracking, room scale, the weapon in
    hand, the weapon wheel, haptics, the big-screen menus, snap and smooth
    turning.
  • All six games reachable in the headset from Single Player, without going
    back to the desktop: Quake, Scourge of Armagon, Dissolution of Eternity,
    Dimension of the Past, Dimension of the Machine and Dawn of the Machine.
  • A PC Options page — supersampling, anti-aliasing, particle style (which
    is the red blood switch), the door Z-fighting fix, HUD height and the desktop
    window. Every one of them defaults to Team Beef's own value, so an untouched
    install behaves exactly as their game does.
  • A desktop mirror worth streaming — borderless full screen by default,
    Alt+Enter for a window, resizable, and cropped to the shape of your monitor
    rather than squashed into it.

How faithful it is

The port was built against a strict 1:1 reference build kept alongside it the
whole way: QuakeQuest on PC with nothing added, down to reproducing five
defects of theirs deliberately — black blood included, which was verified
against their standalone on a Quest rather than assumed. No PC addition was
made until the 1:1 build behaved identically to their release.

Getting the MachineGames episodes to run

The three MachineGames episodes are built on the 2021 re-release's QuakeC,
which expects its own engine in several places. Four faults had to be fixed:

  • a cvar their progs set about seventy times a second, which this engine did
    not have — every failed set printed a warning into the notify area, which in
    a headset is a permanent line of text just above comfortable view
  • one malformed model out of 228, storing a field as floating-point negative
    zero, which made a stock bounds check fatal and threw you out of Dawn of the
    Machine
  • their achievement message, sent on a number DarkPlaces already uses for
    something else, which desynchronised the stream and ended the session
  • ex_centerprint, ex_sprint and ex_bprint — functions their QuakeC
    declares with empty bodies for their own engine to fill, which silently
    swallowed every key, secret and story message in all three episodes

Their message text is a localisation token throughout; the real wording is
recovered on your machine from their own level editor files and from classic
Quake's progs.

PROGRESS.md in the repository is the full development log, with the evidence
for all of it.

Known issues

  • The in-game Mods browser drops out of VR. Changing gamedir ends in
    vid_restart, which destroys the GL context the OpenXR swapchain images
    belong to. Use the Single Player game list instead — it relaunches the
    process, which is why it works.
  • Sixteen messages in the MachineGames episodes show a readable placeholder
    instead of their real wording, because that text exists only inside the
    re-release's own engine. Everything else, including every ending, is real.

Credit

Team Beef / Simon Brown for all of the VR work, LordHavoc and the
Xonotic project
for DarkPlaces, and id Software for Quake. GPL v2, same
as both — the complete source is this repository.

Don't miss a new Quake-PCVR release

NewReleases is sending notifications on new releases.