victory.md · non-normative

Victory — Design Proposal

Every Last City · subsystem design · author: victory subsystem designer · clean-room


0. Glossary

Named systems, so the rest of this document can be terse.

Term What it is
Track A victory condition, expressed as an integer progress meter with a threshold
Vigil The number of consecutive turns a Track must stay complete before it wins
Standing A player's score right now — an integer
Tenure Sum of Standing over every turn so far. Monotone, never decreases
the Seal The single moment per turn when victory is evaluated: after the whole activation queue has been walked
the Ebb Scheduled downward drift of threshold values as the game ages
Rumour / Report / Alarm The three visibility bands of an opponent's progress
the World Watches Live vision granted to everyone of the sites keeping a player in Alarm
the Verdict A vote to end a decided-but-unfinished game
Capitulation Automatic surrender of a collapsed player
the Watch The always-visible progress strip
the Board The full victory panel
the Chronicle The one-line-per-event victory log
the Terms The victory setup screen

1. The problem

Three problems, and they are not the same problem.

Problem A — victory is a checkbox. In games of this shape, "how you win" is usually a radio button with two or three entries, decided in ten seconds at setup and then forgotten. It has no presence during play. It generates no events. It is a terminating condition bolted onto a simulation, not a part of the game.

Problem B — the outcome is decided long before the game ends. This is the named structural flaw in §5 of the direction brief and the one that actually drives players away. It has three distinct sub-failures that people lump together:

Each needs a different fix. A single "turn limit" setting fixes only the third and does it badly.

Problem C — you cannot see who is winning. Under fog, on a large map, a player often genuinely does not know they are losing until it is over. That is not tension, it is ignorance. Tension requires knowing the clock is running.

The design below treats victory as a system that runs all game, produces scheduled crises, publishes a legible scoreboard, and has four independent mechanisms for ending a game that is over.


2. The spine: everything is a Track, and Tenure is the currency

2.1 Every condition is one shape

Every victory condition in this design is a Track: an integer progress value, a threshold, and a Vigil. That uniformity buys three things that are worth more than the expressive freedom it costs:

  1. One readout. Fourteen conditions, one bar widget. A player who understands the Dominion bar understands every bar.
  2. One combination rule. "First Track to complete wins" is the whole of it.
  3. One implementation. Adding a condition is adding a progress function and a threshold function, and the UI, the linter, the estimator and the AI evaluator all get it free.

Progress is always per-mille of threshold for the readout, so every bar in the game is comparable at a glance even when the underlying units are cities, regions, points and production.

2.2 The Vigil

A Track does not win the instant you cross it. It wins when you have held it across V consecutive Seals. This is the single most important mechanic in the proposal, and it is doing four jobs:

Failure resets the Vigil to zero, it does not decrement. Harsh on purpose. (Softer Decay variant exists as an option; see §11 tradeoffs — I am genuinely unsure which is right, and it is the first thing I would playtest both ways.)

2.3 Standing and Tenure

Standing is current score. It is deliberately short:

Component Points Rationale
Each city held 100 The game is about cities. This dominates, correctly
Each Landmark held +150 on top Landmarks are the map's contested points and should be worth fighting over
Each Seat held (yours or a captured rival's) +200 Taking someone's capital should be the biggest single event in the game
Empire output per turn ×5 Rewards developing and supplying, not only grabbing
Army in supply Σ(build cost) ÷ 4, capped at 25% of the above Counted, so horizon-eve suicide attacks don't pay; capped, so a doomstack turtle can't win on score

Worked, for Red at turn 178 of the example in §7 — 27 cities (2 of them Landmarks), his own Seat plus Gold's captured Seat, 132 output per turn, 38 units totalling 1,180 build cost:

cities     27 × 100                    = 2700
Landmarks   2 × 150                    = +300
Seats       2 × 200                    = +400
output    132 ×   5                    = +660
                                subtotal 4060
military  floor(1180 / 4) = 295, cap = floor(4060 × 25/100) = 1015 → +295
                                Standing 4355   → Tenure gain this turn = 43

Tenure = Σ over turns of floor(Standing / 100).

Tenure is where the design earns its keep, for two reasons.

Reason one — it is the universal tiebreaker. Every ambiguity in this document resolves to Tenure: simultaneous completion of different Tracks, the Horizon result, final placings for capitulated players, the Verdict sanity check. One rule instead of a precedence table, and it means the same thing every time: the player who has been ahead the longest.

Reason two — Tenure is monotone, so catch-up is exactly computable. Because Tenure only ever increases, and because the maximum a player can gain per turn is bounded (you cannot hold more than the whole map), the engine can compute exactly whether a trailing player is still able to reach the leader before the Horizon. That gives us a provable early-end trigger rather than a heuristic — the playoff-elimination arithmetic from professional sport, applied to a wargame. See §8.2.

Tenure is current-state integrated, never peak — you cannot bank a good turn 40 and coast.

2.4 Arithmetic discipline

All of it is integer. Per-mille everywhere, no percentages. Comparisons are cross-multiplied rather than divided (cities[L] × 2 ≥ cities[2nd] × 3, never a ratio). Drift is computed from the turn index by a closed form rather than accumulated per turn, so there is no accumulation error and no order dependence. Tenure is a floor-divided sum. Nothing here needs Q16.16, let alone a float.


3. The catalogue

Fourteen Tracks. Defaults given are for a medium map: 48 cities, 5 Landmarks, 8 regions, 4 players, Horizon 200 — the reference configuration used throughout this document.

# Track One line Default Est. length
T1 Dominion Hold more than half the world, plus a share 625‰ of cities, Vigil 3 90–180
T2 Every Last City Hold every city on the map all, Vigil 1 200–400
T3 Last Standing Everyone else has capitulated — (always on) varies
T4 Hegemony Hold every city in K regions 5 of 8 regions, Vigil 4 110–200
T5 The Keys Hold K of the map's L Landmarks 3 of 5, Vigil 6 60–140
T6 Ascendancy Score points by holding Landmarks while they are Lit 7 points 70–120
T7 The Great Work Complete a huge, public, capturable construction 900 output, on a Landmark 120–200
T8 Prosperity Sustain a share of the map's total economic potential 450‰, Vigil 8 100–180
T9 The Horizon At turn H, highest Tenure wins turn 200 exactly H
T10 Endurance Survive to turn T still holding N cities scenario-set exactly T
T11 Charters Each player has their own public Track mode, not a Track varies
T12 Sealed Orders Hidden objectives that feed a public Ambition track 5 Ambition 100–180
T13 Warrants Scheduled objectives that pay, but never win every 15 turns non-terminal
T14 Throne Hold every rival's Seat Vigil 3 40–90

The interesting ones in detail.

T1 — Dominion

Hold at least D(t) per-mille of all cities on the map for Vigil 3.

D is not a flat 60%. It scales with player count by a formula the player can say out loud: half the world, plus a share.

D_start = 500‰ + 500‰ / P
Players D_start On the reference map (48 cities)
2 750‰ 36 cities
3 666‰ 32 cities
4 625‰ 30 cities
6 583‰ 28 cities
8 562‰ 27 cities

Progress is floor(1000 × cities_held / MAP_CITIES). MAP_CITIES is public from turn 1 even though city locations are not — you always know the size of the pie, never where the slices are. Without a public denominator the bar is meaningless, and hiding a scalar buys nothing.

The Ebb. From turn Ds (default 60% of the Horizon → turn 120), D falls on a published schedule to a floor of 501‰, reaching the floor exactly at the Horizon:

D(t) = D_start − floor( (D_start − 501) × (t − Ds) / (H − Ds) )     for t ≥ Ds

On the reference map: 625‰ at t=120, 587‰ at t=145, 536‰ at t=178, 501‰ at t=200.

The floor is 501‰ and not 500‰ so that at most one player can ever satisfy it, which removes a whole class of tie edge cases at the point where they are most likely.

The Ebb does three things. It guarantees termination. It ends stalemates by eventually bringing the bar down to whoever is nearest it. And — the part I care about most — because the schedule is published from turn 1, a player can count backwards to a date: "I hold 26 cities; the bar reaches me on turn 178; I need to survive 12 more turns." That is a scheduled endgame with a known day, which is precisely the thing a fog-of-war conquest game normally cannot produce.

Encourages: broad expansion, then broad defence — because losing two cities breaks a vigil. Breaks if: the map is small. On an 18-city map one city is 56‰ and vigils thrash. Linter rule L3.

T2 — Every Last City

Hold all of them. It is the purist option and it is the name of the game, which is a joke I am making on purpose: the title names the thing the design spends most of its effort refusing to make you do. It stays in, because some people want it and they are entitled to it, and because being honest about what it costs is better than pretending it does not exist. Its setup card carries a plain warning and force-enables Capitulation: Aggressive.

T4 — Hegemony

The map generator partitions the map into M named Regions, each with a named regional capital. Hold every city in K regions.

This is a genuinely different strategic shape from Dominion and that is why both exist. A player with 55% of the cities scattered opportunistically across every border has zero regions. Hegemony rewards clean borders and consolidation; Dominion rewards breadth. A setup that enables both asks the player to choose a doctrine.

Legibility is unusually good here: the map paints each region by completeness, so a region at 7-of-8 is visibly, achingly close, and everyone can see it.

T5 — The Keys

L Landmarks are seeded at generation (5 medium, 7 large — always odd). A Landmark is a city with a marker: better defensive terrain, higher Standing value, and a name. Hold K of L for Vigil 6. K = (L+1)/2, so 3 of 5 — already the uniqueness floor, so it does not Ebb.

Landmark locations are public to everyone from turn 1. This is a deliberate departure from fog purity and I will defend it directly: fog exists to hide what your opponent is doing, not what the world is. A general knows there is a mountain pass called the Iron Gate; he does not know who is marching to it. Publishing the Landmarks is what lets the game have known battlefields, and known battlefields are the single most effective anti-tedium device available — the war has an address before the war starts, and both sides can plan toward it from turn 1.

The long Vigil (6) is intentional. Keys should be fought over for a while, not sniped.

T6 — Ascendancy

Variant that solves fortress-squatting. At any time A of the L Landmarks are Lit (default 3 of 5), rotating every 12 turns. At each rotation there is a Tally: you score 1 Ascendancy point per Lit Landmark you hold at that Seal. First to 7 points wins.

The rotation schedule is derived from the game seed at generation and is published two rotations (24 turns) ahead. Everyone knows the Iron Gate lights on turn 96. Everyone can be there.

This is my favourite Track, because it manufactures scheduled crises on a metronome: sixteen tallies in a 200-turn game, each one a known date on which a known place matters. It rewards operational mobility over fortification, and it makes turtling actively lose.

T7 — The Great Work

A player designates a Work Site and pours production into it: 900 accumulated output. That is roughly 45 turns at a healthy 20/turn contribution.

Why this Track earns its place: it inverts the endgame. Instead of hunting for a hidden loser, everyone converges on a known place. The last twenty turns of a Great Work game are the best twenty turns in the design.

T9 — The Horizon

At turn H, highest Tenure wins. On by default in every preset; the linter shouts if you turn it off.

Resolving on Tenure rather than current Standing is deliberate and important. Tenure cannot be sniped on the last turn — you cannot buy the game on turn 199 with a desperate offensive, because the score you are being judged on was accumulated across 199 turns of actually holding things. It makes the readout a trend line rather than a snapshot, and it makes the final twenty turns about defending a record, which is a real strategic problem, instead of about a scoring spree, which is not.

Tie chain: Tenure → Standing → cities held → fewest units lost → lowest seat index.

T11 — Charters (per-player public objectives)

Asymmetric mode. Each player gets their own Track, visible to everyone. Red must reach Dominion 550‰; Blue must hold 4 of 7 Keys; Green must finish a Great Work; Gold must lead Tenure at turn 150.

The value here is information, not variety. Knowing that Green must go for Landmarks tells you where Green will be for the entire game. That is enormously richer than "everyone wants everything," and it gives a three-way game the texture of real strategy rather than free-for-all.

Charters are not equally hard, so each carries a Weight (1–5) and heavier Charters grant a setup handicap (an extra starting city, or a production head start). The weights are guesses. Say so; calibrate from self-play.

Two modes: Additional (shared Tracks also live) and Exclusive (only your Charter can win it for you). Exclusive is the more interesting game and the more fragile one.

T12 — Sealed Orders (secret objectives)

Secret victory conditions are usually a mistake, because being surprised by a loss is the worst experience a strategy game can deliver. Three rules make them safe:

  1. A Sealed Order can never win the game by itself. It grants Ambition points (Minor 1, Major 2, Grand 3) toward a public track; first to 5 Ambition wins. Ambition is also obtainable publicly through Warrants, so the track is never purely hidden.
  2. It auto-reveals at 60% progress. Nobody is ever surprised by a win. The reveal is the mechanic — it is the moment the table finds out what Green has been doing on that worthless island for thirty turns.
  3. Their existence and difficulty class are public from turn 1. "Green holds two Sealed Orders, one Major." You know the shape of the threat without knowing its content.

Encourages: reading opponents' unexplained behaviour. Off by default in competitive presets.

T13 — Warrants (objectives that do not end the game)

The direction brief asks for objectives that create mid-game tension rather than only ending the game. Warrants are the direct answer, and they are the reason this is a system rather than a terminating check.

Every 15 turns the game publishes 1–3 Warrants, generated deterministically from the seed and announced 5 turns before they open, with a 15-turn deadline:

They inject scheduled conflict into the boring middle third. They pull players out of turtles, because an uncontested Warrant is free value and a contested one is a battle everyone chose to have. And they give the mid-game a rhythm — the flat stretch from turn 60 to turn 130 is the part of every long strategy game that sags, and this is the part of the design aimed squarely at it.

The rubber-banding question. Half the Warrants can be Contested: closed to the current Tenure leader. In-world that is the leader's rivals coordinating against them, which is at least an honest fiction. But this audience — Shadow Empire and Old World players — tends to resent being nannied. So it is an option: Warrants: Open / Contested / Mixed, Mixed in casual presets, Open in Tournament. I lean toward Open being right for the core audience and Mixed being right for the median buyer, and I do not think I can settle it without data.

T14 — Throne

Each player has a Seat. Losing it is severe but not fatal: you may re-Seat in another city after 6 turns, at a cost, and while Seatless you suffer a command penalty. The Track: hold every rival's Seat for Vigil 3.

Very few, very high-value, publicly-known targets. It is the fastest Track in the catalogue, which is what makes it the backbone of the short presets.


4. Combination rules

  1. Conditions are a set, all live simultaneously, for all players (except Charters and Sealed Orders, which are per-player).
  2. First Track to complete wins.
  3. Completion is evaluated once per turn, at the Seal — after the entire activation queue has been walked, never mid-queue. This matters a great deal given the pipelined activation model in §4 of the direction brief: if victory were checked mid-queue, a player could win because their unit had a lower creation sequence number, and a turn model chosen to reduce waiting would have silently become a turn model that decides games. Evaluating at the Seal makes victory turn-atomic and independent of activation order. A city captured and recaptured within one turn nets out; only the Seal state counts.
  4. Simultaneous completion of different Tracks resolves to higher Tenure, then the standard tie chain. One rule, no precedence table, and it means something defensible: the player who has been ahead longer.
  5. Simultaneous completion of the same Track resolves to higher raw progress, then Tenure.
  6. Vigils are independent and concurrent. Two players can both sit at 2-of-3 on Dominion. Only one can satisfy Dominion at the Ebb floor (501‰), by construction.
  7. Vigil break resets to zero.
  8. Only Sealed Orders may be hidden, and only under the reveal rules in T12.
  9. Teams aggregate holdings and share Tracks and Tenure; a team wins as a unit.
  10. Last Standing (T3) cannot be disabled. If one player remains, they have won. This is the only non-optional Track.

5. Legibility, part one: the Terms (setup)

A wall of fourteen conditions with parameters is its own failure. The setup screen is designed around three ideas.

Cards, not checkboxes. Each Track is a card: name, one plain-English sentence, at most three parameters, and three icons — Length, Aggression, Complexity — on a 1–5 scale. You should be able to read a card in four seconds.

A generated Terms paragraph. Below the cards, in prose, the game states what you just built:

This game ends when a player holds 30 of the map's 48 cities for 3 turns; or holds 3 of the 5 Landmarks for 6 turns; or at turn 200, when the highest Tenure wins. From turn 120 the Dominion requirement falls to 25 cities. Broken players surrender automatically after 3 turns. Estimated length: 90–160 turns.

That paragraph is the single most valuable object on the screen. If a player reads nothing else, they know what they signed up for.

Estimated length is real, not vibes. It comes from a shipped calibration table — median_turns[track][map_class][players] plus 20th/80th percentiles — generated at build time from ≥2,000 headless AI self-play games per cell. The deterministic headless core makes this cheap and the CI pipeline can regenerate it when balance changes. It is an integer lookup at runtime.

5.1 The Setup Linter

The combination rules in §4 are simple; the consequences of combining conditions carelessly are not. So the setup screen lints them, with concrete, numeric messages.

# Check Trigger Message
L1 Dead condition A Track's estimated completion turn exceeds the Horizon "Endurance (T=280) can never fire before the Horizon (200). It will never happen."
L2 Dominated condition A Track's median is >60 turns later than the fastest enabled Track "Great Work (est. 130) will rarely matter. Throne (est. 55) ends most of these games."
L3 Shatter risk MAP_CITIES < 24 and a per-mille Track with Vigil ≥ 3 "18 cities means one city is 56‰. Vigils will thrash. Raise the city count or lower the Vigil."
L4 No clock Horizon off and no Ebb-enabled Track "Nothing forces this game to end. Expect stalemates."
L5 Turtle lock A survival Track with no shorter-clock aggressive Track "Nobody has a reason to attack before turn 280."
L6 Mop-up Every Last City with Capitulation: Never "You have chosen the longest ending and disabled the mercy rule. This is a 400-turn game."
L7 Kingmaking Charters: Exclusive, 3+ players, Charter Weight spread > 2× "Gold's Charter is rated 5, Blue's is rated 2. Consider handicaps."
L8 Landmark scarcity K > L, or L < 3 with a Landmark Track enabled "3 of 2 Landmarks is unreachable."
L9 Redundancy Two Tracks whose medians are within 10 turns and whose progress correlated >900‰ in calibration "Prosperity and Dominion will finish together on this map. One of them is decoration."

L9 is the one I most want to exist and am least sure I can compute honestly — see §12.


6. Legibility, part two: the Watch, the Board, the Alarm

6.1 The fog problem, and the answer

There is a real conflict: if you show everyone's exact progress, the scoreboard becomes a free intelligence oracle. "Red went 458‰ → 479‰ this turn, that's one city, so their army is in the north." You have handed away fog through the back door.

The answer is quantization that tightens as the stakes rise. Progress is public but its precision depends on how close the player is to winning:

Band Range (progress ÷ threshold) What everyone sees
Rumour 0–49% A coarse word and a stubby bar: "Green — modest." No number
Report 50–89% Rounded down to the nearest 5%: "Red — Dominion 70%"
Alarm ≥ 90%, or any active Vigil Exact value, exact Vigil countdown, and the locations that are doing it

This is the compromise done properly rather than split down the middle. Early, when information would leak troop movements, it is coarse. Late, when a player must be able to react, it is exact and loud. And there is an in-world reading that is not embarrassing: the world notices when someone is about to win.

Option Progress Visibility: Banded / Public / Own Only, Banded by default, Public in Tournament.

6.2 The Alarm and the World Watches

When a player enters Alarm, three things happen:

  1. A full-width banner with a countdown: "RED HOLDS THREE KEYS — VICTORY IN 4 TURNS."
  2. The contributing sites are named and listed, clickable to jump the camera.
  3. Every player is granted live vision of those sites, including their garrisons, for the duration of the Alarm plus a 2-turn grace period after it clears.

Rule 3 is a large fog concession and it is the correct one. The failure being prevented is precise: the leader is about to win, I want to stop them, and I cannot find the thing I need to attack. A hidden win condition on a 2,000-tile map is not tension, it is a formality. The Alarm hands every player the address of the fight. That is what makes the last twenty turns a battle rather than a search — and a leader who reaches Alarm has, by design, accepted that they will be fought at a known place.

6.3 The Watch — always on screen

One compact strip, roughly forty pixels, never dismissed. One row per player, showing the Track they are nearest to completing:

 ● RED     ████████████░░░  Dominion    562‰/536‰   VIGIL 2/3   Tenure  15,140 ▲
 ● BLUE    ███████░░░░░░░░  Keys 2/3                            Tenure  11,410 ▲
 ● GREEN   ████░░░░░░░░░░░  Dominion    modest                  Tenure   6,020 ▼
 ○ GOLD    capitulated t141                                     Tenure   3,190 —
                                        Ebb: 536‰ → 501‰ by t200 · Horizon t180/200

Four facts per player, no clicking. Who is closest to what, by how much, and whether they are rising or falling.

6.4 The Board — one keypress

The full matrix: players × Tracks, per-mille of threshold, per-turn delta, Vigil state. Plus:

6.5 The Chronicle

 t131  Red takes Kestrel Bay (Landmark).  Red → Keys 3/3.  VIGIL BEGINS (6).  ALARM.
 t134  Blue takes Kestrel Bay.            Red → Keys 2/3.  VIGIL BROKEN at 3/6.
 t141  Gold capitulates (Broken 3 turns). 3 cities ceded to Red — Unsettled 8 turns.
 t145  Ebb: Dominion 587‰ (29 cities).
 t172  Horizon track DECIDED for Red — Blue and Green can no longer reach 14,880.
 t178  Ebb: Dominion 536‰ (26 cities).  Red holds 27.  VIGIL BEGINS (3).  ALARM.
 t179  Blue takes Ashford.  Red → 26 cities, 541‰ ≥ 536‰.  Vigil holds 2/3.
 t180  Vigil 3/3.  RED WINS — Dominion.

Anyone can reconstruct the whole endgame from twelve lines. That is the legibility target.


7. Worked example: one endgame, every mechanism

Reference map. 4 players. 48 cities, 5 Landmarks, 8 regions, Horizon 200. Tracks: Dominion (625‰, Vigil 3), Keys (3 of 5, Vigil 6), Horizon (Tenure). Capitulation: Standard (C=3). Verdict: on.

t=118. Red 22 cities, Blue 14, Green 8, Gold 4. Dominion progress: Red floor(22000/48) = 458‰ of a 625‰ bar = 73% → Report. Blue 291‰ = 47% → Rumour. Green 166‰, Gold 83‰ → Rumour. Keys: Red 2, Blue 2, Green 1. No Vigils. Tenure: Red 9,140 · Blue 7,020 · Green 4,880 · Gold 2,600.

t=120. The Ebb begins. The Board draws the descending line. Red reads it and gets a date: he holds 22, the floor is 501‰ = 25 cities, so 22 will never suffice — he needs 25 by turn 200, or 30 today. Blue reads the same line and learns he has until roughly turn 178 before 26 cities is enough for Red.

t=131. Red takes Kestrel Bay — his third Key. Keys 3/3, Vigil 6 begins. ALARM. Everyone gets the banner, the three site names, and live vision of Kestrel Bay, the Iron Gate and Sable Reach with garrisons. Blue can now see that Kestrel Bay holds four units and is nine tiles from his staging port.

t=134. Blue lands and takes Kestrel Bay. Red → Keys 2/3. Vigil resets from 3 to 0. Alarm clears; grace vision expires t=136.

This is the design working. A public six-turn countdown created a findable single point of failure, and one successful attack undid three turns of it. Under a classic instant-threshold rule Red simply wins at t=131 and nobody sees it coming.

t=138–141. Gold collapses. Gold falls to 1 city and 15% of peak output at t=138 → Broken. Broken at t=139, t=140, t=141 → capitulates at the Seal of t=141. Gold's units disband. Principal Aggressor: Red has taken 7 cities from Gold across the game, Blue 2 → Gold's remaining 3 cities cede to Red, arriving Unsettled for 8 turns (no output, no production). Gold's Tenure freezes at 3,190 and Gold takes a final placing.

Nobody spent forty turns hunting Gold's last destroyer. Red 26 cities.

t=160. Verdict check — and it correctly fails. Standing: Red 4,180 · Blue 2,510. 4180 ≥ 2 × 2510 = 5020? No — 1.67×, short of 2×. No Verdict. And rightly so: Blue still holds 2 Keys and is one capture from his own Vigil. The trigger is deliberately strict, and it should be visibly capable of declining.

t=172. The Horizon track is mathematically decided. Smax for this map = 4800 (cities) + 750 (Landmarks) + 800 (Seats) + 1200 (max output ×5) = 7,550, plus the military cap floor(7550 × 25/100) = 1,887 → 9,437. Max Tenure gain per turn = floor(9437/100) = 94. Remaining turns R = 28 → ceiling 2,632. Tenure: Red 14,880 · Blue 11,410 · Green 6,020. Blue: 11,410 + 2,632 = 14,042 < 14,880 → eliminated from the Horizon. Green: 8,652 < 14,880 → eliminated.

The Board marks the Horizon track DECIDED — RED. The game does not end: Dominion and Keys are still live and Blue can still win either outright. This is the honest limit of the mathematics and §8.2 says so plainly.

t=178. The Ebb reaches Red. D(178) = 625 − floor(124 × 58 / 80) = 625 − 89 = 536‰ = 26 cities. Red holds 27 (562‰). Dominion Vigil begins (3). ALARM. Live vision of Red's holdings that constitute the threshold.

t=179. Blue's counterattack takes Ashford. Red → 26 cities = 541‰. D(179) = 534‰. 541 ≥ 534 — the Vigil survives at 2/3. One city was not enough this time; Blue needed two.

t=180. D(180) = 532‰, Red 541‰. Vigil 3/3. RED WINS — Dominion, turn 180.

What the classic rule would have done. Total conquest only: at t=118 Red holds 22 of 48 and the game runs past turn 260 while Red ferries stacks to Blue's islands and Green's tundra. This design ended it at t=180 with a contested, visible, three-turn countdown that Blue nearly broke twice.


8. The endgame problem, answered

Four independent mechanisms, each aimed at a different sub-failure from §1.

8.1 Capitulation — kills the mop-up

A player is Broken at a Seal if either:

Continuously Broken for C turns → capitulation at that Seal.

Setting C Use
Aggressive 1 Short presets, Every Last City
Standard 3 Default
Forgiving 6 Comeback-friendly
Never Tournament by request; L6 warns

On capitulation: units disband (no combat, no chase); remaining cities cede to the Principal Aggressor — the player who has captured the most cities from them across the whole game, tie broken by nearest city, then lowest seat index. Ceded cities arrive Unsettled for 8 turns (no output, no production), so the payout is not an instant snowball. If there is no aggressor, cities become garrisoned Free Cities. The player's Tenure freezes and they take a final placing.

Using whole-game captures rather than "who took the last city" is deliberate: it stops a third party swooping the final city to steal a war they did not fight.

8.2 Mathematical elimination — kills decided-but-not-over, provably

For accumulative Tracks — Tenure/Horizon, Ascendancy points, Warrant totals — the remaining ceiling is computable exactly:

ceiling(B) = remaining_turns × max_gain_per_turn
B is eliminated from track X iff  progress[B] + ceiling(B) < progress[leader]

The bound is deliberately loose (it assumes B takes the entire map while the leader gains nothing further), which makes it conservative and never wrong. When every player but one is eliminated on every enabled Track, the game ends immediately and the leader wins.

Honest limitation, stated up front: this does not work for instantaneous-threshold Tracks. There is no sound way to prove that a player with three cities cannot take thirty more in the remaining turns — in principle they can. So Dominion, Keys, Hegemony and Throne can never be closed by arithmetic, only by the Ebb and the Verdict. Any design claiming otherwise is smuggling in a heuristic and calling it a proof. Mine does not.

8.3 The Verdict — a vote, for the cases arithmetic cannot close

At a Seal, all four must hold:

  1. Standing[leader] ≥ 2 × Standing[second]
  2. The leader also leads on Tenure
  3. The leader has held the Standing lead continuously for ≥ 12 turns
  4. No non-leader is currently in any Vigil

Then the game offers a Verdict. Each surviving non-leader votes at their next turn start. Abstention counts as "play on" — the default is always to continue, because a wrongly ended game is far worse than a slightly long one. A majority of surviving non-leaders ends the game with the leader as winner and remaining placings by Tenure. A failed vote imposes a 20-turn cooldown.

Keying on Standing rather than Tenure is deliberate: Standing is current power and predicts the future, while Tenure integrates from turn 1 and moves too slowly for a 2× gap to appear before the game is long over. Tenure is the sanity check, not the trigger.

In solo play this is where most of the value lands. The AIs' votes are deterministic functions of their evaluation and the seed; a beaten AI concedes when it should, and the single-player mop-up — the worst version of the problem — largely disappears.

8.4 The Ebb and the Horizon — kill the stalemate, and guarantee termination

Threshold Tracks drift down on a published schedule to their uniqueness floor (501‰ for Dominion; >M/2 regions for Hegemony; already-floored for 3-of-5 Keys). Two entrenched powers cannot hold each other off forever, because the bar comes down to whichever of them is nearer it, on a date they both knew about a hundred turns in advance.

And the Horizon is a hard backstop with a defined, non-arbitrary resolution. The game provably terminates in at most H turns, always, with a winner determined by a total order (Tenure, then the tie chain). No abandoned games.

8.5 Concession

Always allowed; identical effects to capitulation. The conceder does not choose the beneficiary — the Principal Aggressor rule applies. This does not eliminate kingmaking in a three-player game (nothing can), but it makes the beneficiary whoever actually fought them, which is the fairest available answer, and it removes the ability to concede at someone out of spite. A conceder keeps their frozen Tenure and their placing, so playing on hopelessly has no scoreboard value either.


9. Objectives that are not endings

Worth stating as its own claim, because it is the part most easily lost in implementation:

A victory system should produce events every fifteen turns, not one event at the end.

Five mechanisms in this design fire during play and change what players do without ending anything:

Mechanism Cadence What it produces
Warrants every 15 turns, announced 5 ahead A reason to fight somewhere specific, now
Ascendancy Tallies every 12 turns, published 24 ahead A known place and a known date
The Ebb schedule continuous, published from turn 1 A date on which the game may end
The Alarm on demand A public target with free vision
Great Work milestones at 50%, then continuous A convergence point everyone can see

The turn-60-to-turn-130 sag is the worst stretch of every long strategy game. Roughly nine Warrants and six Tallies land in it.


10. Presets

Preset Tracks Horizon Capitulation Est.
Skirmish Dominion 550‰ (V2), Throne 80 Aggressive 40–70
Blitz Throne, Keys 2-of-3 (V3), Ebb from t35 60 Aggressive 35–60
Standard War (default) Dominion (auto by P, V3), Keys 3-of-5 (V6), Warrants Mixed 200 Standard 90–160
Long War Hegemony 5-of-8, Dominion, Great Work, Warrants Open, Ebb from t200 320 Standard 180–320
The Keys Ascendancy 7, Keys 3-of-5 150 Standard 70–120
Intrigue Charters (Additional), Sealed Orders ×1, Warrants Mixed 180 Standard 100–180
Every Last City Total conquest only 400 Aggressive (forced) 200–400
Tournament Dominion, Keys, Horizon. Visibility Public. Warrants Open. Sealed Orders off. Verdict requires unanimity 200 Never (L6 acknowledged) 120–200

Every preset except Every Last City and Tournament runs the Verdict and the Ebb. A player who never opens the Terms screen gets Standard War, and Standard War is a good game.


11. Why this beats the classic approach


12. Tradeoffs and honest costs


13. What could go wrong, and how playtesting would catch it

The deterministic core is the strongest testing asset this design has, because most of these checks are counterfactual replays: re-run the exact game with one rule disabled and compare. That is unusual and I want to lean on it hard.

Risk Metric Target If it fails
The whole thesis is wrong — games are still decided early Dead-time fraction: find t_dec, the last turn after which the eventual winner was always the Tenure leader; report (end − t_dec) / end median < 15% This is the headline metric. If it exceeds 25%, the Verdict trigger is too strict or the Ebb starts too late
Vigils are decorative Fraction of started Vigils broken before completion 30–55% <15%: thresholds too easy or defence too strong. >80%: nothing ever completes and every game goes to the Horizon
One condition eats the game Share of games ended by each enabled Track, per preset no Track > 60%; every enabled Track ≥ 5% If a Track is under 5%, L2 should have fired at setup and did not
Alarms come too late to matter Median turns from first Alarm to game end 6–20 ~0 means the Alarm is a death notice, not a warning; raise the band from 90%
The mop-up survives Turns between the winner becoming unassailable and the game ending median < 8 Loosen Capitulation or the Verdict
Capitulation false positives Replay each capitulation with C = ∞. How often would the player have recovered? < 5% The Broken definition is too aggressive. Directly measurable because the sim is deterministic
Verdict false positives Replay each passed Verdict with the vote forced to fail. How often does the "winner" lose? < 10% Tighten the Standing ratio above 2×
The Ebb ends games arbitrarily Fraction of wins where the winner crossed only because the threshold moved, not because they gained < 25% The Ebb is deciding rather than unblocking; start it later
Warrants kingmake Correlation between Warrant claims and final placing, Open vs Mixed Mixed should not invert outcomes If Mixed flips winners, it is rubber-banding, not tension
Charters are unbalanced Win rate by Charter, ≥2,000 games per Charter within ±8 points of even Adjust Weights and handicaps
Nobody can read the Watch Show a mid-game screenshot; ask "who is winning and how close are they?" 90% correct in 10 seconds Not automatable, and the most important test in the table

14. Open questions I could not settle

  1. Vigil reset or decay? Reset is more dramatic and more punishing. I lean reset; I have no data and the argument for decay is decent.
  2. Should Standing count military at all? Excluding it makes horizon-eve suicide attacks free. Including it rewards hoarding. The ÷4-capped-at-25% compromise is a guess, and the cap in particular is unfounded.
  3. Is a hidden Horizon better? "The war ends somewhere between turn 180 and 220, exact turn unknown" would prevent last-turn optimisation entirely and is genuinely tempting. It is also much less legible, and legibility is the other half of the brief. Unresolved.
  4. Prosperity may be a shadow of Dominion. Whether it is a distinct strategic shape depends entirely on how strongly the economy subsystem couples output to supply and development. If a sprawling 60%-of-cities empire can sit at 40% of potential output, they are different games. If not, Prosperity should be cut.
  5. Does the Alarm's vision reveal hand a coalition a free strike? In a six-player game the leader entering Alarm may be jumped by five opponents with perfect information. That might be exactly right (winning should be hard) or it might mean nobody ever dares cross 90%, which would be a disaster.
  6. Cede or free? Capitulation cession is clearly correct in a duel. In a five-player game handing three cities to the Principal Aggressor may be the largest single swing in the match. Free Cities may be better above four players.
  7. Charter Weights and handicaps are pure invention. There is no defensible number here before self-play data exists.
  8. Ambition needs its own numbers. First-to-5 with Minor/Major/Grand worth 1/2/3 is a sketch, not a design.
  9. Teams and Tenure. Whether a team's Tenure is the sum of members' or the sum of the team's aggregate holdings changes what a sacrificial team member is worth. Not settled.
  10. How does the Verdict work in async cloud play, where a vote may take days? Probably a default-to-"play on" timeout, but that makes the Verdict nearly useless in the mode where long games hurt most.

15. Contracts — what this subsystem needs from others

From What
Map generation Public MAP_CITIES; L Landmark sites with public locations and names; M named Regions partitioning all cities; one Seat per player; a seed-derived, reproducible Ascendancy rotation schedule and Warrant schedule
Cities An unambiguous owner at each Seal; a definition of "held" that covers besieged/contested/neutral states; the ability to mark a city Unsettled for N turns (no output, no production)
Economy Integer empire output per turn per player; the map's total potential output (for Prosperity); an accumulating construction sink for the Great Work with a halve-and-relocate operation
Units Integer build cost per unit; an in-supply flag; mass disband on capitulation
Turn engine A Seal: a single barrier point per turn, after the full activation queue has been walked, at which victory is evaluated and Tenure accrues. Under overlapping-window activation (§4 reading B), all players must reach the Seal before the next turn opens
Orders / event log Verdict votes and concessions are logged orders, so replays and desync detection cover them
AI A deterministic Verdict vote policy derived from evaluation plus seed; Charter- and Sealed-Order-aware evaluation
Build pipeline Headless self-play batches (≥2,000 games per calibration cell) regenerating the length-estimate table and the linter thresholds, gated in CI so balance changes cannot silently invalidate them
Client The Watch (persistent strip), the Board (panel), the Alarm (banner + forced vision), the Chronicle (log), the Terms (setup with generated prose, estimates and linter)