yote
@jeffy24

yote

A polished 3D Yote duel with synced reserves, slides, jumps, and mandatory extra removals.

About this tile

A mobile-first Poe board-game app for Yote on a compact 5 by 6 board.

Each player has 12 pieces in reserve. On a turn, place a reserve piece on any empty square or select a piece already on the board to slide one square orthogonally. A selected piece can also jump over one adjacent enemy into the empty square beyond; the jumped piece is captured, then the jumper must remove one additional opponent piece if any remain.

A round ends when a player leaves the opponent with no pieces and no reserve, or when the next player has no legal action. The app persists match state with synced-store, renders an animated Three.js board with direct tap targets, includes a jump-to-win drill, and is sized for narrow Poe feed iframes including 300px by 500px and 350px by 509px mobile viewports.

Scripts

  • bun run doctor checks local prerequisites.
  • bun run type-check runs TypeScript.
  • bun run test runs focused rules, mutator, and happy-dom UI tests.
  • bun run build creates the Poe runtime bundle in dist/.
  • bun run test:playwright runs browser E2E and viewport tests.
  • bun run screenshot:regen rebuilds and writes assets/screenshot.png.
  • bun run publish-to-app-platform builds and publishes the app.

Package

  • Poe handle: yote
  • Package name: @boardgames/yote
  • Runtime bundle: dist/