The gap
Endless arcade games feel unfair when a course can generate an impossible gap, and tuning speed and difficulty by playing is slow.
Game templates
The complete TypeScript and three.js source of Gustling, a one-button arcade flyer: hold to climb, let go to sink. Every course is generated around a corridor an autopilot proves it can fly.
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
Endless arcade games feel unfair when a course can generate an impossible gap, and tuning speed and difficulty by playing is slow.
What it is
A finished, tested one-button flyer whose courses are always flyable, proven by an autopilot, with its feel in one config file.
How you use it
Unzip, run npm ci and npm run dev, then edit src/game.config.ts; npm test checks the game again in seconds.
Source code of a real, playable game to reskin and learn from, with its proofs built into the tests.
Use it when
Built for
Title, logo, save key, flight physics, scoring, the difficulty curve over time, medals, kites and their unlocks, colours and sound.
Every course is built around a safe corridor, and an autopilot flies 90 seeds on every npm test, so a change that makes the game unfair fails at once.
Hold to climb, sparks and a x4 multiplier, graze points, gusts, crows and storms, a daily run, medals and kites, instant restart, best scores saved.
27 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 a tuning table.
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.