A personal project

Ruleschat for the wargame
Advanced Squad Leader.

An AI for answering questions over the 700-page rulebook.

The domain

Advanced Squad Leader has
a 700-page rulebook.

Advanced Squad Leader is a tactical WWII wargame that was historically played on hex maps with cardboard counters and dice. Most play has moved online through VASSAL and VASL — but those platforms only move counters and roll dice. Every rule interpretation, modifier, and edge case still falls on the players.

ASL board with counters
Gameplay on VASL
The agent loop

The model shows its work.

Every question goes to an agent with a toolbelt: rulebook search, exact section lookup (with official Q&A and errata), and deterministic combat calculators. The model decides per question which tools to use, and keeps looking things up until it has the rule text in hand.

Answers cite their sources. Clicking a citation like A8.2 opens the rulebook PDF to that page, and a cite-check pass can re-read every cited section against the draft before it ships.

The payoff is measurable: on the evals, giving the model tools is worth about 30 points on calculation questions.

search_rulesget_sectionift_attackcc_attackcite-check
ABRIDGED TRACE · EASY EVAL Q59 · DEEPSEEK-V4-FLASH
Q: A 16-firepower Defensive First Fire attack on a hex has a LOS that goes through two grain hexes. What is the Residual Fire Power in the attacked hex?
ift_attack(16 FP, hindrance +2) halve to 8, drop two columns
get_section("A8.2") Residual FP = half the column used
get_section("A8.26") one column per +1 hindrance DRM
search_rules("grain LOS hindrance") confirms +1 per grain hex
A: 4 Residual FP — the 16 FP attack is halved to 8 (A8.2), then reduced two columns for the grain hindrances (A8.26). judged pass
then an LLM judge scores every answer human review settles the close calls strong Q&A pairs feed the eval and fine-tuning sets