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>
10 KiB
Positioning — what clay-borg is for, and what it does that others do not
Status: draft. A working answer to "where does this sit, and what is the point of it", written against the field rather than in isolation.
Companion to ../INTENT.md (what we are building),
Taxonomy.md (the vocabulary), and
Ornamentation.md (the boundary). The systems named
below have profiles in ../simulators/, each marking
what was checked and what is background recollection.
Revised 2026-08-08 after the survey, and §4 changed. Two of the three tracks were described as more open than they are — see §4.0.
1. The field, honestly
There are mature systems here and we are not first.
| system | what it optimises for | what it does not do |
|---|---|---|
| Ludii (Digital Ludeme Project) | generality of representation. Games as ludemes — composable, human-readable concepts. Fast, broad, a game fits in a QR code | it is not built to argue with the designer about the rules, and its evidence is not auditable by a third party |
| GDL / General Game Playing (Stanford) | agent generality — an agent that plays a game it has never seen | verbose, slow relative to Ludii, and aimed at AI research rather than design support |
| Machinations | economy and feedback-loop simulation, diagrammatic and immediate | not rules-complete; a model of flows, not of a played game |
| Tabletop Simulator / boardgame.io | play, human or networked | no analysis; the rules are a script, not a claim |
| RL self-play stacks | strength | a strong agent tells you what beats what, not why a rule is undecided |
Ludii is the closest relative and the right benchmark. If clay-borg's answer to "why not Ludii" is only "ours is in Rust", there is no answer.
2. What we do differently
Four things, and each is already visible in the repo rather than aspired to.
2.1 The measurement is under suspicion by construction
Every other system in §1 treats its own output as data. This one treats
its own output as a claim that has to survive an attempt to break it —
GameDesign.md §1 admissibility, the finding register, mutation-proof as
a condition for a control, and mandatory adversarial review at tier L.
This is not a posture; it is measured. Three review rounds on one measurement found twelve fatal defects, every one in our instrument and none in the game — including two that inverted a verdict already written down. A tool that reports game-design conclusions without that machinery is reporting its own bugs at the same volume as its results.
2.2 Authority is federated, and the simulator is not the authority
The game's owner rules; we report. A rule we cannot execute becomes a finding carried back with the artifact that produced it — never a default we quietly pick.
Ludii's model is a description someone wrote. Ours is a claim about somebody else's artifact, with digests and tripwires against their source of truth, and a queue of open questions that belong to them. That is a different relationship to the designer than any system above has.
2.3 What is not mechanism is modelled too
Ornamentation.md. Materials, ceremony, typography,
timing — declared, with falsifiers, and separated from the rules by a test
something can run (does the state hash move?).
Every system in §1 either ignores this or treats it as presentation config. We treat "this does not matter" as a claim that can be wrong, because our own register is a list of times it was.
2.4 A hypothesis is a package, not a patch
A design experiment arrives as a selectable variant — a catalog entry,
a machine-readable rules_delta, declared success criteria — and is
measured against those criteria, with the results reported including the
parts that fail. The variant is in the game state, so a recording says
which rules it was played under.
3. What that adds up to
Clay-borg is a design-evidence instrument, not a game engine and not a game-playing AI. Its product is an auditable answer to "what does this rule actually do at the table, and how much should you trust that?"
The second half of that sentence is the differentiator. Anyone can produce the number.
4. Where it has to go
Three tracks, in dependency order. None started.
4.0 What the survey changed
Two tracks were overclaimed and are now smaller. Writing the
simulators/ profiles found prior art where this
document had assumed open ground:
- Track C is not open ground. 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 moves from invent a theory of fun to adopt an existing vocabulary, credit it, and locate the gap. The gap is plausibly real (co-operative and hidden-role games), and it is a far smaller and more defensible claim.
- Track B probably adopts rather than builds. OpenSpiel implements CFR, best-response and exploitability over games that are simultaneous-move, imperfect-information and cooperative — all four of GROUND's awkward properties. "Does ATTACK ever pay" is a best-response question, and we have been answering it with two hand-written policies.
This is what a survey is for, and it is worth noting that the cost of not doing it earlier was measurable: we spent three review rounds refining a two-policy sweep for a question that has a standard instrument.
Track A — a second game
GROUND is an example, and nothing has tested that claim. Every abstraction here has exactly one instance, which by our own rule (GameDesign §2) means it may have been invented rather than observed.
The work is to take a popular, well-understood game — one where the dynamics are already documented, so our output can be checked against something — and build a clay-borg definition efficiently enough that the cost is itself the finding. The measurement that matters is how much of the kernel turns out to be GROUND-shaped.
Ludii's ludeme decomposition is the obvious prior art to steal from, and the honest question is whether we need our own description language at all or should consume theirs.
Track B — game theory as the lens on dynamics
§4 of Taxonomy.md: our panels measure dynamics, and
game theory is the science of exactly that. Today we sample the strategy
space with two hand-written policies and a rank parameter. That is a crude
instrument for questions that have real theory behind them:
- dominance — is an action dominated? (F17 asks this about ATTACK and answers it with a sweep)
- equilibrium — what does competent play converge to, and is it the play the designer intended?
- cooperative solution concepts — GROUND is co-operative with a defection mechanic; the core and the Shapley value are the standard tools for "is this coalition stable" and "what is a seat contributing", which is precisely what GR-E04 is groping at
- social dilemmas — DARVO is one; the literature on them is large
The proposed shape is a specialised agent, not a library: something
that reads a clay-borg game definition and a panel run, and reports what
the theory says about the dynamics — with the same admissibility rules as
everything else, because a Nash equilibrium quoted without its assumptions
is exactly the wrong-subject error in mathematical dress
(Taxonomy.md §2.2).
But the first task is not to build it, and the survey narrowed it
twice more (../research/CB-RES-0009-extensive-form-is-the-lingua-franca.md).
The formal object is the extensive-form game, proven expressive enough by Ludii's universality result and consumed directly by OpenSpiel — so "Ludii → EFG ← OpenSpiel" is the whole mapping, and there is nothing to invent.
And we already have most of an EFG: the journal is the history, the
payoff is Outcome, and project(Viewer::Player(seat)) is the
information partition — built so a player is not shown another's hand,
and unremarked as the machinery imperfect information needs.
Three gaps, one checkable today:
- chance is folded into a seed, so a clay-borg game is one realisation rather than a game with chance nodes;
- perfect recall is unasserted — CFR and exploitability assume a player remembers their own past actions and observations, and nobody has checked whether our projection sequence does;
- simultaneity is encoded by commit/reveal but never stated as the standard EFG encoding.
Track B's first task is (2), because it is small, checkable from the journal, and if it fails every equilibrium concept we might quote is unsound here. That is a better opening move than a build.
Track C — assimilated knowledge about why games work
The furthest out, and the one the maintainer named as the point: make what is known about game dynamics available to designers.
MDA's aesthetics vocabulary, Browne's criteria, the balance literature, documented failure modes (runaway leader, kingmaking, analysis paralysis, dominant strategy, degenerate equilibrium). The value is not a database — it is that a finding from a panel run can be named as an instance of a known pattern, and the designer told what usually follows.
And the gap is now visible. The criteria that exist assume a leader:
lead change and drama are defined against who is ahead. SHARED
GROUND has no individual leader — Modes.csv gives its tiebreak as
"Not applicable" — so the canonical vocabulary does not reach the game we
have. Whether these measures extend to co-operative and hidden-role play
is the open question, and it is a better Track C than the one this
document originally proposed.
The risk is obvious and worth stating now: this track is where a tool starts telling designers what is fun, on the strength of numbers that measure dynamics. §4 of the taxonomy is the guard, and it will be under pressure here.
5. Falsifier
Track A is the falsifier for this whole document. If a second game cannot be defined without reshaping the kernel around it, then "GROUND is an example" was never true, clay-borg is a GROUND engine with ambitions, and §2's differentiators are properties of one bespoke tool rather than of a framework.