Files
wizwar6e/packages/engine/src/index.ts
T
Eric WagonerandClaude Fable 5 36b3ffe9a6 Wire online multiplayer: game rooms, protocol, playable Svelte client
Server: room registry with 4-letter codes, host/join/start flow, the
authoritative command loop (seed + append-only command log per room —
the replay/async foundation), and per-player redacted views and events
broadcast after every change. Client: lobby, SVG board (floors, walls,
doors, homes, color-keyed treasures and wizard tokens matching the
physical set's six colors, warp arrows), click-to-move, click-to-punch,
card hand with tooltips from verified card text, cast flow with number
card attachment and waterbolt split, edge-click targeting for wall
spells, counteract-or-pass prompt, discard flow, end-turn draw
selector, and a humanized event log. Verified end-to-end over real
websockets with two clients: join, start, private deals, moves, turn
sync.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-15 19:52:10 -04:00

12 lines
448 B
TypeScript

// @wizwar/engine — pure, deterministic Wiz-War (6th edition) game logic.
// No I/O, no timers, no network: the server drives it in real time, async
// mode replays it from stored commands, and AI players call it to evaluate
// moves. All game data is verified against the owner's physical 6e set.
export * from "./rng";
export * from "./board";
export * from "./cards";
export * from "./setups";
export * from "./game";
export * from "./view";