Night Haul

A pseudo-3D arcade racer: three night roads, four timed checkpoints each and three nitro charges. Arrive in one piece, then chase the clock.

Tail lights and a neon skyline on wet night tarmac — illustration, not a game screenshot
Illustration (AI-generated), not a game screenshot

One road is 30 km long. You leave with 36 seconds on the clock and each of the four checkpoints adds 20. Cover the whole route and you arrive; let the clock hit zero and the run is collected. Each road has its own corner sequence and its own horizon: city blocks and billboards, a sea line pressed low, a row of angular peaks. Three nitro charges, refilled only at checkpoints.

Released 2026-11-06 · Version 1.0.0 · Updated 2026-11-06

The title screen: the three roads are the three buttons, and whichever you tap is the road you drive. The four cells above are this game's hard numbers — three roads, 30 km each, four checkpoints, 18 cars.
The title screen: the three roads are the three buttons, and whichever you tap is the road you drive. The four cells above are this game's hard numbers — three roads, 30 km each, four checkpoints, 18 cars.
City: out of a corner and onto a straight, sitting on the 240 km/h cruise ceiling. The six HUD cells read route, speed, distance covered out of 30.0 km, time left, nitro and checkpoints.
City: out of a corner and onto a straight, sitting on the 240 km/h cruise ceiling. The six HUD cells read route, speed, distance covered out of 30.0 km, time left, nitro and checkpoints.
One nitro charge spent: speed climbs toward 320 km/h, speed lines stretch out toward the edges and the view opens slightly. The charges drop from three to two, and they do not trickle back — only a checkpoint refills all three.
One nitro charge spent: speed climbs toward 320 km/h, speed lines stretch out toward the edges and the view opens slightly. The charges drop from three to two, and they do not trickle back — only a checkpoint refills all three.
The instant checkpoint one is cleared: "CHECKPOINT +20s" lands across the screen, the clock jumps up and the nitro refills. This one sits at 16% of the route, in a fixed place, so on a second run you can lift early for it.
The instant checkpoint one is cleared: "CHECKPOINT +20s" lands across the screen, the clock jumps up and the nitro refills. This one sits at 16% of the route, in a fixed place, so on a second run you can lift early for it.
Coast: the horizon drops low until only a lit line is left, and crests cut off the road ahead. The palette runs cold teal here, a different set from the magenta of the city loop.
Coast: the horizon drops low until only a lit line is left, and crests cut off the road ahead. The palette runs cold teal here, a different set from the magenta of the city loop.
Ridge: a row of angular peaks along the horizon, guardrail close to the shoulder and a car ahead in your own lane. The corners are sharpest here, and one brush against the shoulder drops you to around 95 km/h.
Ridge: a row of angular peaks along the horizon, guardrail close to the shoulder and a car ahead in your own lane. The corners are sharpest here, and one brush against the shoulder drops you to around 95 km/h.
Paused with P or Esc: the frame stops, the road stays underneath. Resume picks the run back up; Back to title lets you choose another road.
Paused with P or Esc: the frame stops, the road stays underneath. Resume picks the run back up; Back to title lets you choose another road.
The run collected: this is what a zero clock looks like — how far you got, how many checkpoints, how many contacts. Only a full 30 km produces "Arrived", and that screen records a time rather than a distance.
The run collected: this is what a zero clock looks like — how far you got, how many checkpoints, how many contacts. Only a full 30 km produces "Arrived", and that screen records a time rather than a distance.

The shape of a run

This is not an endless stage race. A road runs 30 km from start to finish, with four checkpoints fixed at 16%, 36%, 58% and 80%, and covering all of it counts as arriving. If the clock reaches zero anywhere along the way, the run is settled on how far you got.

The arithmetic is tight. You start with 36 seconds, four checkpoints add 20 each, so a run can hand you 116. Thirty kilometres at a steady 240 km/h takes about 81 seconds, which leaves room for two or three mistakes — a couple of shoulder excursions, one crash — and after that what remains is only enough to finish carefully.

That is why holding the throttle down is not the fast line. Full throttle walks you into the rail through every corner, and the speed you lose costs more than the corner did. What actually cuts the time is not making mistakes.

A corner is placement, not steering

The road bends to one side and the car is pushed toward the outside, harder the faster you go. Start turning at the apex and you are already on the shoulder. What works is lifting before turn-in, putting the car on the inside early, and getting back on the power past the apex — it sounds slower and is measurably quicker than sawing at the wheel mid-corner.

Leaving the tarmac does not end the run, but it drops you to around 95 km/h, shakes the frame and forces a fresh acceleration once you are back on the road. Losing that through one long corner usually costs more than a crash. A crash is blunter: speed falls to 45% of what it was, the charge in hand is cancelled, the view jolts, a dull horn thumps. Contacts are counted in the results, but they never take a checkpoint away and never end the run.

Three charges, and only checkpoints refill them

You carry three charges. Each lifts you from 240 to 320 km/h for roughly a second and a half. They do not trickle back on their own — that number is fixed in the code, and it only started meaning "three" once the automatic trickle was removed.

The only supply is a checkpoint: clear one and all three come back at once. Over a run that is three charges plus one refill per checkpoint, seven bursts at most. Where you spend them matters more than how many you have: the end of a straight is worth it because a second and a half carries you to the next corner, while mid-corner it simply fires you into the rail with the outward pull at its worst.

Eighteen cars, same queue every time

Eighteen cars are always out there, in different colours and at different cruising speeds. The slow ones sit toward the outside, the quick ones change lane on their own. All of them run your direction and all run slower: there is no oncoming traffic and nothing pulls out of a side road. You are catching them, not dodging them.

Three rules are worth learning. They do not yield — touching one means you hit it. A car you just hit goes briefly cold, so the same bumper will not judge you twice in quick succession. And their speeds are fixed, so the same stretch holds the same queue every run; the corner sequence is seeded too, which makes a road learnable.

Traffic does not clear when you take a checkpoint. Charging out of a fresh 20 seconds straight into a pack is the most common way to waste it.

What separates the three roads

The difference is not only colour. City runs a horizon of blocks and billboards with the tightest corner spacing, and it is where you learn to steer. Coast stretches the climbs and flattens the horizon into a single lit line, with crests that cut off the road ahead. Ridge draws a row of angular peaks, has the sharpest corners and the narrowest shoulders, and every brush against the rail costs another acceleration.

Fog, road brightness and guardrail colour are a separate set for each road as well, so screenshots from the three never blur together. The far silhouette is drawn per road — blocks, low swells, sharp peaks — rather than one shape tinted three ways.

Checking the numbers

The 30.0 km is not a rounded figure. The track is assembled from segments of 200 units, 3,900 of them, at 26,000 units to the kilometre, and all three roads are deliberately padded to the same segment count — which is why the HUD always reads 30.0 at the finish.

The 36-second start, the 20-second bonus, the four checkpoint fractions, the 240 and 320 speed steps, the 1.5-second charge, the 18 cars and the 0.45 multiplier after a crash are all constants at the top of yexing/src/game.js. To check them yourself, play one run and watch the HUD: the clock starts at 36, the first checkpoint adds 20 on top of whatever is left, and the distance cell has 30.0 as its denominator.

A finished run records a time, lower is better, kept separately for each road. Records live in this browser only; another device or cleared site data starts from zero.

Content and image notice

All eight screenshots on this page come from a real browser at 1440×900, with no compositing or retouching. The cover art at the top and the walkthrough header are AI-generated illustrations rather than gameplay, and both are labelled as such. There are no AI images inside the game: the road, the car, the lamp posts, the skyline and the peaks are all drawn live as vectors on a canvas.

The game has no account, no purchases and no network requests; all sound is synthesised in the browser. Progress lives in localStorage on this device, under the namespace gs:yexing:. Like the other subdomains, this page loads the Google AdSense script to cover hosting, and there are no ad slots inside the game frame.

Questions

Do I need to download or sign up?
No. Open it in a browser. There is no account and it asks for nothing.

How long is a run?
A full 30 km takes about 90 seconds to two minutes; all three roads fit in five.

Does it work on a phone?
Yes. Hold either half of the canvas to steer, throttle is automatic, and the round button at the lower right burns a charge.

Does a crash end the run?
No. It cuts speed to 45% and cancels the charge in hand. Contacts appear in the results but never remove a checkpoint and never end the run.

Why am I always a few seconds short?
Usually the shoulders and contacts ate the margin. Lifting before a corner and placing the car on the inside is quicker than holding full throttle.

Do records sync?
No. The fastest time stays on this device; there is no server.

Is there a walkthrough?
Yes. A complete walkthrough in the deep dives covers every checkpoint on all three roads, in Chinese and English.

Deep dives for this game

Pick a road and go — Runs on its own subdomain · 30 km per road · records stay on this device

Release notes

Since the first version on 2026-11-06, this page records what changed in each version of this game.

  1. 1.0.0 · 2026-11-06 — First release: three 30 km night roads, four timed checkpoints, 18 cars and three nitro charges.