simulators/: persist the survey, and let it shrink two of the three tracks
Some checks failed
ci / check (push) Failing after 4s
Some checks failed
ci / check (push) Failing after 4s
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>
This commit is contained in:
parent
9643d7a7b9
commit
b590e7fd59
12 changed files with 674 additions and 7 deletions
|
|
@ -68,6 +68,13 @@ Three tracks, none started, in [`specs/Positioning.md`](specs/Positioning.md) §
|
|||
**game theory as the lens on dynamics**, and **assimilated knowledge about
|
||||
why games work**, offered to designers.
|
||||
|
||||
The field is surveyed in [`simulators/`](simulators) — one profile per
|
||||
system, each marking what was checked and what is recollection. **The
|
||||
survey already shrank two of the three tracks**: Browne's 57 criteria and
|
||||
Ai Ai's authoring metrics mean track three is *adopt and find the gap*,
|
||||
not *invent*; and OpenSpiel's exploitability is the standard instrument
|
||||
for the question track two exists to ask.
|
||||
|
||||
## Why GROUND first
|
||||
|
||||
GROUND requires modest physics but sophisticated social state, simultaneous
|
||||
|
|
|
|||
71
simulators/README.md
Normal file
71
simulators/README.md
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
# 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 |
|
||||
|---|---|---|
|
||||
| [`ludii.md`](ludii.md) | the closest relative: ludemes, breadth, speed | A |
|
||||
| [`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 | — |
|
||||
|
||||
## 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.
|
||||
82
simulators/ai-ai.md
Normal file
82
simulators/ai-ai.md
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
# Ai Ai (and MoGaL)
|
||||
|
||||
Stephen Tavener, with Cameron Browne · Java · `checked` ·
|
||||
**licence and cost `unverified`**
|
||||
|
||||
## What it optimises for
|
||||
|
||||
General game playing **with analysis aimed at game authors**. Ai Ai is
|
||||
built on **MoGaL** (Modular Game Library), a general game system by
|
||||
Browne and Tavener assembled from Java blocks glued by a JSON-like
|
||||
language. `checked`
|
||||
|
||||
## How a game is defined
|
||||
|
||||
Hand-coded in Java for efficiency, **or** assembled from blocks using a
|
||||
JSON-based scripting language. `checked`
|
||||
|
||||
## What it can analyse
|
||||
|
||||
**This is the important part and the reason this profile exists.** Ai Ai
|
||||
"has quite a lot of analysis functions and contains analysis tools for
|
||||
game authoring", and plays via MCTS variants. `checked`
|
||||
|
||||
The metric family in this research tradition — Browne, and work building
|
||||
on it — includes **turn metrics: branching factor, drama, killer moves,
|
||||
lead changes**; and **endgame metrics: completion, duration, advantage**.
|
||||
`checked` (from the literature; that Ai Ai computes this exact set is
|
||||
`unverified`).
|
||||
|
||||
**Lead change is treated as close to drama**: a game that never changes
|
||||
leader is tedious, and one that changes too often is chaotic. `checked`
|
||||
|
||||
## What it does not do
|
||||
|
||||
- No federated authority: no concept of the game's owner ruling on an
|
||||
undecided case. `unverified`
|
||||
- No provenance binding to a publisher's dataset. `unverified`
|
||||
- Its measurements are outputs, not claims under adversarial review.
|
||||
|
||||
## Relevance to clay-borg
|
||||
|
||||
**Track C, and it substantially reframes it.** `Positioning.md` §4
|
||||
described "assimilated knowledge about why games work" as open ground.
|
||||
**It is not.** Ai Ai computes designer-facing measures of exactly this
|
||||
kind and has done for years.
|
||||
|
||||
Also **Track A**: MoGaL's "Java blocks glued by JSON" is a third point on
|
||||
the description-language axis, between Ludii's ludemes and hand-written
|
||||
code — and closer to what a clay-borg game definition might look like.
|
||||
|
||||
## What to steal
|
||||
|
||||
- **The metric family itself.** Drama, lead change, completion, duration
|
||||
and branching factor are directly computable from our journals, and we
|
||||
already compute cruder cousins (win rate, arm rate, action counts).
|
||||
- **The framing that a metric is for the author**, not for an agent.
|
||||
|
||||
## What to avoid
|
||||
|
||||
Adopting the metrics without their assumptions. *Drama* and *lead change*
|
||||
are defined against a notion of "who is ahead", which in a co-operative
|
||||
game with a defection mechanic is not obvious — GROUND's SHARED GROUND
|
||||
mode has no individual leader at all, and `Modes.csv` says its tiebreak
|
||||
is "Not applicable". **A metric imported without checking that its
|
||||
subject exists here is the wrong-subject error**
|
||||
([`../specs/Taxonomy.md`](../specs/Taxonomy.md) §2.2).
|
||||
|
||||
## Open questions
|
||||
|
||||
- The exact metric list Ai Ai produces, and their definitions.
|
||||
- Whether any of them are defined for co-operative or hidden-role games.
|
||||
- Licence, and whether the analysis is usable headlessly.
|
||||
|
||||
## Sources
|
||||
|
||||
- Ai Ai home (http://mrraow.com/index.php/aiai-home/aiai/) — **certificate
|
||||
expired, not fetched**; description above is from search results and the
|
||||
mirror at https://aiai.website/
|
||||
- *Efficient Reasoning in Regular Boardgames*
|
||||
(https://arxiv.org/pdf/2006.08295) — for the MoGaL/Ai Ai relationship
|
||||
- *Evolutionary Tabletop Game Design: A Case Study in the Risk Game*
|
||||
(https://arxiv.org/pdf/2310.20008) — for the turn/endgame metric families
|
||||
78
simulators/browne-criteria.md
Normal file
78
simulators/browne-criteria.md
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
# Browne's game-quality criteria
|
||||
|
||||
Cameron Browne · **not a simulator** — a measurement vocabulary ·
|
||||
`checked` that it exists and its size; **the list itself `unverified`**
|
||||
|
||||
## What it optimises for
|
||||
|
||||
Answering *"is this game any good"* **numerically**, from played games,
|
||||
so that generated or modified games can be ranked without a human playing
|
||||
every one.
|
||||
|
||||
**Browne presented 57 criteria for measuring the quality of a game.**
|
||||
`checked`
|
||||
|
||||
## How a game is defined
|
||||
|
||||
Not applicable — the criteria are computed over played games, whatever
|
||||
produced them.
|
||||
|
||||
## What it can analyse
|
||||
|
||||
The families that recur in work building on it: `checked`
|
||||
|
||||
| family | examples |
|
||||
|---|---|
|
||||
| **turn metrics** | branching factor, **drama**, killer moves, **lead changes** |
|
||||
| **endgame metrics** | completion, duration, advantage |
|
||||
|
||||
**Lead change is close to drama**: never changing leader is tedious, too
|
||||
much is chaotic. `checked` That framing — *a good value is an interval,
|
||||
not a maximum* — is the transferable idea.
|
||||
|
||||
## What it does not do
|
||||
|
||||
Nothing about **cooperative** games, hidden roles, or games with no
|
||||
individual leader — at least, nothing we have confirmed. `open`, and it
|
||||
is the question that decides how much of this is usable for GROUND.
|
||||
|
||||
## Relevance to clay-borg
|
||||
|
||||
**Track C is not open ground, and this is the evidence.** `Positioning.md`
|
||||
§4 proposed "assimilate knowledge about why games work" as though it were
|
||||
unclaimed. There is a twenty-year literature with a canonical criterion
|
||||
set, and Ai Ai computes members of it.
|
||||
|
||||
**This is a good finding, not a bad one.** It moves Track C from *invent a
|
||||
theory of fun* to *adopt an existing vocabulary, credit it, and locate the
|
||||
gap* — and the gap is plausibly real: co-operative and hidden-role games.
|
||||
|
||||
## What to steal
|
||||
|
||||
- **The criteria as a vocabulary** for what our panels already half-measure.
|
||||
- **The interval framing**: our register would be improved by targets that
|
||||
are ranges rather than "0" and "100%".
|
||||
|
||||
## What to avoid
|
||||
|
||||
**Importing a metric whose subject does not exist here.** *Lead change*
|
||||
presumes a leader; SHARED GROUND has none, and `Modes.csv` says its
|
||||
tiebreak is "Not applicable". Computing lead change there would produce a
|
||||
number about nothing — [`../specs/Taxonomy.md`](../specs/Taxonomy.md) §2.2.
|
||||
|
||||
## Open questions
|
||||
|
||||
- The 57 criteria themselves, and which are defined for n-player
|
||||
co-operative play.
|
||||
- Whether anyone has extended them to social-dilemma games.
|
||||
- The primary source (Browne's thesis / *Evolutionary Game Design*) —
|
||||
**not read**, and it should be before Track C opens.
|
||||
|
||||
## Sources
|
||||
|
||||
- *Evolutionary Tabletop Game Design: A Case Study in the Risk Game*
|
||||
(https://arxiv.org/pdf/2310.20008) — cites the 57 criteria and the
|
||||
turn/endgame metric families
|
||||
- *Quantifying game design*
|
||||
(https://www.sciencedirect.com/science/article/abs/pii/S0142694X04000201)
|
||||
- *Measuring Board Game Distance* (https://arxiv.org/pdf/2301.03913)
|
||||
53
simulators/gdl-ggp.md
Normal file
53
simulators/gdl-ggp.md
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
# GDL / General Game Playing
|
||||
|
||||
Stanford Logic Group · `unverified` for current status · `checked` for the
|
||||
Ludii comparison
|
||||
|
||||
## What it optimises for
|
||||
|
||||
**Agent generality**: an agent that plays a game it has never seen, given
|
||||
only the rules in a logical description language.
|
||||
|
||||
## How a game is defined
|
||||
|
||||
**GDL** — a declarative, logic-programming description of legal moves,
|
||||
state update and terminal conditions. Verbose relative to Ludii.
|
||||
`checked` (verbosity claim from the Ludii comparison)
|
||||
|
||||
## What it can analyse
|
||||
|
||||
Little by design. GGP is a competition framework for agents; the game is
|
||||
input, not subject.
|
||||
|
||||
## What it does not do
|
||||
|
||||
Anything designer-facing. **Ludii is measured as materially faster** —
|
||||
more than six times for Gomoku 15×15, more than twenty for Amazons and
|
||||
Hex, and over two hundred for Chess. `checked`
|
||||
|
||||
## Relevance to clay-borg
|
||||
|
||||
**Track A, as the cautionary case.** GDL is the purest form of "define
|
||||
any game formally" and its cost is speed and readability. It is the
|
||||
argument for *not* reaching for maximal generality first.
|
||||
|
||||
## What to steal
|
||||
|
||||
The separation of **rules-as-data** from the agent, which our kernel has
|
||||
in a weaker form (rules are Rust; only the edition is data).
|
||||
|
||||
## What to avoid
|
||||
|
||||
Its verbosity, and its framing of the game as an input to an agent rather
|
||||
than as an artifact under study.
|
||||
|
||||
## Open questions
|
||||
|
||||
- Whether GGP is still active, and where the community went.
|
||||
|
||||
## Sources
|
||||
|
||||
- *A note on the empirical comparison of RBG and Ludii*
|
||||
(https://arxiv.org/pdf/1910.00309)
|
||||
- *Game Description Languages: the Good, the Bad, and the Ugly*, Björnsson
|
||||
(https://ludii.games/TalksWorkshop/Bjornsson.pdf)
|
||||
79
simulators/ludii.md
Normal file
79
simulators/ludii.md
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
# 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
|
||||
|
||||
A ludeme tree with an `equipment` section (pieces, board) and a `rules`
|
||||
section (setup, play, end conditions). Games are modified by adjusting
|
||||
ludemes or parameters such as board size. **Each game's description fits
|
||||
in a QR code.** `checked`
|
||||
|
||||
## 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`.
|
||||
|
||||
## 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.
|
||||
- Can a Ludii description express **simultaneous commit/reveal, hidden
|
||||
role state, and a binding multi-round state machine** like DARVO? If
|
||||
not, GROUND is outside its expressiveness and Track A's second game
|
||||
should be chosen to test that boundary deliberately.
|
||||
- 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)
|
||||
51
simulators/machinations.md
Normal file
51
simulators/machinations.md
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
# Machinations
|
||||
|
||||
`unverified` throughout — background knowledge, not checked this session
|
||||
|
||||
## What it optimises for
|
||||
|
||||
**Game economies and feedback loops**, expressed diagrammatically:
|
||||
resources, pools, converters, and the flows between them, simulated
|
||||
immediately as you edit.
|
||||
|
||||
## How a game is defined
|
||||
|
||||
A diagram of resource flows — **not** a rules-complete description. You
|
||||
model the economy, not the game.
|
||||
|
||||
## What it can analyse
|
||||
|
||||
Emergent economic behaviour: runaway loops, starvation, equilibrium of
|
||||
resource flows. Fast iteration is the selling point.
|
||||
|
||||
## What it does not do
|
||||
|
||||
Model a *played* game: no turn structure, hidden information, or
|
||||
simultaneous decisions in the sense GROUND needs. It is a model of a
|
||||
subsystem.
|
||||
|
||||
## Relevance to clay-borg
|
||||
|
||||
**Limited, and worth stating so.** GROUND's interesting structure is
|
||||
social state and commit/reveal, not resource economy. The one place it
|
||||
touches us is the Stress ledger, which *is* a flow — and the H1 finding
|
||||
that "ATTACK is the sole inbound pressure" is exactly the observation a
|
||||
flow diagram makes obvious at a glance.
|
||||
|
||||
**That is a real lesson**: it took us a policy panel and three review
|
||||
rounds to notice a property of the Stress economy that a flow model would
|
||||
have shown immediately.
|
||||
|
||||
## What to steal
|
||||
|
||||
The habit of asking, for any resource: **what puts it in, what takes it
|
||||
out, and is either path reachable?**
|
||||
|
||||
## Open questions
|
||||
|
||||
- Everything factual above. This profile is a placeholder with a lesson
|
||||
attached, not an evaluation.
|
||||
|
||||
## Sources
|
||||
|
||||
None fetched. **Marked `unverified` in full** rather than dressed up.
|
||||
80
simulators/openspiel.md
Normal file
80
simulators/openspiel.md
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
# OpenSpiel
|
||||
|
||||
Google DeepMind · C++ core with Python bindings · Apache-2.0 `unverified` ·
|
||||
`checked` for scope and algorithms
|
||||
|
||||
## What it optimises for
|
||||
|
||||
**Research in reinforcement learning and search/planning in games**, with
|
||||
a strong game-theoretic algorithm library.
|
||||
|
||||
Supports n-player single- and multi-agent, **zero-sum, cooperative and
|
||||
general-sum**, one-shot and sequential, turn-taking **and
|
||||
simultaneous-move**, perfect and imperfect information — plus grid worlds
|
||||
and **social dilemmas**. `checked`
|
||||
|
||||
## How a game is defined
|
||||
|
||||
Games are implemented against a C++ (or Python) API. `checked` — this is
|
||||
a *programming* interface, not a description language, which is the axis
|
||||
where Ludii and Ai Ai differ from it.
|
||||
|
||||
## What it can analyse
|
||||
|
||||
The reason this profile matters for Track B. Implemented algorithms
|
||||
include **CFR** and its Monte-Carlo variants, **Deep CFR**, **exploitability**
|
||||
and best-response computation, fictitious play (XFP, NFSP), **PSRO**,
|
||||
**α-Rank**, replicator/evolutionary dynamics, minimax, MCTS, and
|
||||
value iteration. `checked`
|
||||
|
||||
**Exploitability** is the key one: how much an opponent gains by
|
||||
deviating to a best response — a direct, computable measure of *how far
|
||||
from equilibrium a strategy is*. `checked`
|
||||
|
||||
## What it does not do
|
||||
|
||||
- Nothing design-facing. It answers "how strong is this strategy" and
|
||||
"how far from equilibrium", not "is this rule doing its job".
|
||||
- No game description language, so no cheap path for a designer.
|
||||
- No evidence discipline: outputs are research data.
|
||||
|
||||
## Relevance to clay-borg
|
||||
|
||||
**Track B, and it is very likely the answer rather than a competitor.**
|
||||
|
||||
Our current instrument for "does ATTACK ever pay" is two hand-written
|
||||
policies and a rank parameter. **Exploitability and best-response are the
|
||||
principled versions of that question**, and they are implemented,
|
||||
tested and published here.
|
||||
|
||||
GROUND is simultaneous-move, imperfect-information, cooperative with a
|
||||
defection mechanic — **all four are inside OpenSpiel's stated scope**.
|
||||
|
||||
## What to steal
|
||||
|
||||
- **Exploitability as the replacement for "we tried three policies".**
|
||||
F17's question — does ATTACK earn its place — is a best-response
|
||||
question wearing a sweep's clothes.
|
||||
- The distinction between **cooperative, general-sum and zero-sum** as a
|
||||
first-class property of a game, which our kernel does not represent.
|
||||
|
||||
## What to avoid
|
||||
|
||||
**Quoting a solution concept without its assumptions.** An equilibrium
|
||||
computed over a policy class we chose is a statement about that class.
|
||||
This is the wrong-subject error in mathematical dress, and it is the
|
||||
specific risk `Positioning.md` §4 flags for Track B.
|
||||
|
||||
## Open questions
|
||||
|
||||
- Cost of expressing a GROUND-like game against its API versus our kernel.
|
||||
- Whether exploitability is meaningful for a co-operative game with a
|
||||
shared threshold — `open`, and it is the question that decides whether
|
||||
Track B adopts this or only borrows its vocabulary.
|
||||
- Licence.
|
||||
|
||||
## Sources
|
||||
|
||||
- OpenSpiel repository (https://github.com/google-deepmind/open_spiel)
|
||||
- *OpenSpiel: A Framework for Reinforcement Learning in Games*
|
||||
(https://www.researchgate.net/publication/335419770)
|
||||
37
simulators/play-substrates.md
Normal file
37
simulators/play-substrates.md
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
# Play substrates — Tabletop Simulator, boardgame.io
|
||||
|
||||
`unverified` throughout — background knowledge, not checked this session
|
||||
|
||||
## What they optimise for
|
||||
|
||||
**Playing**, by humans, over a network. Tabletop Simulator gives a
|
||||
physics sandbox with no rules enforcement; boardgame.io gives a
|
||||
JavaScript framework for turn-based games with state management and a
|
||||
networked client.
|
||||
|
||||
## How a game is defined
|
||||
|
||||
TTS: assets plus optional scripting; the rules live in the players' heads.
|
||||
boardgame.io: JavaScript moves and turn order.
|
||||
|
||||
## What they can analyse
|
||||
|
||||
Nothing. The rules are a script, not a claim.
|
||||
|
||||
## Relevance to clay-borg
|
||||
|
||||
**None for analysis, and one thing for the interface.** Our own
|
||||
`cb-play` page and [`../specs/Ornamentation.md`](../specs/Ornamentation.md)
|
||||
occupy this space, and the future `clay-animate` is squarely in it.
|
||||
|
||||
The useful contrast: **TTS proves that a table with no rules enforcement
|
||||
is still fun**, which is an argument for taking ornamentation seriously
|
||||
and against assuming the mechanism is the whole game.
|
||||
|
||||
## Open questions
|
||||
|
||||
- Whether boardgame.io's state model is worth borrowing for `clay-animate`.
|
||||
|
||||
## Sources
|
||||
|
||||
None fetched. **Marked `unverified` in full.**
|
||||
44
simulators/rbg.md
Normal file
44
simulators/rbg.md
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
# RBG — Regular Boardgames
|
||||
|
||||
`checked` that it exists and is benchmarked against Ludii; everything else
|
||||
`unverified`
|
||||
|
||||
## What it optimises for
|
||||
|
||||
A game description language with **efficient reasoning** as the explicit
|
||||
goal — the speed axis of the GDL/Ludii tradeoff.
|
||||
|
||||
## How a game is defined
|
||||
|
||||
A regular-language-based description. `unverified` in detail.
|
||||
|
||||
## What it can analyse
|
||||
|
||||
`open`. Its published framing is reasoning efficiency, not design support.
|
||||
|
||||
## Relevance to clay-borg
|
||||
|
||||
**Track A, as the third point on the description-language axis** —
|
||||
GDL (expressive, slow), Ludii (concise, fast, ludeme-structured), RBG
|
||||
(speed-first).
|
||||
|
||||
**Ludii is reported to describe hidden information and non-deterministic
|
||||
games with less restriction on the board than RBG.** `checked` — which
|
||||
matters directly, because GROUND is both hidden-information and
|
||||
non-deterministic.
|
||||
|
||||
## What to steal / avoid
|
||||
|
||||
`open` — not enough read to say.
|
||||
|
||||
## Open questions
|
||||
|
||||
- Everything past the comparison paper. This profile exists so the option
|
||||
is not forgotten, not because we have evaluated it.
|
||||
|
||||
## Sources
|
||||
|
||||
- *Efficient Reasoning in Regular Boardgames*
|
||||
(https://arxiv.org/pdf/2006.08295)
|
||||
- *A note on the empirical comparison of RBG and Ludii*
|
||||
(https://arxiv.org/pdf/1910.00309)
|
||||
|
|
@ -5,7 +5,12 @@ 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).
|
||||
[`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.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -84,6 +89,30 @@ the number.
|
|||
|
||||
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
|
||||
|
|
@ -121,18 +150,33 @@ instrument for questions that have real theory behind them:
|
|||
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.
|
||||
is exactly the wrong-subject error in mathematical dress
|
||||
([`Taxonomy.md`](Taxonomy.md) §2.2).
|
||||
|
||||
**But the first task is not to build it.** It is to answer one question:
|
||||
**is exploitability meaningful for a co-operative game with a shared
|
||||
threshold?** If yes, Track B is mostly integration with
|
||||
[OpenSpiel](../simulators/openspiel.md). If no, that is a real research
|
||||
finding and the reason a specialised agent is needed at all.
|
||||
|
||||
### 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, 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.
|
||||
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
|
||||
|
|
|
|||
|
|
@ -112,6 +112,47 @@ rather than to a framework. **Every abstraction in this repo currently has
|
|||
exactly one instance**, which by our own rule means it may have been
|
||||
invented rather than observed.
|
||||
|
||||
## Task: survey the field and persist it
|
||||
|
||||
```task
|
||||
id: CB-WP-0040-T03
|
||||
status: done
|
||||
priority: medium
|
||||
```
|
||||
|
||||
`simulators/`, one profile per system, comparable schema.
|
||||
|
||||
**Controls:**
|
||||
- **every claim carries its source**, and a claim from background
|
||||
knowledge is marked `unverified` — this directory was written straight
|
||||
after three review rounds whose entire yield was claims outrunning what
|
||||
had been checked;
|
||||
- **the survey is allowed to change the plan**, or it was decoration.
|
||||
|
||||
**Done 2026-08-08.** Eight profiles and an index.
|
||||
|
||||
**It changed the plan, which is the point.** Two of the three tracks in
|
||||
`Positioning.md` were overclaimed:
|
||||
|
||||
- **Track C is not open ground.** **Browne published 57 criteria for game
|
||||
quality**, and **Ai Ai** already computes drama, lead changes, branching
|
||||
factor, completion and duration for game authors. The track becomes
|
||||
*adopt, credit, find the gap* — and the gap looks real: those measures
|
||||
presume a leader, and **SHARED GROUND has none**.
|
||||
- **Track B probably adopts.** **OpenSpiel** implements CFR,
|
||||
best-response and **exploitability** across simultaneous-move,
|
||||
imperfect-information, co-operative games — 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 cost of not surveying earlier is therefore measurable**, and that is
|
||||
recorded rather than glossed.
|
||||
|
||||
**Three profiles are marked `unverified` in full** — Machinations, the
|
||||
play substrates, and much of RBG. They are placeholders that keep an
|
||||
option from being forgotten, and they say so instead of reading as
|
||||
evaluations.
|
||||
|
||||
## Deliberately not done
|
||||
|
||||
- **No game-theory implementation.** Track B is specified as a shape and
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue