The gap
Beam puzzles need a light model that handles splits, loops and colour mixing without hanging, and levels that are provably solvable.
Game templates
The complete source of Glintmoor, a laser-and-mirror puzzle with additive colour mixing, 22 levels and a test that replays a stored solution for every level.
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
Beam puzzles need a light model that handles splits, loops and colour mixing without hanging, and levels that are provably solvable.
What it is
This template gives you a terminating colour-mask beam model, a level format with stored solutions and a polished, touch-ready game around them.
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 level is seven rows of two-letter tokens plus a tray and a solution; the test replays the solution, so a broken level fails the build.
simulate() pushes colour masks across cell edges and only revisits an edge when new colour arrives, so loops always end.
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.