Making of King Tide

Chapter 04 — The Drift

A second skill for dry land.

Wave mastery is the hero skill — but it goes quiet the moment you leave the water. On a drowned-city canyon or a ramp network, a game with only wave-pumping reduces to "hold throttle and steer." So the bike needed a second skill for the dry bits, and the obvious one had thirty years of tuning behind it: the Mario Kart mini-turbo drift.

Why drift, specifically

The two skills are deliberately different axes. Wave-pumping is vertical and about timing — catch the back of a swell at the right instant. Drift is lateral and about space — commit to a line through a corner. One owns the water, the other owns the land, and because they never compete for the same input at the same moment, learning one doesn't crowd out the other.

Standing on thirty years of someone else's work

Mario Kart has been refining this exact mechanic since 1992, and the history is a free design doc:

We took the modern, time-based model wholesale: hold a trick button while steering into a corner to charge, release to fire a tiered boost.

Live demo — hold to charge, release to boost. The thresholds and boost values are the real ones from drift-tiers.ts; the deck scrolls at the boost your charge earns.

The tiers, and the floor that stops the cheese

Hold longer, win bigger: blue at 0.6 s (a 1.45× punch), orange at 1.4 s (1.75×), purple at 2.4 s (1.95× and a duration long enough to carry clean into the next corner). The gap from orange to purple is intentionally wide, so a casual hold lands on orange and only a committed, long-arc drift earns the ultra.

But the most important number is the floor. Release before 0.6 s and you get nothing — try it in the demo. That floor, plus a quarter-second cooldown before you can drift again, is the anti-snake rule: you can't tap-spam mini-turbos down a straightaway. Charging two boosts requires two real corners. It's the Wii's lesson, baked in from day one.

The bugs Nintendo already fixed (so we fixed them too)

A naïve drift implementation reveals its problems fast. Our first pass let a held drift tighten into a death-spiral 180. The fix is the wide drift model: while drifting, counter-steering opens the arc rather than cranking it tighter, so the slide feels like a committed line you can shape, not a trap. The rider also physically banks into the slide — because the lean sells the drift to your eye far more than the underlying physics do — and the rear sparks shift color through the tiers with a matching HUD badge, because a charge you can't read is a guess, not a skill. (Those tier colours later became the first entry in the game's locked signal-colour vocabulary — the blue → orange → violet charge ladder of Chapter 08.)

It doesn't rebuild the handling — it bends it

Drift isn't a separate movement system. It reaches into the same hover ground-physics from Chapter 02 and bends two knobs: lateral drag drops to about a third (so the tail slides), and the bike's turning is replaced by a drift-direction bias with reduced player authority (so you're committed to the slide's direction). It's also strictly grounded-only — the moment you're airborne it yields to the trick window, keeping wave mastery's territory clear. And like the rest of the sim, it reads only ECS state, so it stays deterministic for multiplayer.

Read the code

The charge curve and boost payloads are a pure, test-pinned leaf: src/game/systems/drift-tiers.ts (imported directly by the demo). The state machine lives in drift.ts, the physics modulation in hover.ts, and the rationale in docs/adr/0005-drift-mechanic.md + docs/drift-deep-dive.md.