Skip to content
EXP 02The Ferry Anglea canoe against the real wind

Cross the lake. The wind is real.

Paddle from the south bay to the red buoy. The wind pushing you off course is the actual wind at Ely, Minnesota, right now — fetched from the airport weather station up the road from Shagawa Lake.

Tap the left / right half to turn that way — every stroke also pushes you forward · hold longer for a harder turn · arrow keys work too

READING THE LAKE…T 0:00
A canoe crossing of Shagawa Lake against live wind data from the Ely airport. Interactive canvas; use left and right arrow keys to paddle.

NOTESHow it's builtno engine, no physics library

The physics is the game

Nobody teaches you the ferry angle here — the lake does. The hull's sideways drag is about ten times its forward drag, which is the whole trick: aim straight at the buoy and the wind walks you down the lake; quarter into it and your own hull turns the crosswind into track. Real canoeists know the move. The simulation never mentions it — it just makes it true, the way water does.

The wind is a fact

On load, the page asks the National Weather Service for the latest observation at KELY — the Ely airport, a few minutes from the real Shagawa Lake — and that reading drives both the particle field you see and the force on your hull, from the same noise field with the same seed. When the station reports calm or goes quiet, the badge flips to MEMORY and a plausible March wind takes over, seeded by the date so every day's memory is reproducible.

The stack is the boast

Raw WebGL2 renders the wind — sixteen to sixty-five thousand particles living in ping-pong textures, advected by a curl-noise gust field on the GPU. Canvas 2D draws the lake, the track, and the boat. React mounts it; nothing else is imported. No Three.js, no game engine, no physics library — the services page says “up to and including a playable game,” and this is that sentence, compiling.

The house rules hold

The buoy is the only red on the map — color is an event, even mid-game. Reduced motion (yours or the footer's MOTION switch) stills the whole thing into a printed survey poster with today's real reading in the title block. Finish a crossing and the challenge link carries your wind's seed, so “beat my time” means beating it on your water.

Back to the test patterns — or if this is the kind of thing you want built into something of yours,the station takes requests.