nine-mens-morris
Play Nine Men's Morris with synced turns, mills, captures, and a polished 3D board.
About this tile
Nine Men's Morris is a local two-player Poe app for the classic public-domain abstract strategy game. White and Black place nine pieces each, form mills by lining up three pieces, capture after mills, and then move pieces along board lines until one player is reduced below three pieces or has no legal move.
This implementation uses the standard placement, mill capture, and adjacent movement phases. It intentionally keeps the endgame simple and honest: pieces continue to move only to adjacent open points, with no flying rule when a player reaches three pieces.
The app uses synced-store for persistent shared game state and a Three.js board with touch-sized point controls, animated piece feedback, target highlights, capture hints, and a compact ? help overlay. It is tuned for Poe iframes, including 300 by 500 phone-shaped viewports.
Development
bun run doctorchecks the local app toolchain.bun run type-checkruns TypeScript.bun run testruns synced-store and happy-dom unit tests.bun run buildbundles the Poe app.bun run test:playwrightbuilds and runs Playwright E2E coverage.
This package is configured with Poe handle nine-mens-morris and package name @boardgames/nine-mens-morris.