Area: Interactive and Gaming Solutions


Problem: A studio wanted to prototype a Wipeout-style racer. Shipping a traditional build means installers, per-platform builds, and a download before anyone plays. They needed it in a browser, with no install, and they needed the AI to be credible.

Approach: We built the WebGL engine from scratch in Three.js: spring-damper hover physics, AI opponents across five difficulty tiers that use the player's own physics, procedural tracks from five tile types, and a weapon set of missiles, mines, and speed dashes.

Technical details:

  • Three.js r185 with UnrealBloomPass post-processing
  • Custom spring-damper hover physics with magnetic track re-attachment
  • AI held to the same physics constraints as the player
  • Procedural tracks: straights, corners, ramps, gaps, loops
  • Forza-style scoring with streaks, chains, and a multiplier up to 10x
  • WebAudio engine with procedural sound synthesis

Play online: playmur.npc-it.co.uk

Outcome: The studio had a playable prototype in weeks, not months. The AI cannot cheat, because it runs the same physics. New track types and game modes are additions to the engine, not rewrites.

Stack: Three.js r185, WebAudio, Node.js + Express, ES Modules

Sandboxed plugin ran for projects/racing-engine and read “3D Racing Engine” through the mediated API.