The gap
Pool games need stable collision physics, the full foul rules and an opponent that plays sensible shots.
Game templates
The complete source of Cueholm, an 8-ball pool game with ball physics, full fouls and a shot-simulating AI; the smoke test runs a bot frame against that AI to the end.
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
Pool games need stable collision physics, the full foul rules and an opponent that plays sensible shots.
What it is
This template gives you tuned physics, a reusable rules judge and a simulation-based AI with adjustable error.
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
physStep moves every ball in sub-steps and records the first contact, pots and cushion hits for the rules.
makePlan lists ghost-ball shots, scoreSim plays each one on a copy of the table, and AI_NOISE sets how often it misses.
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.