|
1 | 1 | // SPDX-License-Identifier: AGPL-3.0-or-later |
2 | 2 | // Copyright (c) 2026 Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk> |
3 | | -= The Nash Equilibrium |
| 3 | += The Nash Equilibrium (Econosphere) |
4 | 4 | :toc: preamble |
5 | 5 | :icons: font |
6 | 6 |
|
7 | | -image:https://api.securityscorecards.dev/projects/github.com/hyperpolymath/the-nash-equilibrium/badge[OpenSSF Scorecard, link="https://securityscorecards.dev/viewer/?uri=github.com/hyperpolymath/the-nash-equilibrium"] |
| 7 | +image:https://api.securityscorecards.dev/projects/github.com/hyperpolymath/the-nash-equilibrium/badge[OpenSSF Scorecard,link="https://securityscorecards.dev/viewer/?uri=github.com/hyperpolymath/the-nash-equilibrium"] |
8 | 8 |
|
9 | | -== Overview |
| 9 | +A **6X strategy board game** about guiding a civilisation from subsistence farming |
| 10 | +to a post-scarcity future — while collectively managing a shared planet with finite |
| 11 | +boundaries. Co-developed by Jonathan D.A. Jewell and son. AGPL-3.0-or-later. |
10 | 12 |
|
11 | | -**The Nash Equilibrium** is a **6X strategy game** — extending the classic 4X genre |
12 | | -(eXplore, eXpand, eXploit, eXterminate) with two additional strategic dimensions: |
13 | | -**eXchange** (trade, diplomacy, game-theoretic negotiation) and **eXperiment** |
14 | | -(speculative research with asymmetric payoffs). |
| 13 | +== The Game in One Paragraph |
15 | 14 |
|
16 | | -Every strategic interaction is modelled through the lens of game theory — the |
17 | | -winning strategy is finding the equilibrium, not just military dominance. |
| 15 | +Players choose a development pathway — Capitalist, Socialist, Green, or Techno-Utopian |
| 16 | +— and guide their civilisation through four eras: Agrarian → Industrial → Digital → |
| 17 | +Post-Scarcity. Resources are **Labour, Capital, Nature, Knowledge, and Energy**, each |
| 18 | +tied to one of the nine Stockholm planetary boundaries. Every turn a crisis card deck |
| 19 | +is drawn; the number of cards scales dynamically with how stressed the boundaries are — |
| 20 | +so cooperative stewardship produces fewer crises, and exploitative play spirals into |
| 21 | +cascade events. The game is named for its central mechanic: the winning position is |
| 22 | +never unilateral dominance, it is always the **Nash equilibrium** — the strategy no |
| 23 | +player can improve by defecting alone. |
18 | 24 |
|
19 | | -Co-developed by Jonathan D.A. Jewell and son. |
| 25 | +== The Six Strategic Pillars (6X) |
20 | 26 |
|
21 | | -See link:docs/game-design/6X-pillars.adoc[6X Pillars] for the full design rationale. |
| 27 | +The classic 4X (eXplore, eXpand, eXploit, eXterminate) is extended with two pillars |
| 28 | +that are the heart of the game-theoretic theme: |
22 | 29 |
|
23 | | -== License |
| 30 | +* **eXchange** — repeated-game trade and diplomacy. Agreements have real mechanical |
| 31 | + consequences. Defection is possible and sometimes rational; but defectors destabilise |
| 32 | + the boundary dashboard for everyone. |
| 33 | +* **eXperiment** — speculative research with branching, non-deterministic outcomes and |
| 34 | + asymmetric payoffs. Breakthrough technologies can shift the game state dramatically, |
| 35 | + but the risks are real (AI uprising, automation displacement, ozone depletion). |
| 36 | + |
| 37 | +== Era Progression |
| 38 | + |
| 39 | +[cols="1,2,1,1"] |
| 40 | +|=== |
| 41 | +| Era | Character | Turns | Boundary pressure |
| 42 | + |
| 43 | +| Agrarian |
| 44 | +| Barter, subsistence, land-claiming |
| 45 | +| 1–8 |
| 46 | +| Low; Nature abundant |
| 47 | + |
| 48 | +| Industrial |
| 49 | +| Factories, mass production, colonial expansion |
| 50 | +| 9–16 |
| 51 | +| Rapid rise: Climate, Land, N/P flows |
| 52 | + |
| 53 | +| Digital |
| 54 | +| Automation, AI, global networks |
| 55 | +| 17–24 |
| 56 | +| Novel Entities emerge; all boundaries under stress |
| 57 | + |
| 58 | +| Post-Scarcity |
| 59 | +| Potential abundance or cascade collapse |
| 60 | +| 25–32 |
| 61 | +| Recovery possible — or runaway failure |
| 62 | +|=== |
| 63 | + |
| 64 | +== Victory Conditions |
| 65 | + |
| 66 | +=== Cooperative Endings (whole-table wins or loses together) |
| 67 | + |
| 68 | +[cols="2,3"] |
| 69 | +|=== |
| 70 | +| Ending | Condition |
| 71 | + |
| 72 | +| **Post-Scarcity Utopia** |
| 73 | +| Dyson Sphere (or equivalent megaproject) complete; all boundaries Green/Amber; |
| 74 | + no player in social collapse. The technological transcendence path. |
| 75 | + |
| 76 | +| **Harmonic Degrowth** |
| 77 | +| All boundaries in Green zone; all players below a shared consumption ceiling; |
| 78 | + global stability index above threshold. Harder than the Dyson Sphere — |
| 79 | + requires everyone to choose sufficiency over growth. The actually-utopian ending. |
| 80 | + |
| 81 | +| **Digital Commons** |
| 82 | +| Three or more breakthrough technologies open-sourced; no player below poverty |
| 83 | + threshold; Knowledge resource above starting level for all. The information- |
| 84 | + abundance path without physical transcendence. |
| 85 | + |
| 86 | +| **Managed Decline** |
| 87 | +| Some boundaries exceeded but cascades halted; civilisation intact; at least one |
| 88 | + player not eliminated. Not utopia — but survivable. A sombre but meaningful win. |
| 89 | +|=== |
| 90 | + |
| 91 | +=== Individual Pathway Victories |
| 92 | + |
| 93 | +Pathway victories are available *only* if at least one cooperative ending is |
| 94 | +achieved — no individual wins if the planet collapses. |
| 95 | + |
| 96 | +[cols="1,3,1"] |
| 97 | +|=== |
| 98 | +| Pathway | Condition | Difficulty |
| 99 | + |
| 100 | +| Capitalist |
| 101 | +| Highest Capital + active trade routes to all players |
| 102 | +| Medium |
| 103 | + |
| 104 | +| Socialist |
| 105 | +| Highest Stability + all players above poverty threshold |
| 106 | +| Hard |
| 107 | + |
| 108 | +| Green |
| 109 | +| All boundaries in Green zone + Nature above starting level |
| 110 | +| Hard |
| 111 | + |
| 112 | +| Techno-Utopian |
| 113 | +| 3+ breakthrough techs + Dyson Sphere under construction |
| 114 | +| Very Hard |
| 115 | +|=== |
| 116 | + |
| 117 | +=== Loss Conditions |
| 118 | + |
| 119 | +* **Planetary Collapse**: 4+ boundaries at Black (stress 10) — ALL players lose, no exceptions |
| 120 | +* **Social Collapse**: Labour drops to 0 — that player is eliminated |
| 121 | +* **Resource Exhaustion**: Nature drops to 0 — cascading boundary failures begin |
| 122 | + |
| 123 | +== The Crisis Deck (Dynamic Scaling) |
| 124 | + |
| 125 | +Crisis cards are drawn each turn from a deck stratified by era. The **number of |
| 126 | +cards drawn** scales with how stressed the planetary boundaries are: |
| 127 | + |
| 128 | +---- |
| 129 | +N = 1 + (Amber boundaries × 0.5) + (Red boundaries × 1) + (Black boundaries × 2) |
| 130 | + rounded up; minimum 1, maximum 5 |
| 131 | +---- |
| 132 | + |
| 133 | +This means: |
| 134 | +* With all boundaries in Green: 1 card/turn (mostly positive or neutral events) |
| 135 | +* With 3 Amber and 1 Red: 3 cards/turn (mounting pressure) |
| 136 | +* With 2 Red and 1 Black: 4 cards/turn (cascade spiral) |
| 137 | +* Recovering boundaries *reduces* the draw rate — cooperative stewardship is |
| 138 | + mechanically rewarded in real time |
| 139 | + |
| 140 | +Card categories span Environmental, Social, Technological, Economic, and Geopolitical |
| 141 | +crises — with era weighting (no AI uprisings in the Agrarian era). |
24 | 142 |
|
25 | | -This project is licensed under the **GNU Affero General Public License v3.0 or later** (AGPL-3.0-or-later). |
| 143 | +== The Planetary Boundaries Dashboard |
26 | 144 |
|
27 | | -See link:LICENSE[LICENSE] for the full text. |
| 145 | +The central board element: the nine Stockholm boundaries, each tracked on a |
| 146 | +0–10 stress scale with four zones: |
| 147 | + |
| 148 | +[cols="1,1,2"] |
| 149 | +|=== |
| 150 | +| Zone | Colour | Meaning |
| 151 | + |
| 152 | +| 0–3 | Green | Safe operating space |
| 153 | +| 4–6 | Amber | Zone of uncertainty — increasing risk |
| 154 | +| 7–9 | Orange/Red | Beyond safe boundary — high risk |
| 155 | +| 10 | Black | Critical threshold crossed — cascade possible |
| 156 | +|=== |
| 157 | + |
| 158 | +Boundaries: Climate Change, Biosphere Integrity, Land System Change, Freshwater |
| 159 | +Change, Biogeochemical Flows (N/P), Ocean Acidification, Atmospheric Aerosol |
| 160 | +Loading, Stratospheric Ozone Depletion, Novel Entities. |
| 161 | + |
| 162 | +Linked boundaries cascade: pushing Climate into Red stresses Ocean Acidification |
| 163 | +and Freshwater. Pushing Land into Red stresses Biosphere. |
| 164 | + |
| 165 | +See link:docs/game-design/board-mockup.svg[board-mockup.svg] for a visual overview |
| 166 | +of the board layout: planetary boundaries wheel at centre, world topography |
| 167 | +heat-map, and the topological trade network. |
| 168 | + |
| 169 | +== Current State (Design Phase) |
| 170 | + |
| 171 | +This repository is in active design. No playable game engine yet. |
| 172 | + |
| 173 | +[cols="3,1"] |
| 174 | +|=== |
| 175 | +| Milestone | Status |
| 176 | + |
| 177 | +| RSR scaffolding (CI/CD, machine_readable, contractiles) |
| 178 | +| 90% ✓ |
| 179 | + |
| 180 | +| ABI/FFI interface stubs (Idris2 + Zig) |
| 181 | +| 50% |
| 182 | + |
| 183 | +| Game design documentation (6X pillars, core mechanics, player roles, board) |
| 184 | +| 60% |
| 185 | + |
| 186 | +| Playtesting protocol + event card catalogue + economic systems |
| 187 | +| 30% |
| 188 | + |
| 189 | +| Nash equilibrium solver / payoff-matrix engine |
| 190 | +| 0% — blocked on ADR-002 (Gleam vs Rust/SPARK) |
| 191 | + |
| 192 | +| Core game loop implementation |
| 193 | +| 0% |
| 194 | + |
| 195 | +| First family playtest (physical prototype) |
| 196 | +| 0% |
| 197 | + |
| 198 | +| Digital companion (optional, post-physical) |
| 199 | +| 0% |
| 200 | +|=== |
| 201 | + |
| 202 | +See link:ROADMAP.adoc[ROADMAP.adoc] for the full milestone tracker and ADR log. |
28 | 203 |
|
29 | 204 | == Repository Structure |
30 | 205 |
|
31 | 206 | [cols="1,3"] |
32 | 207 | |=== |
33 | 208 | | Path | Description |
34 | 209 |
|
35 | | -| `src/` | Game source code |
36 | | -| `src/interface/abi/` | Idris2 ABI definitions |
37 | | -| `src/interface/ffi/` | Zig FFI implementation |
38 | | -| `docs/` | Design documents and game design documentation |
39 | | -| `tests/` | Test suites |
40 | | -| `.machine_readable/` | A2ML metadata (STATE, META, ECOSYSTEM) |
41 | | -| `.github/workflows/` | CI/CD pipelines |
| 210 | +| `docs/game-design/` |
| 211 | +| Game design documents: 6X pillars, core mechanics, player roles, board design, |
| 212 | + economic systems, event cards, playtesting plan |
| 213 | + |
| 214 | +| `docs/research/` |
| 215 | +| Academic and scientific sources (planetary boundaries, game theory) |
| 216 | + |
| 217 | +| `docs/education/` |
| 218 | +| Learning objectives and real-world parallels |
| 219 | + |
| 220 | +| `docs/kickstarter/` |
| 221 | +| Crowdfunding strategy (post-design) |
| 222 | + |
| 223 | +| `src/interface/abi/` |
| 224 | +| Idris2 ABI definitions (formal interface contracts) |
| 225 | + |
| 226 | +| `src/interface/ffi/` |
| 227 | +| Zig FFI implementation (C-ABI bridge) |
| 228 | + |
| 229 | +| `.machine_readable/6a2/` |
| 230 | +| A2ML state files: STATE, META, ECOSYSTEM, AGENTIC, NEUROSYM, PLAYBOOK |
| 231 | + |
| 232 | +| `.machine_readable/contractiles/` |
| 233 | +| Contractile trident: intend / trust / must / bust / adjust / dust |
| 234 | + |
| 235 | +| `.github/workflows/` |
| 236 | +| CI/CD pipelines (27 workflows, SHA-pinned) |
42 | 237 | |=== |
43 | 238 |
|
44 | | -== AI Gatekeeper Protocol |
| 239 | +== AI Agents |
45 | 240 |
|
46 | | -All AI agents MUST read `0-AI-MANIFEST.a2ml` before any work. |
| 241 | +All AI agents MUST read `.machine_readable/0.1-AI-MANIFEST.a2ml` before any work. |
| 242 | +State is in `.machine_readable/6a2/STATE.a2ml`. |
47 | 243 |
|
48 | | -== Getting Started |
| 244 | +== License |
49 | 245 |
|
50 | | -[source,bash] |
51 | | ----- |
52 | | -just build |
53 | | -just test |
54 | | ----- |
| 246 | +AGPL-3.0-or-later — co-developed with son (hyperpolymath AGPL exception applies). |
| 247 | +See link:LICENSE[LICENSE]. |
0 commit comments