Card library
Every card read off its own face. Library lists each card once — alternate art is the same card wearing a different picture, not a new one. Decks shows what each deck actually holds, copies and all.
Nothing matches that search.
The board
Nine squares. Deploy into your back row, push forward, and park a fighter on your opponent's Gates — every turn they start under siege they burn a card off their Stronghold. When it's empty, they lose.
6
7P1 Gates
8
3
4
5
0
1P0 Gates
2
- 2 actions a turn — 1 on the very first turn — and you must spend them if you can.
- Combat is power only. Higher power wins, a tie kills both, the winner slides in.
- Stacks form by deploying onto a friendly fighter that shares a trait. Only the top one is in play, and power never adds up.
- Defend costs an action and discards cards equal to the sieging fighter's power — then destroys it.
Progress
- Rules engine — headless and deterministic. 400 games and 33,581 decisions of random-legal play with invariants asserted after every decision, zero violations.
- Rules of record — the full ruleset, pulled out of the official rules app's JS bundle rather than a PDF, with every ambiguity marked as an explicit ruling.
- Card pipeline — CARD_FORGE exports JSON, the ingest tool decodes it, the faces get read, the catalogue rebuilds itself.
- 3D table — a battlefield at dusk with the nine squares set into the ground as worn flagstones. Fighters are the cards themselves, lying face up where both players can see them; hover lifts one and turns it toward you. Fatigue taps the card a quarter turn.
- Every card implemented — all 175 read cards. 2,000 games with choices answered at random, invariants checked after every decision, no violations.
- Online play — four-letter room codes over PeerJS, no server. Lockstep: only the moves cross the wire, and 800 games replayed on two engines never disagreed.
- Animation — deploy arcs and attack clashes. Cards slide and settle, but nothing swings yet.
- Deck builder — waiting on the remaining faction card databases.