Turn-based tactical battle on a square grid: build a skill loadout and traits, then fight in duels, team modes, or free-for-all. The game logic lives in plain TypeScript; the UI is React (Vite).
npm install
npm run dev- Build:
npm run build - Preview production build:
npm run preview - Tests:
npm run test(Vitest,src/**/*.test.ts) - Lint:
npm run lint
| Doc | Purpose |
|---|---|
| STRUCTURE.md | Where code lives, entry points, test layout |
| DOMAIN.md | Game terms, rules at a glance, data concepts |
- React 19, TypeScript, Vite 8
- Vitest for unit tests (Node environment)
- Loadout — pick skills, pattern per skill, traits, then continue to match setup.
- Match setup — roster, teams, board options, CPU difficulty.
- Battle — grid UI, human vs CPU (and multi-actor matches). CPU uses heuristics and optional minimax in duels (
src/ai/cpu.ts).
Core simulation: src/game/engine.ts (actions, turns, combat). Skills and costs: src/game/skills.ts. Board helpers: src/game/board.ts.