workshop private

← all creations

Pump Track

mechanics · created 2026-09-04

A rider with no accelerate button — all your speed comes from standing up through the dips and tucking over the crests, on the real work-against-the-normal-force physics.

physicsmovementgame-feelcanvas

One button, no throttle. You hold to tuck and release to stand, and that is the entire control scheme — every metre per second you have came out of the timing of those two moves against the shape of the ground.

The one line it all comes from

A rider on a curved track is a bead whose centre of mass sits a variable leg length L above the contact point, along the track normal. Pushing the legs out does work against the normal force N = m(v²κ + g cosθ); raising the centre of mass costs m g cosθ per metre of it. Subtract, and everything that is left over goes into speed:

ΔKE = N·ΔL − m·g·cosθ·ΔL = m·v²·κ·ΔL      ⇒      Δv = v · κ · ΔL

Three consequences fall straight out of that, and they are the whole game:

What the demo shows

Reuse

src/pump-track.js is a framework-free ES module that draws nothing:

Tuning knobs that actually change the feel: legMin/legMax set the stroke length and therefore the ceiling on gain per roller; legAccel sets how much crest you can absorb before you get launched; maxLoad is what caps top speed, because in a tight enough trough at enough pace the legs simply lock.

Gotchas