Some checks failed
ci / check (push) Failing after 4s
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>
213 lines
10 KiB
Markdown
213 lines
10 KiB
Markdown
# 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`](../INTENT.md) (what we are building),
|
|
[`Taxonomy.md`](Taxonomy.md) (the vocabulary), and
|
|
[`Ornamentation.md`](Ornamentation.md) (the boundary). The systems named
|
|
below have profiles in [`../simulators/`](../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`](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/`](../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`](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`](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`](../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:**
|
|
|
|
1. **chance is folded into a seed**, so a clay-borg game is one
|
|
realisation rather than a game with chance nodes;
|
|
2. **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;
|
|
3. 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.
|