Skip to content
← PARAM BAHIA

PROJECT — LIVE · IN THE BROWSER

Crash Derby Arena.

Opened c. Jul 2026 · Amended 23 Oct 2026

A PS2 game I half-remembered and couldn't stop thinking about. Then I realised I could just make it.
← PARAM BAHIA

PROJECT — LIVE · IN THE BROWSER

Crash Derby Arena.

Opened c. Jul 2026 · Amended 23 Oct 2026 (the browser, and the lobby)

A PS2 game I half-remembered and couldn't stop thinking about. Then I realised I could just make it.

The memory was specific: a demolition derby in a dirt bowl, four people on one sofa, every hit an event. I couldn’t fully remember the game, but I could remember exactly how it felt — and that feeling is what the couch has been missing ever since multiplayer moved online. So this became my first step into game development: not a tutorial project, but the game I actually wanted to play with my friends. Sixteen chunky 90s banger cars drop into a county-fair dirt bowl at dusk; you ram, dodge, and boost until you’re the last car rolling.

The design rule is that the hit is the game. Everything else serves the moment two cars meet: a custom arcade car controller on rigid-body physics — deliberately not the engine’s stock vehicle — running a sixty-hertz tick, with per-region crumple states, parts that tear off as physics debris, smoke, sparks, engine fire near death, and named Burnout-style takedowns stamped across the screen in comic-book bursts. Rounds are tuned short and savage — ninety seconds to two minutes — and wrecked cars stay on the field as burnt husks, so the bowl gets more dangerous as the round closes in. When only two remain, the floodlights drop for a final duel. And if a round dawdles, a monster truck called THE CLOSER smashes through the gate to end it.

The opponents have personalities rather than difficulty settings — the Hunter chases the leader, the Opportunist rams whoever’s mid-fight, the Coward hides until the endgame, the Berserker just sends it — and they telegraph their hits so getting wrecked feels fair. Around the core sit the party layers: three weight classes plus unlockable joke vehicles (an ice-cream van, a bumper car, a mini tractor), mutators like bouncy walls and one-hit wrecks, a play-money fair economy with kid-safe derby-night betting on bot matches, and a career book with persistent named rivals. The whole thing wears a county-fair UI kit called THE MIDWAY.

It went from first commit to a playable, playtested build in five days — 247 commits, fifty specs, roughly thirty thousand lines of GDScript, ten logged playtests on real hardware — built through the same orchestrated framework as everything else this month. Since then it has gone fourteen waves deep: a whole county-fair economy (fair tokens, a garage, betting nights), an aggression layer that keeps rounds mean — vampire hits, boost pads, a closing fence, a Gulag duel pen — a spotter minimap, and the comic-book damage story tuned to the frame. It is, objectively, very fun to hit things.

The split-screen rig is already in the code for the sofa it was designed around. The harder prize is online: the networking spike is proven, and the next step is a dedicated headless server running on my always-on box, so friends can join even when my laptop is shut. Same authority model as the spike — the server is just the host minus the local player.

AMENDED 23 OCT 2026 — THE BROWSER, AND THE LOBBY

Three months parked, then one day back. The game now runs in a browser tab: the whole engine compiled to WebAssembly, the same Jolt physics, nothing to install. The frame was the real work. The sun was casting four cascades of shadow across a thousand objects, which a laptop browser cannot afford, so on the web the sun casts one, the small debris stops casting at all, and the canvas draws one pixel per pixel. Sixteen cars at sixty frames on this laptop at the drop; the sound works; the textures went in compressed. The static hosts cap a file at twenty-five megabytes and the engine alone is forty, so it is served from the always-on server through a tunnel — which is where the dedicated server from the paragraph above now actually lives.

And the lobby. Press O on the title. HOST A NIGHT hands you a four-letter code; friends open the same address on their laptops, type it in, and appear in the waiting room, and the host fills the rest of the field with bots. The room works across the open internet — two tabs through the public address, the roster updating live. What it does not do yet is drop into the round: START says so in this build, and the synced match is the next one. A laptop and a keyboard, or since 24 October a phone held sideways, thumbs on the glass; Chrome or Firefox get the full-speed build, Safari a slower one.

→ cda.parambahia.com · laptop or phone · ~70 MB on first load

Godot · Jolt physics · GDScript · fourteen waves · single-player + split-screen, and since October the browser. The screens below are the real build.

The decomposition — 23 Oct 2026

02 / 20 · Crash Derby Arena — Everything tuned around the hit

Project / Crash Derby Arena · Design decomposition

  1. 01The hit

    The design rule is that the hit is the game, and every other part serves the moment two cars meet.

  2. 02The physics

    I wrote a custom arcade car controller on Godot with Jolt rigid-body physics at a sixty-hertz tick, deliberately not the engine’s stock vehicle.

  3. 03Damage model

    Each car crumples by region, tears parts off as physics debris and catches fire near death, and named takedowns stamp across the screen.

  4. 04Short, savage rounds

    Wrecks stay on the field as burnt husks, the floodlights drop for the final duel, and a monster truck ends any round that dawdles.

  5. 05Bots with personality

    Opponents carry personalities instead of difficulty settings, and they telegraph their hits so getting wrecked feels fair.

  6. 06Party layer

    Weight classes, joke vehicles and mutators sit around the core, beside a play-money fair economy and a career book of named rivals.

  7. 07Split screen

    The split-screen rig is already in the code for the sofa the game was designed around.

  8. 08Online, half built

    A headless server on my always-on box runs the lobby: host a night, share a four-letter code, friends join from a browser. The synced round is the next build.

Schematic — structure only · in the browser

Dwg crash-derby · Scale 1:1 · Rev 08

Playable in the browser at cda.parambahia.com since 23 Oct 2026. Single-player and split-screen in the build; the online lobby works and the synced round is the next step.

Crash Derby Arena — the title screen running in a browser tab at cda.parambahia.com
The browser. The title screen as a Chrome tab draws it on 23 October 2026 — the bowl, the floodlights, the attract cars — the whole engine in WebAssembly, served from the always-on server. Press O for the lobby.
Crash Derby Arena — muscle-car lineup on the dirt at dusk
The bangers. Chunky, cartoon-proportioned 90s stock cars on real churned dirt — fastback, notchback, brawler — each with painted door numbers and fictional sponsors. The visual bar: closer to Wreckfest than blocky, never photoreal.
Crash Derby Arena — live gameplay: two cars colliding under a WHAM! comic burst with the crowd behind
The hit is the game. Live gameplay, mid-collision: the comic-book burst stamps the impact, a torn-off panel spins through the air, sparks drift, and the county-fair crowd rings the bowl. This is the moment everything else is tuned around.
Crash Derby Arena — live gameplay: a car flipped airborne mid-round with debris across the dirt
The physics doing the storytelling. A round in full swing — one car launched clean off the deck, another flipped on its side, debris scattered where earlier hits landed. Custom rigid-body crash physics at a sixty-hertz tick; nothing here is scripted.
Crash Derby Arena — live gameplay: late round with a burnt husk smoking on the field among survivors
The bowl remembers. Late round: a burnt husk smokes where a car died, survivors carry their damage, and the field itself has become the hazard. Wrecks stay down — the arena gets meaner as the round closes in.
Crash Derby Arena — results ceremony with podium and stats
The ceremony. Every round ends on a podium under the floodlights — kills, assists, damage, best takedown — with a one-button rematch and the party mutators a tap away. Couch DNA: big, readable, controller-first.