Neon Overdrive
Neon Overdrive is the first game I built, made to learn how real-time 3D actually works rather than to ship a product. You choose one of three jets and fly into an endless cybergrid tunnel. Obstacles and enemy fighters come at you; you steer around them or shoot them down. Every hit adds to the score, the tunnel runs faster the longer you survive, and your best run is kept in the browser.
- 3
- Selectable Jets
- WebGL
- Runs in the Browser
- Solo
- Design & Build
Nothing I had built before had to draw a frame sixty times a second. A web application answers a request and then waits. A game never waits — inside the few milliseconds between one frame and the next it has to move the tunnel, advance every obstacle and enemy, fire and track the lasers, work out what hit what, and redraw the shield, score and velocity on screen. Getting that loop to hold its pace on a phone as well as a laptop was the whole exercise.
It runs on Three.js with Vite, and I kept the scope small on purpose so the loop could be right. The tunnel is drawn from repeating rings, so it never has to load anything mid-flight; obstacles and enemies are reused from a pool instead of being created and thrown away; collisions are plain distance checks rather than a physics engine. React draws the menu and the HUD while the game itself runs on requestAnimationFrame, and the controls read keyboard, mouse and touch, so it plays the same on a phone as on a desktop. The high score lives in the browser's own storage — the number on the menu is your own.
- Vite
- Three.js
- React
- WebGL
- Web Audio API
- Vercel




