eisterman bbc95b6722 Rules v0.8: Fatica on crossing, no Kumite in round 1, board draft 2
- Fatica costs a stripe for every Fatica walked onto; a route whose Fatica
  drops a Brown player below 15 no longer enters the Dojo
- No Kumite in the first round: opponents are treated like meditating pawns
- Board draft 2: two Fatica tolls per quadrant, Allenamento moved to the ring
- Casual bot, --summary-csv, per-seat breakdown and move-options metric
- Out of contention measured at 3 belts
- Plan: Phase 6 baselines, decisions D34-D43

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-27 15:59:45 +02:00

Il Labirinto del Dojo

A small tabletop game (1–2 h, 3–8 players, best at 4), plus the tooling used to design and balance it.

Document What it is
RULES.md The rulebook (English working draft).
board/FORMAT.md How the board is written as text.
agents/plans/ Active work plan: decisions, phases, open questions.

Setup

Requires uv. It installs the pinned Python and all tools:

uv sync

Board

The board is authored as one 8x8 quadrant in board/quadrant.txt (tunnel links in board/legend.toml) and rotated into the full 16x16 board.

uv run dojo board validate                    # check the board against the rules, print stats
uv run dojo board render                      # print the full 16x16 board
uv run dojo board render -o board/board.txt   # regenerate the full board file (never edit it by hand)
uv run dojo board validate --quadrant other.txt --legend other.toml   # check another draft

validate exits with 0 when the board is fine (warnings allowed), 1 on rule violations, 2 when the file is malformed or missing.

Simulation

Plays many seeded games with bots and prints metrics per scenario. Every combination of the listed values is a scenario; game i of each scenario uses seed --seed + i, and the lineup rotates one seat per game. Bots: random, casual, balanced, farmer, aggressive (casual is balanced comparing only 6 random moves of those offered, like a person).

uv run dojo sim                                   # 4 players, current rules, 200 games
uv run dojo sim --games 1000 --csv games.csv      # more games; one CSV row per game
uv run dojo sim --lineup casual random --summary-csv s.csv   # one CSV row per scenario
uv run dojo sim --exam c none a ac                # Final Exam options in force (rules: c), combinable
uv run dojo sim --players 3 4 6 8 --start 0 3     # player counts x start position
uv run dojo sim --kiai 2 1                        # Kiai +2 vs +1
uv run dojo sim --lineup farmer aggressive,farmer # several lineups (comma-separated seats)
uv run dojo sim --seed 42 --jobs 1                # other dice; single process

Minutes are estimated as 45 s per turn plus 30 s per Kumite.

Development

uv run pytest               # tests
uv run ruff check .         # lint
uv run ruff format .        # format
uvx pyright src tests       # type check
S
Description
No description provided
Readme 172 KiB
Languages
Python 52.2%
HTML 46.9%
CSS 0.9%