Folkborn, a collectible card game about folk creatures from around the world, whose battles play themselves: build your army in secret, in six lanes, then read how the Clash went. Easy to learn, built for competitive play, and designed from day one to be playtested by bots and LLM agents.
fruitcats.viamochi.com — play against the AI in your browser, on a phone, tablet or desktop.
Or run it locally:
npm install
npm run dev # http://localhost:5173 — play against the AI
packages/engine — the rules engine (a deterministic state machine implementing the comprehensive rules) and the AI opponentapps/web — the browser client (Vite + TypeScript, no framework)npm test — engine tests; npm run sim -- 200 — AI-vs-AI playtest: win rates, first-player advantage, game lengthcontent/<year>/<month>/<set>/set.json — each card set's data (the single source of truth for card text, stats and
abilities), with plugin.ts for a set that needs code; the engine has no cards of its own. See
docs/card-data-architecture.mdcontent/…/<set>/art/prompts.json — each set's art direction: its style plus one subject per illustration
(art/prompts.json holds the interface art)tools/generate_art.py — draws text-free illustrations with Azure OpenAI gpt-image-1-mini (auth: az login) into the set's games/folkborn/sets/<set>/art/games/folkborn/sets/<set>/<set>.alex — each set's cards as printed. tcg (cardengine/tcg) renders the finished
cards from them and games/folkborn/card-layout.alex (npm run cards, into out/cards/<set>/); npm run publish-pack
renders them (and the Artist Studio's frames) when it publishes a set. The build publishes each set's art at /<set>/
and /cards/<set>/, and its announcement at /announcements/<set-folder>/art/ui/stat-paw.svg, stat-heart.svg — the Power and Health icons (Phosphor Icons, MIT), with PNG masks beside
them for the Python tools; cards, wallpapers and the game draw them as small chips in the family's tinttools/make_icons.py — cuts the home-screen, PWA, maskable and favicon icons from art/ui/app-icon.webppython tools/generate_art.py --set dw1 # only draws cards that have no art yet
python tools/generate_art.py --ui # interface art: backgrounds, card back, icons
npm run cards # re-render after any card change; no redraw needed
Proprietary. Copyright (c) 2026 Via Mochi. All rights reserved. See LICENSE.
Folkborn, a collectible card game about folk creatures from around the world, whose battles play themselves: build your army in secret, in six lanes, then read how the Clash went. Easy to learn, built for competitive play, and designed from day one to be playtested by bots and LLM agents.
fruitcats.viamochi.com — play against the AI in your browser, on a phone, tablet or desktop.
Or run it locally:
npm install
npm run dev # http://localhost:5173 — play against the AI
packages/engine — the rules engine (a deterministic state machine implementing the comprehensive rules) and the AI opponentapps/web — the browser client (Vite + TypeScript, no framework)npm test — engine tests; npm run sim -- 200 — AI-vs-AI playtest: win rates, first-player advantage, game lengthcontent/<year>/<month>/<set>/set.json — each card set's data (the single source of truth for card text, stats and
abilities), with plugin.ts for a set that needs code; the engine has no cards of its own. See
docs/card-data-architecture.mdcontent/…/<set>/art/prompts.json — each set's art direction: its style plus one subject per illustration
(art/prompts.json holds the interface art)tools/generate_art.py — draws text-free illustrations with Azure OpenAI gpt-image-1-mini (auth: az login) into the set's games/folkborn/sets/<set>/art/games/folkborn/sets/<set>/<set>.alex — each set's cards as printed. tcg (cardengine/tcg) renders the finished
cards from them and games/folkborn/card-layout.alex (npm run cards, into out/cards/<set>/); npm run publish-pack
renders them (and the Artist Studio's frames) when it publishes a set. The build publishes each set's art at /<set>/
and /cards/<set>/, and its announcement at /announcements/<set-folder>/art/ui/stat-paw.svg, stat-heart.svg — the Power and Health icons (Phosphor Icons, MIT), with PNG masks beside
them for the Python tools; cards, wallpapers and the game draw them as small chips in the family's tinttools/make_icons.py — cuts the home-screen, PWA, maskable and favicon icons from art/ui/app-icon.webppython tools/generate_art.py --set dw1 # only draws cards that have no art yet
python tools/generate_art.py --ui # interface art: backgrounds, card back, icons
npm run cards # re-render after any card change; no redraw needed
Proprietary. Copyright (c) 2026 Via Mochi. All rights reserved. See LICENSE.