clay-borg/specs/Positioning.md
tegwick 55a475b1a9
Some checks failed
ci / check (push) Failing after 4s
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

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.