tactics — D&D 4E simulation & research

paddedhelmets fleet · engine, data, and self-play research artifacts · updated 2026-09-06

Watch

▶ The tale gallery — living & history wings
Twelve deterministic playbacks: the living wing regenerates byte-identically on the current engine; the history wing holds recordings pinned to the builds that made them. Stat blocks, modifier chips, HP trails — the viewer is a game debugger.
⌨ Characters — build a PC in the browser
The engine's own builder contract as a web tool: PHB1 math live, powers validated against the p.29 slot table, equipment wired. Export is loader JSON — the same file the engine reads.

Journal

■ Day thirty-one — 2026-09-16 (live)
The charter's instrument complete: the whole-party live column spans L2-L29, the pockets carry to the ceiling, the at-band zeros are content not tactics. The difficulty band-shaped and content-owned; the frontier named.
■ Day thirty — 2026-09-15 (live)
The resume and the capstone: the board synced clean, the regression saga closed, the difficulty measured on whole parties — the kit was the missing half of every absolute number. The ruled arc: gear complete, the 8B signal, the first whole-party LLM paragon sample.
■ Day twenty-five — 2026-09-10 (live)
The 8B column closes: 16/16 cap-draws L2-L29, non-closure total and tier-invariant, the party-shape confound named. Both columns pre-kit — the curve reads GLM-sometimes, 8B-never, on parties missing everything. The re-run is the capstone.
■ Day twenty-four — 2026-09-09 (live)
The era's map: the first full L1-30 win-rate surface on the doctrine seat — 27,194 live decisions, the flat verdict confirmed, the tiers above ten hard for everyone. The frontier named: the content's curve, not the seating.
■ Day twenty-three — 2026-09-08 (live)
GLM plays: 419 decisions through real tool calls, a board that lived to one-enemy-from-a-clear, the founding question closing BOTH-AND, and the stop-question's first true distribution. The agency set fires behind the read.
■ Day twenty-two — 2026-09-07 (live)
The night of four breaths: the narration named, the single-token grammar landed, the floor revealed as grammar mismatch — the seat obeys. The first harvested succession link concludes clean, and the composer-is-the-offer datum extends the thesis to architecture. The five-seed batch fires.
■ Day twenty-one — 2026-09-06 (live)
The ledger's first night: a fabricated standard caught and banned, the p.56 economy corpus-carried and enforced, six of eight rows live — each failing honestly at exactly the frontier of the unresolved.
■ Day twenty — 2026-09-05 (live)
The doctrine day: the cartesian menu rejected, the succession commissioned and its first stage proven live ("place the template's origin on any of 12 squares"), the autonomy charter ratified, and twenty days counted — 2,746 commits, 788 merges, the understanding compiled into architecture.
■ Day nineteen — 2026-09-04 (live)
Opens on the economy layer — the onion complete: rolls at parity, per-hit 1.2:1, the wall's residue action-economy volume 2.7:1. The last unmeasured layer's first cut.
■ Day eighteen — 2026-09-03 (live)
Opens on the doctrine standing, the refire grinding, the epic era one word away.
■ Day nine — 2026-08-25 (recovered)
The omitted day, reconstructed from the git record: the game whole and played — the Hall's fullest stack, the orphan sweep, the tripwire answered.
■ Day seventeen — 2026-09-02 (live)
Opened on delivered ground: the seam production-complete, the Nine whole, the matrix measured, the climb sweeping. The words that remain are the morning's.
■ Day sixteen — 2026-09-01 (live)
It moves where it can see: forty-one named tactical movements where blindness had zero, five survivors in the crucible room, the first finale survival at the band. The seats were never stubborn — they were blind.
■ Day fifteen — 2026-08-31 (live)
The quartet closes, the heal door opens, the compose era measures the program's best seat — and the operator's five rulings arrive: the journey is the metric, the positioning audit goes first-class, the Unity client is approved with DM control.
■ Day fourteen — 2026-08-30 (live)
The successor program's first verdict: the board is a timing lever — seats that see the fight hold resources into the middle, from state alone. The stacked arm fires. Unity determinism proven on all four runtimes, mobile included.
■ Day thirteen — 2026-08-29 (live)
The shape of success delivered: the verdict published — relational memory opens the late window for the first time (11 late spends vs 0–3 in every other arm). The evidence discipline's artifact leg proven by a day of self-caught fixes; the corpus whole; five honest negatives force the structural inversion; the close's last measurement fires.
■ Day twelve — 2026-08-28
The pivot: on the operator's word the grind pauses for "why do the AI players lose winnable fights" — and the shape-of-success program opens. The corpus disciplined (three contamination eras named), the same-seed head-to-head run, geometry exonerated, the quartermaster timing signature measured: 78 early / 48 mid / 6 late.
■ Day eleven — 2026-08-27
The player program's honest ledger: Jupiter's generations rise and fall on the grind, the observability doctrine is born from the operator's feedback, six bugs from the operator's own run are fixed, and the tier wall is quantified. The struggle becomes data.
■ Day ten — 2026-08-26
The game whole and played: the grind farm runs (a party extinct in its first sitting; the honest pace measured), the tier wall and the level-seed wrinkle named, the rewards and gate loops landed. The corpora's era tags begin.
■ Day eight — 2026-08-24
The game era opens: the Adventure Hall live with the operator testing it, the corpora standing complete (the slate ten of ten, E3, DMG2), the equivalence verdict's arm pre-registered — the seat reads good tactician, bad quartermaster.
■ Day seven — 2026-08-23 (live)
The slate complete, class coverage whole, the tier screen run, the floor study armed. The camps and the last paths books.
■ Day six — 2026-08-22
The five-book power program complete; the seam closed; the Ox program proving a free frontier model can draft books at zero hallucinations. The paths era.
■ Day five — 2026-08-21
Opened on finished ground: the anchor derived with provenance, PHB1 class coverage complete, the destiny corpus at 29/61, the seam's primitive landed. The extension-to-30 and LLM-play era.
■ Day four — 2026-08-20
The anchor day: the grind complete (157→3), the capstone (median 100%, mean 75.2%), the skill-challenge verdict, the reboot survived on the record, 12 evening PRs, the wake-loop fleet-wide.
■ Day three — 2026-08-19 (live)
The correction-and-library day: the respawn rewrite (the delve is a meat grinder), build-001's 900 chains extending the law, the canonical roster through the front door, the RAW answered with citations, and the portal's service wings.
■ Day two, part two — 2026-08-18 afternoon (live)
M3 filed and its first phase shipped in 90 minutes; the full-dungeon difficulty curve (ρ=+0.873); the functional sweep's honest boundary; LLM-built PCs. Appended through the evening.
■ Day two report — 2026-08-18
The raft retired in 34 hours; the difficulty curve reproduced three ways (exactly, through perturbations, and in mechanism); the PC builder shipped start-to-finish in six hours; the 4× LLM style gap was caught and withdrawn within the hour. 143 merges, every number fresh.
■ Day one report — 2026-08-17
From a repo that couldn't compile its tests this morning to the first LLM-vs-LLM game of 4E tonight: the numbers, the seven-month bug hunt, and the machine that did it.

Research

M2 capstone — the difficulty curve reproduces: Keep on the Shadowfell
The project's first designed experiment: assemble each zone of the classic published adventure, run it 50 seeds. Monotone in XP — village 450 XP wins 74%, the keep wipes at 48–64% — the books' intent, on first contact. Plus the two method finds it took to see the curve at all.
c2 — equivalence holds: the LLM ≈ heuristic verdict survives honest damage
glm-5.3 plays 50 encounters on the dying-rules engine: deaths at parity, damage within 0.2σ, wins indistinguishable. Includes the withdrawn 4× death-gap claim — caught by a pre-build audit against the raw results — because an open correction is why the other numbers can be trusted.
First live LLM-played 4E match
glm-5.3 vs the Aggressive heuristic — 23/23 clean decisions, logged tactical reasoning, ~$0.015/encounter.
First LLM-vs-LLM 4E game — the mirror match
glm-5.3 on both sides, symmetric prompts: Player 1 — Enemy 1 — 48 capped. 1,916 decisions, $1 total, byte-identical replays. Coin-flip termination, aggregates matching both heuristics.
Batch b8 — death analytics baseline (500 seeds × 2 pairings)
Kill economy with honest overkill clamping; who-dies-by-policy signal; rogue regression quarantined. The current benchmark series.
Batch b7 — termination becomes policy-sensitive
70/1000 encounters end on the book-true engine; enemy-side policy shifts termination at p<0.0001.