A sailing roguelite where wind, hull damage and crew fatigue are one simulation. Snap a mast and the next twenty minutes reroute around it — emergent design, or a bug I've grown fond of.
96 sample points per hull, running in Jobs at 1.3 ms. Water displacement reads from the same heightfield the shader draws, so what you see is what pushes you.
A coarse pressure grid advected each tick. Islands cast wind shadows, which is why hugging a coast feels safe and is not.
Routes are laid out from a fatigue budget, not a difficulty curve — tired crews create the escalation on their own.
Two-band Gerstner sum with foam driven by hull velocity. Cheap enough that WebGL keeps up.
4.8 ms → 1.3 ms on 96 hull points. Achieved mostly by deleting code I was proud of, which is the whole job.
Fatigue now feeds sail logic. Runs got 20% longer and playtesters stopped quitting at the second island.
Fun on its own, noise in context. Rest in peace, little storm dial — you were 1,400 lines.