Skip to content
PN Scripts

Game templates

Ferrowake Game Template

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.

  • JavaScript
  • Canvas 2D
  • Web Audio
  • Playwright
  • Coming soon

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 boat on the river with current streaks, rocks and the next green gate glowing ahead

What it solves

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.

Who it is for

Use it when

  • Publishing your own boat, river or top-down time-trial racing game on itch.io, web portals or your site.
  • Learning how a complete river slalom racing game is built in plain JavaScript and Canvas 2D.
  • Building a branded mini-game for a client.

Built for

  • Web and indie game developers who know some JavaScript.
  • Developers who want a finished, tested game to build on instead of a blank canvas.

What you get

River and current

Each course is a seeded centreline and width; flow(x, y) gives the current, slower near banks and slack behind rocks.

Gates and ghost

Gate crossings are tested on the segment the boat moved this frame; the best run is stored every third frame and replayed.

No build step

Plain JavaScript and Canvas 2D with no runtime dependencies; open index.html through any static server and edit game.js.

A smoke test

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.

Specs

Availability
Coming soon
Vendor
PN Scripts
Type
Template
Platforms
JavaScript
Pricing
One-time purchase Price to be announced.
License
PN Scripts Template Licence 1.0
Deployment
Download (ZIP of source code)
Maturity
v1.0.0

Compatibility

Platform or runtime Supported versions Tested up to
Node.js 22.12 or newer Not stated

Stack

  • JavaScript
  • Canvas 2D
  • Web Audio
  • Playwright

The Ferrowake template is coming soon

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.

Questions

Make and sell any number of your own games from it, and build games for clients. You may not resell or share the source code itself (PN Scripts Template Licence 1.0).

Any static web server to run the game, and some JavaScript. Node.js 22.12 or newer and Google Chrome run the smoke test.

No ad or portal SDK, and English only. It is tested in desktop Chrome and a phone-sized Chrome viewport with touch, not yet on iOS Safari, Firefox or a real phone.

The code was written with AI assistance and checked by PN Scripts with automated tests. All visuals and sounds are generated by code; there are no AI-generated image or audio files.

It is not on sale yet. When it is, this page will link to the store; PN Scripts does not take payment on this site.