clay-borg/simulators/README.md

88 lines
3.9 KiB
Markdown
Raw Normal View History

simulators/: persist the survey, and let it shrink two of the three tracks Eight profiles on a common schema, each marking what was checked against a source this session and what is background recollection. Three are marked unverified in full — Machinations, the play substrates, most of RBG — and say so rather than reading as evaluations. Written straight after three review rounds whose entire yield was claims outrunning what had been checked, so the confidence rule is the first thing in the README. The survey changed the plan, which is what a survey is for. Track C was described in Positioning as open ground. It is not: Browne published 57 criteria for game quality, and Ai Ai already computes designer-facing measures — drama, lead changes, branching factor, completion, duration — from played games. The track becomes adopt, credit and find the gap. The gap looks real: those measures presume a leader, and SHARED GROUND has none — Modes.csv gives its tiebreak as "Not applicable". Track B probably adopts rather than builds. OpenSpiel implements CFR, best-response and exploitability over games that are simultaneous-move, imperfect-information and co-operative, which is all four of GROUND's awkward properties. "Does ATTACK ever pay" is a best-response question, and we spent three review rounds refining a two-policy sweep for it. The first Track B task is now one question — is exploitability meaningful for a co-operative game with a shared threshold — not a build. The cost of not surveying earlier is therefore measurable, and is recorded rather than glossed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-08 11:56:27 +02:00
# Simulators — profiles of systems adjacent to clay-borg
Persisted research, not a link dump. Each profile answers the same
questions in the same order so the systems can be compared, and each
carries **what we actually checked**.
Written for [`../specs/Positioning.md`](../specs/Positioning.md) §1 and
§4 — the field we sit in, and the three tracks. Track A (a second game)
and Track B (game theory as the lens on dynamics) both depend on knowing
what already exists.
---
## The confidence rule
> **Every claim in a profile carries its source, and a claim from
> background knowledge is marked `unverified`.**
This directory was written immediately after three adversarial review
rounds whose entire yield was claims that outran what had been checked
([`../reviews/`](../reviews)). A profile that quietly mixes a fetched fact
with a half-remembered one is the same failure in a new place — and here
it would be worse, because these profiles are meant to inform whether we
build something or adopt it.
| marker | means |
|---|---|
| **`checked`** | read from a source this session, cited at the foot of the profile |
| **`unverified`** | from background knowledge; plausible, **not** confirmed, and must be before it decides anything |
| **`open`** | a question we want answered and did not answer |
## The schema
```
# <name>
owner · first release · licence · language (checked/unverified)
## What it optimises for
## How a game is defined
## What it can analyse
## What it does not do
## Relevance to clay-borg — which track, and how
## What to steal
## What to avoid
## Open questions
## Sources
```
## Index
| profile | in one line | track |
|---|---|---|
CB-RES-0009: extensive form is the lingua franca Two questions from the maintainer — is there a game-theory mapping to Ludii's language, and is that language formal enough to derive one from. Yes, no, and the no does not matter. The mapping is proven, not to be invented: "The Ludii Game Description Language is Universal" shows the language can represent an equivalent game for any finite, non-deterministic, imperfect-information game, extending earlier work limited to finite deterministic fully-observable extensive-form games. EFG is also OpenSpiel's object, so the same formalism connects description to analysis: Ludii -> EFG <- OpenSpiel. Ludii's syntax is formal and unusually so — a class grammar derived automatically from its source. Its semantics are its Java: a ludeme means what its class does, and Ludii effectively makes Java the game description language. So there is no independent calculus to extract. The formality lives in the universality RESULT, not in a definition of meaning. GDL has the semantics and pays for it in speed — six times on Gomoku, twenty on Amazons and Hex, over two hundred on Chess. Conclusion: do not derive a language from Ludii; target the EFG directly. And we are closer than the tracks assumed. The journal is the history, Outcome is the payoff, legal_commands gives the actions — and project(Viewer::Player(seat)) IS the information partition, built so a player is not shown another's hand and unremarked as exactly the machinery imperfect information needs. Three gaps: chance is folded into a seed so a game is one realisation rather than a game with chance nodes; perfect recall is unasserted, which CFR and exploitability both assume; and commit/reveal is the standard EFG encoding of simultaneity but is never stated as such. Perfect recall is checkable from the journal today and is now Track B's first task — if it fails, every equilibrium concept we might quote is unsound here. Also re-vendored the catalog twice: ground-game added H2 — scoped problem stress, applying End Stress by personal/bond/global scope instead of flat to everyone, which is a direct response to our reading that H1's tax scales with the Problems while its intended effect does not. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-08 14:57:25 +02:00
| [`ludii.md`](ludii.md) | the closest relative: ludemes, breadth, speed — **syntax formal, semantics is its Java** | A |
simulators/: persist the survey, and let it shrink two of the three tracks Eight profiles on a common schema, each marking what was checked against a source this session and what is background recollection. Three are marked unverified in full — Machinations, the play substrates, most of RBG — and say so rather than reading as evaluations. Written straight after three review rounds whose entire yield was claims outrunning what had been checked, so the confidence rule is the first thing in the README. The survey changed the plan, which is what a survey is for. Track C was described in Positioning as open ground. It is not: Browne published 57 criteria for game quality, and Ai Ai already computes designer-facing measures — drama, lead changes, branching factor, completion, duration — from played games. The track becomes adopt, credit and find the gap. The gap looks real: those measures presume a leader, and SHARED GROUND has none — Modes.csv gives its tiebreak as "Not applicable". Track B probably adopts rather than builds. OpenSpiel implements CFR, best-response and exploitability over games that are simultaneous-move, imperfect-information and co-operative, which is all four of GROUND's awkward properties. "Does ATTACK ever pay" is a best-response question, and we spent three review rounds refining a two-policy sweep for it. The first Track B task is now one question — is exploitability meaningful for a co-operative game with a shared threshold — not a build. The cost of not surveying earlier is therefore measurable, and is recorded rather than glossed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-08 11:56:27 +02:00
| [`gdl-ggp.md`](gdl-ggp.md) | the academic ancestor; agent generality over designer support | A |
| [`rbg.md`](rbg.md) | regular boardgames — a speed-focused rival description language | A |
| [`ai-ai.md`](ai-ai.md) | **the closest relative for what we want to become**: GGP with designer-facing metrics | A, C |
| [`openspiel.md`](openspiel.md) | the game-theory workbench: CFR, exploitability, social dilemmas | B |
| [`browne-criteria.md`](browne-criteria.md) | not a simulator — the canonical attempt to measure whether a game is *good* | C |
| [`machinations.md`](machinations.md) | economy and feedback loops, diagrammatic | — |
| [`play-substrates.md`](play-substrates.md) | Tabletop Simulator, boardgame.io — play without analysis | — |
CB-RES-0009: extensive form is the lingua franca Two questions from the maintainer — is there a game-theory mapping to Ludii's language, and is that language formal enough to derive one from. Yes, no, and the no does not matter. The mapping is proven, not to be invented: "The Ludii Game Description Language is Universal" shows the language can represent an equivalent game for any finite, non-deterministic, imperfect-information game, extending earlier work limited to finite deterministic fully-observable extensive-form games. EFG is also OpenSpiel's object, so the same formalism connects description to analysis: Ludii -> EFG <- OpenSpiel. Ludii's syntax is formal and unusually so — a class grammar derived automatically from its source. Its semantics are its Java: a ludeme means what its class does, and Ludii effectively makes Java the game description language. So there is no independent calculus to extract. The formality lives in the universality RESULT, not in a definition of meaning. GDL has the semantics and pays for it in speed — six times on Gomoku, twenty on Amazons and Hex, over two hundred on Chess. Conclusion: do not derive a language from Ludii; target the EFG directly. And we are closer than the tracks assumed. The journal is the history, Outcome is the payoff, legal_commands gives the actions — and project(Viewer::Player(seat)) IS the information partition, built so a player is not shown another's hand and unremarked as exactly the machinery imperfect information needs. Three gaps: chance is folded into a seed so a game is one realisation rather than a game with chance nodes; perfect recall is unasserted, which CFR and exploitability both assume; and commit/reveal is the standard EFG encoding of simultaneity but is never stated as such. Perfect recall is checkable from the journal today and is now Track B's first task — if it fails, every equilibrium concept we might quote is unsound here. Also re-vendored the catalog twice: ground-game added H2 — scoped problem stress, applying End Stress by personal/bond/global scope instead of flat to everyone, which is a direct response to our reading that H1's tax scales with the Problems while its intended effect does not. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-08 14:57:25 +02:00
## The formal question, answered
**Is there a game-theory mapping to Ludii's language, and is that language
formal enough to derive one from?**
**Yes to the first, no to the second, and the second does not matter.**
Ludii's universality result grounds it in **finite, non-deterministic,
imperfect-information extensive-form games** — the same object OpenSpiel's
CFR and exploitability consume. Ludii's *grammar* is formal (derived from
its class hierarchy) but its *semantics are its Java*, so there is no
independent calculus to extract.
**Conclusion: target the extensive-form game directly, not a language
derived from Ludii.** Worked through in
[`../research/CB-RES-0009-extensive-form-is-the-lingua-franca.md`](../research/CB-RES-0009-extensive-form-is-the-lingua-franca.md).
simulators/: persist the survey, and let it shrink two of the three tracks Eight profiles on a common schema, each marking what was checked against a source this session and what is background recollection. Three are marked unverified in full — Machinations, the play substrates, most of RBG — and say so rather than reading as evaluations. Written straight after three review rounds whose entire yield was claims outrunning what had been checked, so the confidence rule is the first thing in the README. The survey changed the plan, which is what a survey is for. Track C was described in Positioning as open ground. It is not: Browne published 57 criteria for game quality, and Ai Ai already computes designer-facing measures — drama, lead changes, branching factor, completion, duration — from played games. The track becomes adopt, credit and find the gap. The gap looks real: those measures presume a leader, and SHARED GROUND has none — Modes.csv gives its tiebreak as "Not applicable". Track B probably adopts rather than builds. OpenSpiel implements CFR, best-response and exploitability over games that are simultaneous-move, imperfect-information and co-operative, which is all four of GROUND's awkward properties. "Does ATTACK ever pay" is a best-response question, and we spent three review rounds refining a two-policy sweep for it. The first Track B task is now one question — is exploitability meaningful for a co-operative game with a shared threshold — not a build. The cost of not surveying earlier is therefore measurable, and is recorded rather than glossed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-08 11:56:27 +02:00
## What this survey has already changed
**Ai Ai and Browne's criteria are the finding.** Track C was written in
`Positioning.md` as though "assimilate knowledge about why games work"
were open ground. It is not: **Browne published 57 criteria for game
quality**, and Ai Ai already computes designer-facing measures — drama,
lead changes, branching factor, completion, duration — from played games.
That does not close Track C. It moves it from *invent* to *adopt, credit,
and find the gap*, which is a much better position and a much smaller
claim than the one we were about to make.