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
|
|
|
# Ludii
|
|
|
|
|
|
|
|
|
|
Digital Ludeme Project (Maastricht / Cameron Browne, ERC-funded) · Java ·
|
|
|
|
|
`checked` that it exists and what it claims; **licence `unverified`**
|
|
|
|
|
|
|
|
|
|
## What it optimises for
|
|
|
|
|
|
|
|
|
|
**Generality and concision of game representation.** Games are structures
|
|
|
|
|
of **ludemes** — high-level, human-understandable game concepts — which
|
|
|
|
|
gives concise descriptions and a very large game library, with historical
|
|
|
|
|
reconstruction as a founding motivation. `checked`
|
|
|
|
|
|
|
|
|
|
## How a game is defined
|
|
|
|
|
|
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
|
|
|
A game is a **quintuple of ludemes** — Name, Players, Mode, Equipment,
|
|
|
|
|
Rules. Games are modified by adjusting ludemes or parameters such as board
|
|
|
|
|
size. **Each game's description fits in a QR code.** `checked`
|
|
|
|
|
|
|
|
|
|
**Syntax formal, semantics not** `checked` — the sharp point, and it
|
|
|
|
|
answers "can we derive a formal language from it": **no, there is nothing
|
|
|
|
|
semantic to extract.**
|
|
|
|
|
|
|
|
|
|
- The grammar is a **class grammar, automatically derived from Ludii's
|
|
|
|
|
source**, so keywords and their argument types come from the class
|
|
|
|
|
hierarchy. That is more formal than most hand-written grammars.
|
|
|
|
|
- But *"Ludii effectively makes its programming language (Java) the game
|
|
|
|
|
description language"*: **a ludeme means what its Java class does.**
|
|
|
|
|
Compilation produces a forward model (legal moves, apply, copy).
|
|
|
|
|
|
|
|
|
|
Contrast **GDL**, which has a logical semantics independent of any
|
|
|
|
|
interpreter and pays for it in speed and verbosity. See
|
|
|
|
|
[`../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 it can analyse
|
|
|
|
|
|
|
|
|
|
Playouts, agent play, and a published set of **general board game
|
|
|
|
|
concepts** used to measure *distance between games*. `checked` The
|
|
|
|
|
concept vocabulary is the interesting part for us — it is a shared
|
|
|
|
|
feature space over games.
|
|
|
|
|
|
|
|
|
|
Depth of design-facing analysis relative to Ai Ai: `open`.
|
|
|
|
|
|
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 game-theoretic mapping
|
|
|
|
|
|
|
|
|
|
**Proven, and it is the extensive-form game.** *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 EFGs. `checked`
|
|
|
|
|
|
|
|
|
|
That matters more than it looks: **EFG is also OpenSpiel's object**, so
|
|
|
|
|
the same formalism connects description to analysis.
|
|
|
|
|
|
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 it does not do
|
|
|
|
|
|
|
|
|
|
- It is **a description someone writes**, not a claim about another
|
|
|
|
|
party's artifact. There is no notion of a game *owner* who rules on an
|
|
|
|
|
underdetermined case, no finding queue, no provenance binding to a
|
|
|
|
|
publisher's data. `unverified` as an absolute, but nothing in the
|
|
|
|
|
material we read suggests otherwise.
|
|
|
|
|
- No evidence-admissibility machinery: its outputs are data, not claims
|
|
|
|
|
under review.
|
|
|
|
|
|
|
|
|
|
## Relevance to clay-borg
|
|
|
|
|
|
|
|
|
|
**Track A, and it is the benchmark.** If clay-borg's answer to *"why not
|
|
|
|
|
Ludii"* is "ours is in Rust", there is no answer
|
|
|
|
|
([`../specs/Positioning.md`](../specs/Positioning.md) §1).
|
|
|
|
|
|
|
|
|
|
The serious question Track A must answer is **whether we need a game
|
|
|
|
|
description language at all**, or should consume Ludii's and contribute
|
|
|
|
|
the evidence layer on top.
|
|
|
|
|
|
|
|
|
|
## What to steal
|
|
|
|
|
|
|
|
|
|
- **Ludemes as the decomposition unit.** Our kernel has commands, events
|
|
|
|
|
and rules; a ludeme is a *game idea* that composes. That is a better
|
|
|
|
|
fit for "define a popular game efficiently".
|
|
|
|
|
- **The concept vocabulary** as a comparison space between games.
|
|
|
|
|
- **Concision as a discipline** — a description that fits in a QR code is
|
|
|
|
|
a description a designer can read.
|
|
|
|
|
|
|
|
|
|
## What to avoid
|
|
|
|
|
|
|
|
|
|
Breadth as the goal. Ludii's value is that it covers a thousand games;
|
|
|
|
|
ours would have to be that it says something trustworthy about one.
|
|
|
|
|
|
|
|
|
|
## Open questions
|
|
|
|
|
|
|
|
|
|
- Licence, and whether it permits embedding or only interoperation.
|
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
|
|
|
- ~~Can a Ludii description express simultaneous commit/reveal and hidden
|
|
|
|
|
role state?~~ **Answered: yes.** Universality covers finite
|
|
|
|
|
non-deterministic imperfect-information games, and simultaneity is the
|
|
|
|
|
standard EFG information-set encoding. **The live question is whether a
|
|
|
|
|
binding multi-round state machine like DARVO stays *readable*** —
|
|
|
|
|
universality says expressible, not concise, and concision is Ludii's
|
|
|
|
|
actual selling point.
|
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 its analysis output actually contains.
|
|
|
|
|
|
|
|
|
|
## Sources
|
|
|
|
|
|
|
|
|
|
- *Ludii — The Ludemic General Game System*, ECAI 2020
|
|
|
|
|
(https://ludii.games/publications/ECAI2020.pdf)
|
|
|
|
|
- *The Ludii Game Description Language is Universal*
|
|
|
|
|
(https://arxiv.org/pdf/2205.00451)
|
|
|
|
|
- *A note on the empirical comparison of RBG and Ludii*
|
|
|
|
|
(https://arxiv.org/pdf/1910.00309)
|