I Prompted Ox Alpha to Build a Cyberpunk Hoverbike Endless Runner — One Shot, Full Synthwave Soundtrack Included


Continuing our genre-by-genre stress test of Ox Alpha, the unannounced stealth model available via OpenRouter and OpenCode, this run asked for something with a very different profile from the open-world survival test: a fast, linear endless runner with heavy visual styling and a full procedural music system, rather than a large explorable world.
What I asked for
A one-shot prompt targeting a specific aesthetic (cyberpunk/synthwave) and a specific mechanic (lane-based banking movement with a boost system), plus a hard requirement for fully procedural audio — no sample files, synthesized music included.
You are an expert game developer and 3D graphics engineer specializing in Three.js and the Web Audio API.
Build a complete, fully playable, single-file HTML/JS 3D Cyberpunk Hoverbike Endless Runner game.
Requirements:
- Single File: Deliver everything inside one self-contained index.html file (HTML, CSS in
<style>, JS in<script>).- CDN: Load Three.js (r128) via https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js. Zero external image or audio files.
- Player & Mechanics:
- Procedural hoverbike mesh with glowing neon trims.
- Smooth lane shifting with banking/tilt inertia on turn (A/D or Left/Right).
- Boost mechanic (Spacebar / Shift) with thruster particle trail and camera FOV warp.
- Environment & Spawning:
- Infinite curving segmented track with neon grid lines and procedural skyscrapers.
- Segment recycling ahead/behind the player to avoid memory leaks.
- Holographic barricades, laser barriers, and floating energy pickups for boost replenishment.
- Procedural Audio (Web Audio API):
- Arpeggiated synthwave bass loop, engine hum pitch-linked to speed, boost SFX, pickup chimes, and crash noise bursts.
- UI & State:
- Cyberpunk glassmorphism HUD (Score, Distance, Speedometer, Boost Bar).
- Start Screen, Game Over screen with High Score in localStorage, and instant restart on 'R'.
Output only valid, production-ready HTML code without placeholders or truncation.
Interactive Demo
W A S D / Arrow Keys to drive
This is Ox Alpha's unedited one-shot output. Press Enter to start — A/D or the arrow keys shift lanes, hold Space or Shift to boost.
Track and world generation
Rather than generating an unbounded track, Ox Alpha built a fixed pool of 26 track segments that recycle: once a segment passes behind the camera, it's repositioned to the front of the queue and its skyscrapers are re-randomized. The track path itself follows a sine-wave curve function (curveX) driven by total distance traveled, and both the road segments and every obstacle/pickup query that same function each frame to stay aligned to the curve — so obstacles bank correctly around corners instead of floating off the road surface.
Buildings use MeshStandardMaterial with an emissive canvas-generated window texture (two palettes — cyan and magenta) rather than any external image, procedurally punching random lit windows into a 64×128 canvas at generation time.
The hoverbike and boost feedback
The player's hoverbike is built entirely from primitives — box hull, cone nose, cylinder hover pads with torus glow rings — with neon strip meshes for trim rather than any texture work. Banking uses a lateral-velocity-derived tilt (bankTilt) that's smoothed rather than snapped, so lane changes visibly lean the bike into the turn instead of sliding sideways flat.
Boosting triggers three synchronized effects at once: the thruster particle emission rate and size both increase, the camera FOV widens from 72° to 96° for a speed-warp effect, and a dedicated boost whoosh sound plays. All three read from the same boosting state flag, so they stay in sync without separate timers drifting apart.
Procedural audio system
This is the most elaborate procedural audio setup we've seen in this Tier 3 series. A step-sequencer (musicScheduler) running at 122 BPM plays a 16-step arpeggiated bass pattern through a lowpass filter with feedback delay for a synthwave echo effect, layered with a sine-wave kick on quarter beats and filtered noise-burst hi-hats on the offbeats — an entire generative music track built from oscillators and a single shared noise buffer, with no audio files loaded at all. Engine hum pitch is tied directly to bike speed via updateEngineSound(), so the hum audibly rises during a boost and falls back at cruising speed.
What impressed me
The audio system stands out as the strongest single element of this build. Writing a working step-sequencer with a delay/feedback loop for the synthwave arpeggio — not just a single looping sample, but a real generative pattern with its own scheduler — goes well beyond "play a beep on pickup." The prompt asked for an "arpeggiated bass loop" without specifying implementation, and Ox Alpha chose to build an actual sequencer rather than a shortcut.
Object pooling for obstacles and pickups (acquire()/release() functions reusing meshes instead of constantly allocating and disposing) is also a detail the prompt didn't explicitly demand — it just asked to avoid memory leaks via "segment recycling." Ox Alpha extended that same recycling principle to every spawned object, not just the track segments, which is the more complete interpretation of the requirement.
What needs work
- Difficulty scaling is aggressive early — the gap between obstacle spawns shrinks steadily with distance (
difficultyGap()), which can feel like a fast ramp-up compared to some other endless runners we've tested. - No mobile/touch controls — the game is keyboard-only (arrow keys, A/D, Space/Shift), consistent with the prompt's requirements but worth flagging for anyone wanting to embed this on a touch device.
- Only one effort tier tested — this run used Ox Alpha's High setting only.
Honest assessment
Try it yourself
You are an expert game developer and 3D graphics engineer specializing in Three.js and the Web Audio API.
Build a complete, fully playable, single-file HTML/JS 3D Cyberpunk Hoverbike Endless Runner game.
Requirements:
- Single File: Everything inside one self-contained index.html (HTML, CSS, JS).
- CDN: Load Three.js (r128) from CDN. Zero external image or audio files.
- Player: Procedural hoverbike mesh with neon trims, smooth lane shifting with banking/tilt on turns, boost mechanic with thruster particles and camera FOV warp.
- Environment: Infinite curving segmented track with neon grid lines and procedural skyscrapers, segment recycling to avoid memory leaks, obstacles and floating boost pickups.
- Procedural Audio: Arpeggiated bass loop, speed-linked engine hum, boost/pickup/crash SFX — all synthesized, no samples.
- UI: Glassmorphism HUD (Score, Distance, Speed, Boost bar), Start screen, Game Over screen with localStorage high score, instant restart.


