diff --git a/INTENT.md b/INTENT.md index f5d18e7..ba78071 100644 --- a/INTENT.md +++ b/INTENT.md @@ -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 diff --git a/simulators/README.md b/simulators/README.md new file mode 100644 index 0000000..288f1be --- /dev/null +++ b/simulators/README.md @@ -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 + +``` +# +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. diff --git a/simulators/ai-ai.md b/simulators/ai-ai.md new file mode 100644 index 0000000..0b35082 --- /dev/null +++ b/simulators/ai-ai.md @@ -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 diff --git a/simulators/browne-criteria.md b/simulators/browne-criteria.md new file mode 100644 index 0000000..71b7ade --- /dev/null +++ b/simulators/browne-criteria.md @@ -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) diff --git a/simulators/gdl-ggp.md b/simulators/gdl-ggp.md new file mode 100644 index 0000000..75a29ea --- /dev/null +++ b/simulators/gdl-ggp.md @@ -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) diff --git a/simulators/ludii.md b/simulators/ludii.md new file mode 100644 index 0000000..c2d480a --- /dev/null +++ b/simulators/ludii.md @@ -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) diff --git a/simulators/machinations.md b/simulators/machinations.md new file mode 100644 index 0000000..b18064c --- /dev/null +++ b/simulators/machinations.md @@ -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. diff --git a/simulators/openspiel.md b/simulators/openspiel.md new file mode 100644 index 0000000..ab3a047 --- /dev/null +++ b/simulators/openspiel.md @@ -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) diff --git a/simulators/play-substrates.md b/simulators/play-substrates.md new file mode 100644 index 0000000..c11bec6 --- /dev/null +++ b/simulators/play-substrates.md @@ -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.** diff --git a/simulators/rbg.md b/simulators/rbg.md new file mode 100644 index 0000000..4c33f82 --- /dev/null +++ b/simulators/rbg.md @@ -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) diff --git a/specs/Positioning.md b/specs/Positioning.md index 3d48ed9..428ce6d 100644 --- a/specs/Positioning.md +++ b/specs/Positioning.md @@ -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 diff --git a/workplans/CB-WP-0040-what-a-statement-is-about.md b/workplans/CB-WP-0040-what-a-statement-is-about.md index d9c6529..ba6541f 100644 --- a/workplans/CB-WP-0040-what-a-statement-is-about.md +++ b/workplans/CB-WP-0040-what-a-statement-is-about.md @@ -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