nim
@jeffy24

nim

Tap a pebble in a synced 3D Nim board to take the rest of its pile and win the last move.

About this tile

Nim is a two-player take-away game on three tactile pebble piles. Coral and Teal take turns tapping one pebble; the chosen pebble and every pebble to its right in that same pile are taken. The player who takes the last pebble wins.

This Poe app keeps the playable board as the main screen element: a Three.js tabletop, animated pebble piles, direct pebble taps, top counts, and compact bottom controls for a fresh round or a one-tap finish drill.

What you can do

  • Tap real pebbles: Choose a pebble directly on the board.
  • Take pile runs: The selected pebble and all pebbles to its right are removed together.
  • Win the last take: The final taker wins the round.
  • Practice the finish: The drill loads a single remaining pebble for fast verification.
  • Share one instance: Synced-store keeps the pile state consistent across clients.

Development

  • ./scripts/doctor.sh checks the local toolchain.
  • bun run type-check verifies TypeScript.
  • bun test runs synced-store and happy-dom UI tests.
  • bun run test:playwright builds and runs browser tests.
  • bun run screenshot:regen regenerates assets/screenshot.png.