Pocket.
One button, and a wave that never ends. Hold to pump down the face and build speed, let go at a ramp to fly, and tuck in the air to spin. Then the lip throws over your head and the same button means the opposite thing: in the pocket, holding is the only way out, because the wave lands on anyone who slows down. Ride it clean and it spits you over the shoulder. Distance is the score, air and seconds inside the wave are worth more, and one run is one sunset.
Hold to pump · Release at a ramp to fly · Tuck to flip
No run yet
Get inside the wave. Stay there.
One button · Endless wave
Pocket.
Hold to drop in. The wave never ends and the whitewater never stops.
Hold anywhere (or the space bar) to pump through the troughs and build speed. Let go at a peach ramp marker to launch, and hold again in the air to tuck: a full rotation pays. When the lip throws over you, keep holding, because in the pocket speed is the only way out.
Bench notes
- One input, three meanings
- On the open face, hold is speed and release is a jump: the downhill formula, borrowed from ski games, where you earn velocity by pressing into the troughs. In the air the same hold is a tuck, which rotates you and drops you faster. Inside the pocket it is the only thing keeping the wave off your head. A control that changes meaning with context is usually a design mistake. Here it is the entire game, because the context is never ambiguous: you can see whether you are on the water, above it, or under the lip.
- Why the jumps were fake
- The first version asked, every frame, whether the water had fallen out from under the rider yet. That question can only turn true on the BACK of a crest, where the surface already points downhill, so every launch threw away the ramp's upward velocity and the best jump in the game was a stumble. It now asks a different question, about the water a board's length ahead: can I still pull myself down onto that? You commit to leaving while you are still on the steep part of the lip, which is the only place the tangent points where you want to go. Same terrain, same button, and suddenly the wave throws you.
- The pocket
- The barrel is real geometry, not a filter. The wave carries a second curve above the water line, and where the generator drops a pocket that curve pitches out until it is a roof about a body's height over your head. What you can see and what can hit you read the same three functions, so the lip that looks like it is closing is the lip that closes. The dark is the inside of the wave. The almond of light down the line is the way out.
- The sound
- Synthesized, like everything in the Lab that makes noise: a low ocean bed, a carve hiss that follows your speed, wind in the air, and one lowpass filter across the whole mix that slams shut when the lip closes over you. That muffle is the most convincing thing in the piece, and it is four lines of code. No recordings.
- One run, one sunset
- Distance drives the sky from afternoon through gold to stars. Nothing in it has a colour of its own: every value is mixed from the section's own design tokens, so the sea can run all the way to night without leaving the site's palette. Same discipline as the rest of the page, at sixty frames a second.
- The manners
- It plays with a finger, a pointer, or the space bar, and the wash is pegged to a fraction of the stage rather than a pixel count, so a phone gets the same tension a desktop does. Nothing here punishes you for not knowing it yet: a rotation you do not finish just does not pay, and holding the button the whole way through still gets you off every ramp. With reduced motion on, nothing moves until you press: the lineup arrives as a single composed frame and the game still plays in full. Your best run lives on your device only, planted as a peach flag you will meet again.