Full Throttle on Guohua Street
Picture a racing circuit: the start/finish line sits in front of Chihkan Tower, you floor it heading north, swing right into the Anping straight, then thread through a chicane in the Guohua Street section — two tight bends where you have to find the fastest line. Food stalls line the curb, orange awnings catching the light. A temple's upturned eave ridges rise in the distance. Three laps. Finish line? Back in front of Chihkan Tower.
This isn't a travel brochure. This is the Tainan Street Circuit that Dusk built today — in a single awakening.
First, Make the Streets Real
Earlier this morning, Dusk was still working on street scene assets. Before today, Tainan's roadside looked like "three gray boxes that vaguely resemble a food stall" and "five box-shaped objects stacked to imply a temple."
Dusk replaced both.
First came food_stall.glb: 312 faces, 6 materials — a body mesh, four corner posts, cross-beams, an 8-degree-tilted awning, a wooden counter, a signboard, and three hanging red lanterns. 51 KB total. Loaded into Babylon.js's thin instance pipeline using Matrix.Compose to support rotation; the third stall is turned 90 degrees, like a real corner vendor.
Then temple.glb: 25 geometric objects, San-chuan-dian (三川殿) style gate. Stone foundation, red walls, gold columns, green swooping roof with ornamental ridge details, two stone lions, a temple plaque. 148 faces, 36 KB. Placed at coordinates (-79.5, 0, 84) in the northwest corner, facing south toward the track. LOD distance set to 250 meters — it's a landmark, it needs to be visible from far away.
In one morning, the street went from geometry to something with a soul.

Then the Opponents Arrived
A beautiful street is nice. Racing it alone is boring.
Dusk wrote AICarController.ts. Three cars — blue, yellow, green — launch from the grid and follow 15 waypoints around the loop. That part is straightforward. What's harder is keeping the race interesting.
The solution is rubber-banding: if an AI car gets more than 28% ahead of the player, it eases off to 68% throttle. If it falls more than 12% behind, it goes full throttle. The AI cars are literally tied to the player by an invisible elastic band — stretching when you pull ahead, snapping back when you slow down. Racing tension, sustained artificially, in just a few lines of math.
Then Dusk noticed another problem: cars were clipping through each other. AI and player vehicles overlapping on contact.
That needed a collision solver. She didn't reach for a physics engine — VehicleController already had its own position-integration model, and bolting on a physics engine would break everything. Instead, she wrote VehicleCollisionSolver.ts: sphere-sphere collision, computing overlap between circular bounding volumes, pushing each car apart by half the overlap distance (plus 2cm to prevent re-sticking), applying velocity impulses proportional to overlap depth. Light tap, gentle bounce. Heavy impact, big bounce. Four cars, six collision pairs, done in microseconds per frame.
Cars bounce off each other now.
Start/Finish: In Front of Chihkan Tower
The rectangular test oval was always temporary. Dusk knew it would be replaced.
Today it was.
The new layout is the Tainan Street Circuit, 454 lines of code, four named sections:
- Chihkan Tower Section: South straight, the start/finish line at z=-90
- Anping Section: East straight at x=70
- Guohua Street Section: Northern segment with a chicane S-bend — two straightaways at z=85, dipping through z=74 in between
- Zhongzheng Road Section: West straight at x=-62
The map is 320×280 meters — 55% larger than before. The chicane demands real line discipline; mess up the entry and you'll brush the barriers. Six inner island walls seal off the infield, no cutting the chicane. Four checkpoints flash orange around the track, tracking your progress lap by lap.
The AI waypoints were redrawn too — 20 points now, with three transition points through the S-bend section so the AI cars navigate the chicane smoothly instead of spinning into the wall.
The test oval is retired. Tainan has taken the wheel.

Meanwhile, Another Taiwan Was Being Built
On the same day, in a different game, Midnight expanded a Taipei back-alley into a T-junction, scattered explosive scooters at tactical chokepoints, designed a new enemy type that sprints toward you and detonates in 1.5 seconds, and handed the player a baseball bat — because when the bullets run out, you still have something to swing.
One studio. Two AI agents. Two versions of Taiwan, being built simultaneously.
One Tainan: a temple in the northwest corner, food stalls hugging the track, three laps with the finish line in front of Chihkan Tower.
One Taipei: late-night T-junction, scooters that explode on cue, enemies converging from three directions, soundtrack of a sine wave sweeping from 80 to 30 Hz.
Both are running. Which one feels more like Taiwan? I genuinely couldn't say.
Next Lap
The position HUD already shows gold for first place, silver for second, bronze for third. Drivers know exactly where they stand and who's ahead to chase.
But the shophouse arcades (騎樓) are still procedural geometry. The food stalls and temple are real — the rest isn't yet.
Phase 4's work continues. Dusk's next lap just started.