@jeffy24
obstruction
Play Obstruction on a cute synced 3D 6x6 grid where every mark blocks its neighbors.
About this tile
Obstruction is a compact abstract pencil-and-paper game on a synced 6x6 grid. Coral and Teal alternate marking one open square; every open square touching that mark, orthogonally or diagonally, immediately becomes blocked. The player who makes the move that leaves no open square for the next player wins.
The app is built for a small Poe frame with a polished Three.js board, bright legal-cell glows, animated player marks, blocked-cell tokens, last-move highlights, a deterministic near-win drill, and a top-right help button for the rules.
What you can do
- Tap legal cells: Only open glowing squares are clickable.
- Watch the board close: Each move blocks every neighboring open cell, including diagonals.
- Win by obstruction: If your move removes the final legal open cell, you win immediately.
- Practice a drill: Load a deterministic near-win position used by the tests and finish it with one Coral mark.
- Play in a Poe frame: Synced-store keeps the round state consistent across the app instance.
Development
./scripts/doctor.shchecks the local toolchain.bun run type-checkverifies TypeScript.bun testruns synced-store and happy-dom UI tests.bun run test:playwrightbuilds and runs browser tests.SCREENSHOT_REGEN=1 bunx playwright test tests/screenshot.test.playwright.tsregeneratesassets/screenshot.png.