All work

Entertainment & Media

Neon Ride 125

A full 3D game, made entirely for the web

  • WebGPU game

Play it now

Neon Ride 125 on a real device

Services provided

  • Game design
  • 3D development
  • Audio
  • Interaction design

Built with

  • Three.js r186 WebGPU
  • TSL
  • Rapier
  • GSAP
  • WebAudio
  • WebXR
  • Vite

An original neon night-city motorbike game that runs in the browser on Three.js WebGPU, with drifting, traffic, synthesised radio and VR.

Ride a 125cc street bike through a rain-soaked cyberpunk grid, drift for points, thread traffic for near-miss bonuses and flip through a procedurally generated synthwave radio. Everything, from the bike to the music, is original and generated in code.

IndustryEntertainment & Media
ProjectWebGPU game
My roleDesign and development
ClientPersonal project

In short

  1. An original motorbike game that runs in the browser.

  2. Three.js WebGPU, Rapier physics, and every sound synthesised in code.

  3. Playable here with keyboard, gamepad, touch or VR.

On every screen

Drag or scroll sideways

Neon Ride 125 the website in a browser window

Overview

Neon Ride 125 is an original motorbike game that runs in the browser. You ride a 125cc street bike through a rain-soaked neon city at night, drift for points, thread through traffic for near-miss bonuses, hit nitro and flip through a synthwave radio that is generated as you play.

What's in it

  • WebGPU first, with a fallback. The game uses Three.js's WebGPU renderer and TSL shaders when the browser's WebGPU passes a quick smoke test, and switches to WebGL 2 automatically when it doesn't.
  • A procedural bike and rider. The default bike and rider are built in code, with inverse kinematics for the rider's arms and legs, working lights, a nitro flame and a dash screen. A licensed glTF model can replace it by dropping in one file.
  • A living city. Instanced buildings with shader-lit windows, neon signs and billboards, street lights, wet asphalt with puddles and real-time planar reflections.
  • Traffic. Instanced vehicles following lane paths with Bézier turns and car-following behaviour.
  • Physics. Rapier at a fixed 60 Hz, with arcade dynamics on top: lean, drift slip, gears and RPM, nitro and crashes.
  • Sound, all synthesised. The engine, effects and every radio station are generated with WebAudio. There are no audio files.
  • Play it any way. Keyboard, gamepad, touch controls on phones, and a seated VR mode with controller mapping.

Scoring

Drift points grow with slide angle and speed, with a multiplier that climbs every 1.6 seconds up to ×5. Passing close to a car at speed earns a near-miss bonus that chains and refills nitro. Crashing loses the points you haven't banked.

How it's built

Part What it does
Three.js r186 (WebGPURenderer + TSL) Rendering, materials and post-processing
Rapier Physics world at a fixed 60 Hz, with an analytic fallback
GSAP Menu and camera hand-off motion
WebAudio Engine synth, sound effects and procedural radio
WebXR Immersive VR session with a seated rider view
Vite Development, production build and a single-file build

More work

All projects

Have something
in mind?

Tell me what you're trying to solve. I'll reply with how I'd approach it, which platform I'd use and why.

Book a project