tablut
Traditional 9x9 Tablut with corner escape, hostile squares, captures, and a polished 3D board.
About this tile
Tablut is a local two-player Poe app for a traditional 9x9 Tafl board game. Attackers move first and try to capture the king. Defenders try to escort the king from the center throne to any corner.
This package implements a clear brand-neutral variant: pieces move any open distance orthogonally, only the king may land on the corner escape squares or center throne, ordinary pieces are captured by sandwiching them between allied pieces or a hostile corner/throne, and the king is captured when attackers occupy every open orthogonal side around him. The in-app help reflects these exact rules.
The app uses synced-store for persistent turn state and a Three.js board with touch-sized square targets, selected-piece highlights, legal-target markers, last-move feedback, capture pulses, match scoring, and a compact help overlay. It is tuned for Poe iframes, including a 300 by 500 phone-shaped viewport.
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 tablut and package name @boardgames/tablut.