The gap
Planning puzzles need levels that are tight and fair: hand-made ones rarely are, and checking them by hand takes days. Building the game around them takes weeks more.
Game templates
The complete TypeScript and three.js source of Ashline, a firebreak puzzle game: clear a few tiles, light the fire, save every house. Every level's budget is the exact minimum, found with max-flow.
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
Planning puzzles need levels that are tight and fair: hand-made ones rarely are, and checking them by hand takes days. Building the game around them takes weeks more.
What it is
A finished, tested firebreak puzzle whose budgets are exact minimums found with max-flow, with its look, rules and difficulty curve in one config file.
How you use it
Unzip, run npm ci and npm run dev, then edit src/game.config.ts; npm test re-proves every level.
Source code of a real, playable game to reskin and learn from, with exact level proofs built in.
Use it when
Built for
Title, logo, save key, every colour of the valley, hints, and the difficulty curve: board size, houses, fires, forest, rocks, streams, wind and breaks per level.
Each budget is the true minimum number of firebreaks (max-flow vertex cut). The tests check that the cut saves every house, that one break fewer does not, and that doing nothing loses.
24 levels and a daily fire, stars by forest saved, a hint, markers on houses at risk, a burn animation, saves, and layouts for desktop and phones.
36 unit tests and Playwright browser runs, a size budget, an upload zip for itch.io or any static host, and a guide with reskin ideas and new rules.
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.