The gap
Logic puzzles must have exactly one solution, and checking that by hand for every puzzle is slow and error-prone. Building the game around them takes weeks more.
Game templates
The complete TypeScript and three.js source of Nightloom, a constellation logic puzzle game: weave threads between stars. A generator and a complete solver make every puzzle unique.
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
Logic puzzles must have exactly one solution, and checking that by hand for every puzzle is slow and error-prone. Building the game around them takes weeks more.
What it is
A finished, tested logic puzzle whose generator and complete solver keep only unique puzzles, with its look 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 puzzle.
Source code of a real, playable game to reskin and learn from, with a unique-solution generator built in.
Use it when
Built for
Title, logo, save key, every colour of the sky, hints, the three-star time, and the difficulty curve: sky size, stars, double threads and loops per puzzle.
Each sky is grown from a seed and kept only when a complete search finds exactly one solution; the tests also check that the search finished and did not stop at its limit.
24 skies and a daily sky, stars by time and hints, undo, remaining counts on each star, a glowing night sky, saves, and layouts for desktop and phones.
35 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, diagonal or triple threads.
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.