monkeylashes
← Medal of Honor: Allied Assault in VR

Medal of Honor: Allied Assault 0.1.0 — the first build that plays

The first build worth putting in someone else’s hands. It is OpenMoHAA — the open-source Medal of Honor: Allied Assault engine — compiled for Android and rendered through OpenXR on a Quest 3. Nothing is streamed. Missions start and play to the end.

The APK is the engine and nothing else; the game’s own data has to come from a copy you own. None of it is distributed here.

The modern renderer was the slow one

The port runs renderergl1 on gl4es, not renderergl2. That reads backwards — rend2 is the newer path — and the numbers are why.

rend2 ran this content at 10 to 15 fps, and the interesting part is where it went: 50 to 60 ms of CPU per eye binding GLSL programs, while the GPU finished its work in 3 ms. It was not being asked to draw too much. It was preparing lighting that art authored in 2002 has no maps to feed, at a per-eye cost that doubles the moment you have two eyes.

The old fixed-function path asks the content for exactly what the content has.

What it costs to look this sharp

Each eye renders at the full 1680×1760. That holds 90 fps standing still and falls to 77–85 while moving, so most frames in motion are being reprojected by the compositor rather than drawn.

That is a deliberate trade rather than an oversight — it plays well and the picture is markedly sharper — and it is the first thing to hand back if you would rather have the frames: vr_resolutionScale exists for that.

Rough edges

Honestly a list, this early:

  • The HUD is still drawn in flat screen space during gameplay, so it does not converge properly. The menus are fine — they sit on a quad layer fixed in the room.
  • Weapon grip alignment is a single global setting shared by every weapon, so a pistol and a bazooka sit in the hand the same way.
  • The two-handed hold, the reload gesture and off-hand steering are written but have not been tried on the device. Written is not working.
  • Some foliage still turns with your head.
  • Quest 3 is the only headset this has been tested on.

There is also a SIGSEGV from the Adreno driver in the log at every single launch, which predates all of the VR work — it was there in the flat builds — and which the process simply survives. It is the kind of thing that would be alarming if it were new.

Built against Team Beef’s RTCWQuest as the reference throughout, and on the OpenMoHAA project’s engine.