Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Jm2auWk6RP71CjaAb4FMoG
22 lines
1.0 KiB
Markdown
22 lines
1.0 KiB
Markdown
# Hnefatafl
|
|
|
|
The Viking board game, in the browser: the attackers must take the king, the
|
|
king must reach the edge. Tablut, the nine-by-nine game Linnaeus wrote down in
|
|
1732, by default, on a board that shows its age; Copenhagen rules on the
|
|
eleven-by-eleven board, where the king needs a corner, as an option.
|
|
|
|
Built on the game kit: `src/lib/game/` is the game (rules as data in
|
|
`rules.ts`, the board's mechanics in `board.ts`, the engine in `index.ts`,
|
|
a short alpha-beta bot in `bot.ts`), `src/lib/components/Board.svelte` is
|
|
the board, and everything else is the kit's hall, tables, gallery, ledgers,
|
|
reports desk and ops tools. `docs/conventions.md` is the house style; the
|
|
guide here departs from it in one way, walking the page in words and one
|
|
drawn figure rather than screenshots.
|
|
|
|
npm install && (cd server && npm install)
|
|
npm run dev:all # server and site together; Ctrl-C stops both
|
|
npm run server # the game server on port 8789
|
|
npm run dev -- --host
|
|
|
|
Tests: `npm test`. Deploy: `deploy/deploy.sh <ip>` after `deploy/README.md`.
|