Title

Space Runner 3D

Head-tracked rail shooter

3D head-tracked rail shooter. Monitor as a window.

Play in the browser ↗ spacerunner3d.acidlemon.com
Godarni boss fight on Across the Razor Ridge: the phase-tick health bar reads GODARNI 2/3, the weak-point ring blown out white and swelling mid-tell, the boss's segmented body coiling behind the player figure.
In game Arcade window · depth, horizon, one eye closed and a lean Captured from spacerunner3d.acidlemon.com
What it is

A rail shooter in the 1985 arcade lineage — flying player figure, scrolling checkered ground, enemy waves, bosses, scoring — with original geometry and original audio. Twenty-four stages with their own palettes and rosters, a parallax horizon of drifting ridgelines behind every one of them, and a stage editor with browser-local saves. Enemies lead their shots at where you're going rather than where you are, fly squad maneuvers — weave, flank, a telegraphed dive — on top of their own behaviour, and bosses shift tactics at two health thresholds with a held-fire, flared tell so the change reads as a fight changing shape rather than random noise. Easy Mode is a real off-ramp, not a cosmetic toggle, and low/medium/high quality tiers keep it running on a phone.

The mechanic

The monitor is a window

The webcam tracks your head and the scene is re-projected with off-axis projection based on where your head actually is. The screen stops behaving like a flat picture and starts behaving like a hole in the wall: lean left and you see around the right edge of what is in front of you. Close one eye and the depth illusion locks in hard. It is the display layer, not a shader — the geometry is genuinely being redrawn for your viewpoint, with screen shake applied after that projection so a hit never corrupts the window illusion. If you would rather not sit in front of a camera, an auto-orbit cinematic mode gives you the same parallax on a timer. Underneath it, every enemy, obstacle and boss now shares cached geometry and materials instead of minting its own, and every actor's shaders compile once at load instead of stalling the first wave — the difference between a game that stutters the moment it gets busy and one that doesn't.

In the wild
Stage 1, Across the Razor Ridge, mid-flight: the player figure between rows of trees with two enemies closing in from the tree line, HP and score along the top.
Stage 1, Across the Razor Ridge — the opening wave
Stage 18, Citadel Horizon: dark red ruined pillars and floating asteroid shapes recede into a parallax ridge horizon, two enemies telegraphing a dive with glowing threat rings.
Stage 18, Citadel Horizon — parallax horizon, dive telegraphs
Stage 13, Temple Run: the player figure among sand-toned temple columns with a small enemy squad spread flanking left and right.
Stage 13, Temple Run — a squad flanking through the ruins
The title screen: Play and Editor buttons, a stage-set dropdown, the Stage 01 Across the Razor Ridge briefing card with its threat rating and encounter hooks, Start Game, Easy Mode off, Options and Reset Progress, and the full control list beneath.
Title screen — stage briefing, Easy Mode, the full control list
How to play
WASD / arrows
Move
Mouse
Aim
Click / Space
Fire (hold for auto)
Right click / B
Bomb
R
Recenter head tracking
Esc
Pause

Head tracking asks for the webcam and needs HTTPS — the camera feed stays on your machine. Decline it and the game still plays; turn on cinematic mode in Options for the parallax without a camera. Easy Mode softens shot-leading and skips the harder squad maneuvers — a real second difficulty, not a label.

Field note

Two games, built to learn

How it got built →

Play

Runs in the browser on its own host. Nothing to install.