The gap
Water racing needs a current that feels physical, boat handling that is not a car on ice, and gates that are fair to pass.
Game templates
The complete source of Ferrowake, a top-down river slalom racer with a current flow field, boat physics, upstream gates, 8 courses with medals, a saved ghost and a bot that races in the smoke test.
Coming soon
Not published on its store yet, so there is no buy or download link. PN Scripts does not take payment for it here.
The gap
Water racing needs a current that feels physical, boat handling that is not a car on ice, and gates that are fair to pass.
What it is
A compact flow field, keel physics, direction-aware gates, ghosts and course generation you can retune or reskin.
How you use it
Unzip, serve the folder and open index.html, then edit game.js; npm test plays it again in headless Chrome.
Source code of a real, playable game to reskin and learn from, with a smoke test whose bot plays it.
Use it when
Built for
Each course is a seeded centreline and width; flow(x, y) gives the current, slower near banks and slack behind rocks.
Gate crossings are tested on the segment the boat moved this frame; the best run is stored every third frame and replayed.
Plain JavaScript and Canvas 2D with no runtime dependencies; open index.html through any static server and edit game.js.
A headless Chrome test loads the game, checks the console, presses keys and taps, and lets the built-in bot play a run to its result screen.
1 of 3
| Platform or runtime | Supported versions | Tested up to |
|---|---|---|
| Node.js | 22.12 or newer | Not stated |
The template is finished and tested. It is not on sale yet; this page will say where to get it when it is.
Coming soon
Not published on its store yet, so there is no buy or download link. PN Scripts does not take payment for it here.