The gap
A mill can take one of several stones, which makes the move list awkward for both the player and the search.
Game templates
The complete source of Millcroft, a Nine Men's Morris game with four alpha-beta opponents and two-player play.
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
A mill can take one of several stones, which makes the move list awkward for both the player and the search.
What it is
Each move carries its capture, so the search sees every choice, and the player picks the stone after the mill is shown.
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
Move generation tries each placement or step, and when it closes a mill it emits one move per stone that may be taken, so alpha-beta compares captures directly.
The four millers search to depth 1, 2, 4 and 6 with a time limit per move; the first two add a little noise to their choice, the last two play their best move.
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.