edbeee3bb5d7e3cdf3290d4253c66f60b2f5c326
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CCLa2PaEeCj8njQZSWGqHx
Wyrm
Gary Gygax's Dragonchess, from Dragon Magazine No. 100 (August 1985), for
the browser: three boards of twelve by eight, Gold against Scarlet, 42
pieces a side, checkmate to win. Built from the game kit, so the hall, the
tables, the Peanut Gallery, the ledgers and the ops tools are the kit's;
docs/conventions.md is the house style they follow.
What is where
docs/source.md the article, transcribed, and the readings the engine takes where it is unclear
src/lib/game/board.ts the three boards and how every piece moves, on a bare array of cells
src/lib/game/index.ts the game around them: seats, turns, check and the ends, the GameSpec
src/lib/game/bot.ts the drake, the house player: alpha-beta over a fixed budget of nodes
src/lib/game/index.test.ts every example move Gygax gives, the ends, and the drake
src/lib/source.ts reads docs/source.md for the rules page, so the page and the engine share one text
src/lib/components/BoardArtwork.svelte the boards drawn, shared by the table, the hall and the share card
src/lib/components/Board.svelte the table: moving, the record, the talk
docs/og-card.html, docs/icon.html the share card and the icon; screenshot them with the site running
Where it differs from the kit
- The house player is a drake wherever the kit says "a bot", and its names are the dragons of old stories.
- Board 3 is the air, 2 the land and 1 the underworld, following the
piece descriptions and not the one paragraph that says otherwise. The
other readings are listed under "Decisions" in
docs/source.mdand on the rules page. - The drake's search is bounded by a count of nodes, not a clock, so the same position always gives the same move and a ledger replays without asking it again.
- The guide's figures are screenshots in
static/guide/, taken from the running site at 960 pixels wide.
Running it
npm run dev:all # the server on 8791 and the site on 5173
npm test # the engine and the server
deploy/deploy.sh 159.203.115.252
The name is this site's. Dragonchess was Gygax's and TSR's, and a Canadian company holds a registered mark on "Dragon Chess" for an unrelated game.
Description
Wyrm: an unofficial rebuild of Gary Gygax’s 1985 Dragonchess, from Dragon Magazine No. 100, for Kestrel’s Hall
28 MiB
0 Stars
1 Watchers
0 Forks
Languages
TypeScript
52.9%
Svelte
36.4%
Shell
7%
Python
1.8%
CSS
0.9%
Other
1%