The gap
Random lights-out boards are often unsolvable, and a par or a hint needs the shortest answer, not just any answer.
Game templates
The complete source of Flickmoor, a lights-out puzzle with forty generated puzzles, a GF(2)/GF(3) solver for par and hints, and a daily puzzle.
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
Random lights-out boards are often unsolvable, and a par or a hint needs the shortest answer, not just any answer.
What it is
This template builds every puzzle backwards from the solved board and finds the fewest taps with Gaussian elimination.
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 puzzle starts from the lit board and applies random taps in reverse, so an answer always exists; the generator keeps the board whose shortest answer matches the wanted par.
Taps are a linear system mod 2 (or mod 3 for three-step lanterns). After elimination, every combination of the free variables is tried and the cheapest answer gives the par and the hint.
Plain JavaScript and Canvas 2D; 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.