Production, Logistics and the Anti-Snowball Problem
A design proposal for the economy of Every Last City: what a city is worth, how it produces, how a player commands forty of them without drowning in clicks, and how a runaway leader is slowed by something they can see coming.
All numbers here are mine. They are chosen to hit stated targets and every one of them is arguable; where I am guessing I say so. Nothing in this document is derived from any existing game's data.
1. The problem
Three problems, really, and they are the same problem viewed from different angles.
Conquest compounds instantly. In a game whose whole loop is "cities make units, units take cities," capturing a city is a double swing: +1 producer for me, −1 for you. Nothing else in the game has that shape. Left alone, the first player to get ahead gets further ahead every turn, and by turn 90 the remaining four players are playing out a decided position on a map too big to concede quickly.
The classic fix is a lie told to the player. Slowing production as unit count rises is mechanically effective and experientially awful. It has no in-world referent, so it cannot be reasoned about; it punishes you for the thing you were told to do; it is invisible until you notice your cities have quietly become worse; and — worst — it is uncounterable. There is no play that beats it. You can only suffer it. The direction brief names this (§6) and it is correct to.
But "no brake at all" is not the answer either. A game with pure compounding is decided early and then performed. The audience for this game — people who play Shadow Empire and Old World and will happily read a rules page — do not want the brake removed. They want the brake to be terrain they can navigate.
So the design target is precise:
A constraint on growth that is drawn on the map, priced in numbers the player can read, paid in units the player can see, and beatable by a player who plans better than their opponent.
Everything below serves that sentence.
2. The design in one page
Four brakes, each an in-world system, each with its own counterplay. They interlock, and the interlock is the point: no single one is punishing enough to feel like a tax, and together they compress an 8× territorial lead into roughly a 3× military one.
Works — local, fast, transfers on conquest. Each city has a Works rate. It is spent in that city, on that city's queue, and cannot be moved. Take a city, get its Works. This is the reward and it stays generous, because conquest must pay.
Manpower — national, slow, does not transfer on conquest. A single national pool of people. Units cost Works and Manpower. A conquered city's population contributes nothing to your levy until it is integrated, and integration takes tens of turns. You capture their factories immediately and their people never quite in time. This is the single most important idea in the proposal.
Cadre — the administrators, and they are units on the map. Integration only proceeds at speed when an Administrative Cadre is physically stationed in the city. Cadre are built in your production queues at a cost that escalates with each one you own, they walk to the front at 1 tile per turn, and they can be killed. Your rate of conquest is capped by a visible convoy of bureaucrats crawling along behind your armies. Nothing about this is hidden.
Reach — supply as geography. Cities and forward Depots project supply a measured distance. Beyond it units slow, stop healing, fight worse, and eventually melt. An attacker 40 tiles from their integrated core is fighting a different game from a defender standing on their own ground.
And one asymmetry that does more anti-snowball work than any of them:
Loyalty memory. A city remembers the highest integration each player ever achieved in it. When its original owner retakes it, integration is restored in full and unrest is zero. The invader spent 25 turns of a Cadre's life to make that Metropolis produce; the defender gets it all back the turn they walk in. Counterattacking into your own homeland is the strongest move in the game, which is exactly the pressure release a snowballing game needs.
3. Two resources, and why not one or three
The brief asks me to argue this rather than assume it. Here is the argument.
Why not one
A single-resource economy cannot express the one thing this game most needs to express: that conquering a city's industry is not the same as conquering its people. With one resource, a captured city is a fraction of a producer, and the only dial available is what fraction — which is just the invisible tax again, wearing a hat. The distinction between "their factory works for me now" and "their sons do not" requires two quantities, because it is a statement about two different things moving at two different speeds.
Two resources also gives units a two-dimensional price, which means the army you can field is determined by the shape of your empire, not just its size. That is free strategic texture. See §9.4 for the striking version of this: the fast conqueror is forced to mechanise, because the people they conquered will not carry a rifle for them.
Why not three
The obvious third axis is fuel, or materiel, or ammunition — some consumable that must be moved to the front. I reject it, and not on complexity grounds alone: it is redundant with Reach. The job a fuel economy does is make operating far from home expensive and make cutting an enemy's rear decisive. The supply system in §7 does that job already, using zero additional ledger entries: no per-unit stock, no convoy routing, no depot inventory. Adding fuel on top would buy a second, worse copy of an effect we already have and would charge the player a per-unit bookkeeping tax for it.
If a later design wants a third axis, the argument to make is that it does something Reach and Manpower do not — not that it is thematic.
Keeping the second resource cheap
Manpower earns its place because it is deliberately built to be almost free to operate:
- One national number. No per-city stock, no storage, no transport, no routing.
- Three rules total. It accrues from integrated population; it is spent when a unit is commissioned; a unit disbanded in a supplied friendly city refunds 60% of it.
- It is a stock, not an upkeep. Living units hold their manpower; they do not drain it every turn. There is no recurring bill to track, and critically no per-unit penalty for having a large army — the thing we are specifically trying not to build.
- It has exactly one failure mode, and it is a good one: Awaiting Levy (§6.5), where the tank is built and there is nobody to crew it. That state is visible, self-explaining, and converts a shortage into a prioritisation decision instead of a silent slowdown.
Manpower does not decay, is capped at 10× your current levy rate (so a turtle cannot bank 500 points for turn 200 — surplus levies "return to the fields"), and never needs to be looked at except when queueing.
4. What a city is worth
Cities are a fixed, finite map resource. Players cannot found new ones. The title is Every Last City; the scarcity of cities is what makes them contested, and a builder economy would quietly turn this into a different genre. The itch to build is served by Depots and Works Expansion instead.
Three classes
| Class | Works | Population | Supply Reach | Garrison needed (by integration) | Traits |
|---|---|---|---|---|---|
| Town | 6 | 20 | 8 | 2 pts below Int 50, else 0 | 0–1 |
| City | 12 | 50 | 12 | 4 below Int 34 · 2 below Int 67 · else 0 | 1–2 |
| Metropolis | 20 | 120 | 18 | 6 below Int 25 · 4 below 50 · 2 below 75 · else 0 | 2–3 |
Three classes, not five: a player should be able to read a city's rough worth from its map icon without a tooltip.
Levy (manpower per turn) = floor(Population × Integration / 1000). A fully integrated
Metropolis yields 12/turn, a City 5, a Town 2. Note the per-city floor division: a city below
Integration 20 yields literally zero manpower, which is deliberate and does a lot of work.
Effective Works = floor(base × (20 + floor(4 × Integration / 5)) / 100). That is 20% of base
at Integration 0, rising linearly to 100%. The 20% floor exists so that capturing a city is worth
something this turn — conquest must feel like it paid — while the other 80% is the prize you have
to earn by governing.
What one is actually worth: the payback target
The tuning anchor I want the whole economy calibrated against:
A captured City should repay its full capture-and-integration cost in 25–35 turns of a 200-turn game, and be strongly profitable after.
For a City: taking it costs perhaps two infantry lost (80 W / 48 M), 13 cadre-turns (amortising a Cadre worth ~450 W over its working life), and two militia on garrison for those 13 turns (48 W / 20 M, recoverable). It returns ~2 Works/turn immediately, ramping to 12 Works + 5 Manpower per turn forever. That lands inside the window. Conquest is a good investment; it is just not an instant one, and the delay is where the game lives.
Traits — why cities are not interchangeable
Each city carries 0–3 traits, shown as icons on the map and visible to anyone who has scouted it. Traits are the reason a specific city is worth a campaign.
| Trait | Effect |
|---|---|
| Foundry | Armour and artillery classes cost 25% less Works here. |
| Shipworks | Coastal. The only place heavy hulls can be built; other ports build light hulls only. |
| Aerodrome | Air units cost 20% less Works and repair fully here. |
| Farmland | Population growth 50% faster; base Works −25%. |
| Railhead | This city's Reach +8; Depots built here cost half. |
| Citadel | Garrison requirement halved; defensive bonus; but Unrest on capture +20 (a proud city). |
| Academy | Cadre built here cost 25% less, and every city of yours within 12 tiles gains +1 Integration/turn even with no Cadre present. |
| Quarry | Works +50%, Population −50%. Industrial, thinly peopled. |
| Free Port | Coastal. Sea Reach doubled; naval units repair fully in one turn. |
The Academy is the standout. Its aura makes it a strategic prize far beyond its Works — capturing the enemy's Academy slows their whole digestion rate and speeds yours. That is the kind of objective that makes a map interesting to fight over, and it is exactly the sort of thing a fixed-value city list cannot give you.
5. Production mechanics
A city accrues its effective Works into a Yard each turn. When Yard ≥ the head item's cost, the unit completes and the surplus carries forward (carry-over capped at one turn's Works, so you cannot bank a battleship in a village). Manpower is drawn at completion, not during construction.
Illustrative costs — the roster is another designer's problem, but the economy needs anchors, and the ratios are the load-bearing part:
| Unit | Works | Manpower | W:M ratio |
|---|---|---|---|
| Militia | 24 | 10 | 2.4 : 1 |
| Infantry | 40 | 24 | 1.7 : 1 |
| Artillery | 90 | 20 | 4.5 : 1 |
| Armour | 120 | 16 | 7.5 : 1 |
| Fighter | 100 | 6 | 16.7 : 1 |
| Bomber | 240 | 14 | 17.1 : 1 |
| Destroyer | 160 | 30 | 5.3 : 1 |
| Transport | 200 | 18 | 11.1 : 1 |
| Carrier | 600 | 70 | 8.6 : 1 |
| Administrative Cadre | 150 × (2+N)/2 | 20 × (2+N)/2 | escalating, N = Cadre owned |
| Depot | 60 | 4 | — |
| Works Expansion (+2 Works) | 150 / 250 / 400 | 0 | max 3 levels |
The critical relationship: an empire's own Works-to-Manpower supply ratio runs about 1.7:1 for a populous Metropolis to 3:1 for a Town-heavy or Quarry-heavy one, clustering near 2.2:1. Infantry at 1.7:1 is below that, so infantry masses are manpower-bound. Armour at 7.5:1 is far above it, so mechanised forces are works-bound. Which army you can field is therefore dictated by the shape of the empire you hold — and that is what makes the second resource pay for itself.
Militia deserve a note. 24 W / 10 M, count 2 garrison points, cannot leave their home city's tile, defend only. They exist so occupation is paid in a cheap, dedicated, zero-management currency rather than by stranding good infantry. The cost is still real — 47 militia is 1,128 Works and 470 Manpower — but the player is not clicking through fifty idle rifle companies every turn.
Emergency Levy. A city with Integration ≥ 50 may convert 10 Population into 20 Manpower, permanently. +25 Unrest, once per 30 turns. For a Metropolis this trades 1 levy/turn forever for 20 now — a 20-turn payback, correctly priced as a bad deal you take anyway when you are fighting for your life. It is deliberately a loser's button: a player who is winning has no reason to press it, and a player about to lose their capital has every reason. Giving the underdog a burst lever that the leader will not use is worth more to game health than its complexity costs.
Managing forty cities without clerical work
This is a first-class design problem, not a UI afterthought. The governing rule:
The player should never have to visit a city that has nothing wrong with it.
Four mechanisms:
Standing production. Every queue may end in a repeating item. A newly captured city automatically adopts your default order for its class and traits. No city is ever idle by accident.
Doctrines. A named production ratio — "Northern Doctrine: Infantry 3 : Artillery 2 : Armour 1." Assign a Doctrine once and cities fill their queues from it forever, respecting what each city can actually build.
Theatres. The player partitions their cities into named Theatres (by drawn region or "everything within N of here"). A Theatre owns a Doctrine, a rally point, and a priority. Units built anywhere in a Theatre receive a standing move order to the rally point. This single feature removes most late-game clerical load: you set Northern Front: armour doctrine, rally at Hill Fort, priority 1 and twelve cities feed that front indefinitely without another click.
The Order Board. One screen, rows by Theatre, managed by exception. It surfaces only: cities idle, cities Awaiting Levy, cities under-garrisoned, cities whose Unrest is rising, Cadre without an assignment, and revolt countdowns. If the board is empty, there is nothing to do, and the player should trust that.
Priority resolution. When Manpower is short, completed hulls sit in Awaiting Levy. At the top of each round the engine pays out manpower in (Theatre priority, then city index) order until the pool runs dry. Deterministic, visible, and it converts scarcity into a decision the player already expressed.
6. Occupation: Integration, Unrest, and the Cadre
This is the anti-snowball engine.
Integration
Every city you hold has Integration (0–100) and Unrest (0–100). On capture, Integration
starts at floor(Loyalty / 2) — see §6.4 — and Unrest starts at 30 (Town) / 50 (City) / 70
(Metropolis), +20 if the city has the Citadel trait.
Integration per turn, provided the garrison requirement is met:
| Condition | Town | City | Metropolis |
|---|---|---|---|
| Cadre stationed | +12 | +8 | +4 |
| No Cadre, Unrest < 30 | +1 | +1 | +1 |
| Unrest ≥ 50 | 0 | 0 | 0 |
| Modifier: within Reach of your supply network | +2 | +2 | +2 |
| Modifier: hostile units within 3 tiles | −3 | −3 | −3 |
| Modifier: within 12 tiles of your Academy | +1 | +1 | +1 |
Full integration with a Cadre: 9 turns for a Town, 13 for a City, 25 for a Metropolis. Without a Cadre a Metropolis takes a hundred turns, which is to say: not on any timescale that matters.
Taking an enemy capital is a project, and that is the intent.
Unrest
Falls 4/turn when garrisoned; rises 6/turn when not; rises 5/turn while hostile units are within 3 tiles; rises 15 when partisans win an engagement. At Unrest ≥ 90 for two consecutive turns the city revolts — with a visible two-turn countdown on the map and the Order Board, never a surprise. A revolted city goes neutral with a militia defender, unless its original owner has a unit within 6 tiles, in which case it returns to them.
Cadre — the mechanism I am most confident about
An Administrative Cadre is a non-combat unit. Move 1. No attack, no defence. Destroyed if an enemy enters its tile. It may not move adjacent to a known enemy unit unless stacked with a combat escort. It is built in any integrated City or Metropolis and its cost escalates with the number you already own (built or building):
| Cadre # | Works | Manpower | Cumulative Works |
|---|---|---|---|
| 1st | 150 | 20 | 150 |
| 3rd | 300 | 40 | 675 |
| 5th | 450 | 60 | 1,500 |
| 7th | 600 | 80 | 2,625 |
| 10th | 825 | 110 | 4,875 |
| 13th | 1,050 | 140 | 7,800 |
Withdrawing a Cadre freezes integration rather than reversing it (it decays 1/turn only if Unrest > 40 or the city is out of supply), so redeploying is a real option, not a punishment.
Why this shape. Cumulative cost for N Cadre is ≈ 37.5 N², so N ≈ sqrt(spend / 37.5). If a
player devotes a constant fraction of Works to administration and Works grows with empire size S,
then N ∝ sqrt(S·T) while the demand for integration grows as S. Digestion capacity per city
therefore scales as sqrt(T/S) — it declines as you grow, sublinearly, with no hidden multiplier
anywhere. The brake tightens the faster you expand, and it does so through a price on a screen.
This is the honest version of the thing the classic design was trying to do. Same curve shape. Completely different experience, because every term in it is a number the player chose.
Loyalty memory
Each city records, per player, the highest Integration that player ever reached there.
- A new conqueror starts at
floor(Loyalty / 2)— so ping-ponging a city is not maximally punishing, and second captures are cheaper than first. - The city's original owner retaking it restores Integration to their full remembered Loyalty and sets Unrest to 0. Their people are simply glad they are back.
I want to be explicit about how strong this is, because it is intentional. An invader spends 25 cadre-turns making an enemy Metropolis productive. The defender walks back in and has it at full value the same turn. Deep conquest is structurally fragile and homeland defence is structurally cheap. This is the release valve that keeps a losing player's counterattack meaningful into turn 150, and it is entirely intuitive — nobody needs the rule explained twice.
Razing, and why it is not the dominant answer
A player who finds integration too expensive might just burn cities. Razing takes a unit's full turn, permanently destroys the city's Works, kills its population, and inflicts +30 Unrest on all your cities within 10 tiles. But the real reason razing stays niche is structural: an un-integrated city is already a tribute state. It yields 20% Works for the price of a garrison. Razing trades that small permanent income for nothing. It remains correct in exactly one situation — an indefensible city you cannot garrison and do not want the enemy to reclaim — which is a legitimate and interesting niche rather than a degenerate strategy.
7. Reach: supply as drawn geography
Supply is the brake that makes distance cost something, and it must be visible as a map overlay: green (supplied), amber (extended), red (isolated). If a player is ever surprised by their supply state, the overlay has failed.
Sources. Any city at Integration ≥ 50 projects supply to its Reach (Town 8, City 12, Metropolis 18, measured in terrain movement cost). Note the threshold: a freshly captured city does not supply your army. Your offensive's tempo is bound to your integration tempo. Coastal cities project double Reach over water tiles.
Depots. 60 Works / 4 Manpower. Built in a city, moves at 1 tile/turn, emplaces over one turn into an immobile structure projecting Reach 10. A Depot must be in supply to emplace and remains a source only while its own path home is intact — so a chain of Depots is exactly as strong as its weakest link, and cutting one collapses everything behind it. Depots are the player's lever for pushing an offensive beyond their integrated territory, and they are cheap enough to use freely and fragile enough to be worth raiding.
Propagation is a cost-limited flood fill over passable terrain, blocked by enemy zones of control. Tie-broken by tile index so it is canonical.
Grades and effects:
| Grade | Condition | Movement | Combat | Repair | Attrition |
|---|---|---|---|---|---|
| Supplied | within Reach | full | full | 20%/turn in city | none |
| Extended | within 3/2 × Reach | −1 | ×7/8 | none | none |
| Isolated | beyond, or path cut | −2 (min 1) | ×3/4 | none | 5/10/15/20/25% of max strength per consecutive turn, capped at 25% |
Escalating attrition means an encircled pocket dies in six to eight turns: long enough to break out or be relieved, short enough that encirclement is a real victory. Units reduced to 0 strength surrender rather than dying, which matters for the tone.
8. Worked example: five cities against forty
Turn 60. Three positions, all computed with the rules above.
Vela holds her five starting cities — 1 Metropolis, 2 Cities, 2 Towns — all at Integration 100, compact, entirely within her own supply.
Corvain the Blitzer started with the same five and has taken 35 more between turns 20 and 60. He bought 7 Cadre along the way (2,625 Works and 350 Manpower — roughly a quarter of his lifetime production). Those Cadre have fully digested 12 Towns and 1 City; the remaining 22 cities (6 Metropolis, 13 Cities, 3 Towns) sit at around Integration 20.
Corvain the Consolidator is the same player in a counterfactual where he took only 15 cities instead of 35, with the same 7 Cadre, and has nearly digested all of them.
| Vela | Blitzer | Consolidator | Blitzer at T+90 | |
|---|---|---|---|---|
| Cities | 5 | 40 | 20 | 40 |
| Works / turn | 56 | 240 | 224 | 434 |
| Manpower / turn | 26 | 80 | 101 | 198 |
| W : M ratio | 2.15 : 1 | 3.00 : 1 | 2.22 : 1 | 2.19 : 1 |
| Garrison burden | 0 | 94 pts = 47 militia (1,128 W + 470 M sunk) | 0 | 0 |
| Sustainable units / turn | 1.13 | 3.71 | 4.41 | 8.62 |
| Forced army mix (inf : armour) | 7.3 : 1 | 2.3 : 1 | 6.4 : 1 | 6.7 : 1 |
Read the first and second columns together and the design does its job in one line:
Eight times the cities buys 4.3× the industry, 3.1× the manpower, and 3.3× the units per turn.
An 8:1 territorial lead has been compressed to a 3.3:1 military one — and every step of that compression is something Corvain can point at. He chose to buy 7 Cadre instead of 12. He chose to take 35 cities instead of 20. He can see the 47 militia sitting in his cities. He can see the Integration bars creeping up. Nothing was taken from him quietly.
Now read the second and third columns together, which is the result I find genuinely striking:
The Consolidator holds half as many cities as the Blitzer and fields 19% more units per turn, with a zero garrison bill.
Twenty digested cities beat forty raw ones. That is the whole thesis of this proposal expressed as an inequality, and it means the optimal strategy is expand at the rate you can govern — which is precisely the pacing that keeps a multiplayer game contestable, arrived at through the player's own self-interest rather than through a rule that punishes them.
And the fourth column, which is why blitzing is still a real option and not a trap:
Once digested, those 40 cities are worth 8.6 units/turn — double the Consolidator.
Blitzing is a mortgage, not a mistake. You are worse off for forty turns and far better off after, and you have denied twenty cities to your rivals in the meantime (relevant under territorial victory conditions). Whether to take that mortgage — and whether you will survive the window during which you are paying it — is a genuine strategic decision with no dominant answer. That is the outcome I was designing for.
One more detail worth pulling out. Look at the forced army mix. Vela fields 7.3 infantry per tank. The Blitzer is forced down to 2.3 — he must mechanise, because his Works are enormous and his Manpower is starved by 22 cities full of people who do not yet answer his call. His army is expensive, materiel-heavy, and slow to replace when it dies. He conquered an industrial base and inherited a manpower crisis. I did not design that outcome directly; it fell out of the two-resource model, and it is the best argument I have for the second axis.
What the two players actually experience
Vela sees a small, dense, fully-green empire. Her Order Board is nearly always empty. She is manpower-bound (as everyone is, on infantry), so her decisions are about what to build, not whether. She is fighting on her own ground: full supply, 20%/turn repair, and any city she loses she gets back at full Integration the moment she retakes it.
Corvain sees a sprawl. Amber and red at the edges. A production queue that keeps offering him a Cadre at 600 Works and a decision every time about whether that Cadre is worth four tanks. A slow line of administrators walking east. Two cities with revolt countdowns on them. He is winning — he is clearly winning, and he will win if nothing changes — but the game is asking him a real question every turn, and Vela has forty turns in which to make him answer it wrong.
9. Why this beats the obvious approaches
Against the invisible production tax. Every term is on screen: Integration bars on each city, Cadre count and next-Cadre price in the queue, garrison points required versus present, a supply overlay, an Unrest number with a revolt countdown. More importantly, every term is actionable. Buy more Cadre. Garrison properly. Push Depots forward. Slow down and digest. Take the Academy. Raze the indefensible. The classic tax admits no play at all; this admits half a dozen.
Against "captured cities produce at 50% forever." That is the same tax with a nicer face — a static discount with no verb attached. Integration is a process the player drives, competes over, and can lose. It creates a clock, and clocks create tension.
Against per-unit upkeep. Upkeep punishes having an army, which punishes exactly the behaviour the game is about, and it makes every unit a recurring bill to resent. Manpower-as-a-stock prices units once, at commissioning. A large surviving army costs nothing per turn; a large dying army costs enormously, because the dead do not come back. That is the right incentive — it rewards preserving formations and makes attrition warfare a strategic decision rather than a spreadsheet.
Against pure supply-range solutions. Supply alone throttles the front but not the economy, so the leader still out-produces everyone and simply grinds forward behind a Depot chain. Supply needs Integration to give it teeth, because the Reach ≥ 50 threshold ties offensive tempo to governing tempo.
Against random events, unrest dice, or catch-up bonuses. A deterministic-core game whose brake is a die roll is a game where the leader loses to luck, which is worse than losing to nothing. Every mechanism here is deterministic and forecastable. The player can compute their own future.
10. Honest tradeoffs
This is more systems than the pure loop had. Two resources, an Integration/Unrest pair per city, a Cadre unit type, a supply grade per unit. A new player must absorb it. My mitigation is layering — Works and Integration are visible from turn one; Manpower first bites around turn 15; Cadre becomes relevant at your first conquest; supply grades matter when you leave home — and setup presets that can disable Manpower entirely for a simplified ruleset. But I will not pretend it is free.
The Cadre is a babysitting risk. A slow, defenceless unit that must be walked to the right place is exactly the kind of thing that becomes tedious at scale. It needs a standing order ("integrate the highest-priority un-integrated city and route there safely"), auto-escort preference, and a warning when its path crosses threatened tiles. If those fail, this mechanic becomes the most-complained-about thing in the game.
Consolidation may be too dominant. The Consolidator column is a strong result, possibly too strong. If blitzing is never correct, the mid-game turns into mutual digestion and the map stops moving. The dial is the un-integrated Works floor (currently 20%) and the garrison table; raising the floor to 30% and halving garrison requirements would make fast expansion meaningfully better.
Loyalty memory can produce grinding stalemates. If both sides restore their own cities instantly on recapture, a contested border city may change hands twenty times with neither side ever profiting. That is thematically perfect and possibly tedious. I have no clean fix and flag it in §12.
Works Expansion may be a trap. At a 75-turn payback for the first level, it is correct in a 300-turn game and wrong in a 150-turn one. Options that are right only in some scenario lengths are options that punish players for not knowing the scenario length. It may be better to cut it and let Depots carry the "build something that isn't an army" role.
The economy is verbose to explain. A player asking "why is this city only making 4 Works?" needs a tooltip that decomposes base × integration, and "why can't I build this tank?" needs a manpower breakdown. Good tooltips are load-bearing here in a way they are not in a single-resource game.
11. What could go wrong, and how I would catch it
Each of these is a measurable quantity, and I would want telemetry on all of them from the first AI self-play run.
| Risk | Signal to watch | Target |
|---|---|---|
| Cadre curve mistuned | Cadre count vs. turn, per player, across many games | Aggressive players ≈ 2 + turn/10, plateauing near 10–14. Flat at 4 means the escalation is too steep; linear past 20 means it is too shallow. |
| Manpower binds constantly | Fraction of turns a player has ≥ 1 hull in Awaiting Levy | Under 15% mid-game, and correlated with recent losses. Constant means the resource is a wall, not a texture. |
| Occupation is unfun, not just costly | Militia as a share of total units built; player-reported "time spent on garrison decisions" | Militia under 25% of builds. Above that, occupation is eating the game. |
| Revolt cascades | Cities lost to revolt as a share of cities captured | Under 5%. Above that the Unrest curve is too steep and players will feel cheated rather than warned. |
| Supply overlay illegible | Units ending their turn Isolated without a player order that intended it | Under 3% of unit-turns. High means the overlay is not readable and attrition feels arbitrary. |
| Snowball not actually braked | Gini coefficient of city count across players, by turn; and "turns from 40% map control to victory" | Leader's units-per-turn advantage should stay under ~4× a mid-pack player through turn 120. |
| Consolidation dominates | Share of winning games where the winner's peak un-integrated city count exceeded 8 | If near zero, blitzing is dead and needs the floor/garrison dials. |
| Razing degenerate | Cities razed per game | Under 2. A spike means integration is priced too high. |
The single most important playtest question, which no telemetry answers: does a player who is losing believe they can still win? I would ask that directly, every twenty turns, in a survey build. The entire proposal exists to keep the answer "yes" for longer than it otherwise would be.
12. Implementation notes
Everything here is integer arithmetic. I deliberately avoided fractional rates: no Q16.16 is
required anywhere in the economy. Integration and Unrest are integers 0–100. Effective Works is
floor(base * (20 + floor(4*int/5)) / 100). Levy is floor(pop * int / 1000). Cadre cost is
floor(base * (2 + N) / 2). Combat modifiers are ×7/8 and ×3/4 applied by multiply-then-floor to an
integer strength on a 0–100 scale, which is exact. This makes the economy trivially reproducible and
hashable, and means economy code needs no fixed-point review.
Resolution order. The economy resolves entirely at the top of the round, before any unit activates in the global creation-order queue (direction §4): accrue Works, tick Integration and Unrest, evaluate revolts, complete units, pay Manpower to Awaiting Levy hulls in (theatre priority, city index) order, accrue Population. Players are processed in seat order. This keeps the economy completely independent of the activation-queue semantics that §4 has not yet settled — whichever reading of the queue wins, the economy is unaffected. Newly built units enter the global sequence queue at the end of the round in (player seat, city index) order, which is consistent with the seniority principle: new units act last.
Cost. The only expensive computation is supply propagation. On a 2000×2000 map with 400 cities it
is a bounded Dijkstra per source, O(cities × reach²) worst case, which is fine — but it must be
incremental. Dirty-flag a source when its Integration crosses 50, when a Depot is built or lost, or
when a unit moves in or out of a tile that changes zone-of-control adjacency. Full recompute only on
load and on desync check.
13. Open questions
Things I could not settle, stated plainly rather than hedged.
Should Manpower be national or regional? A national pool lets a besieged province draw men from across an ocean, which is thematically weak and strategically forgiving. A per-theatre pool would be sharper but multiplies the bookkeeping by the number of theatres. I chose national for cost; I am not confident it is right.
Should Militia be raised automatically? A city that needs 4 garrison points and has Works to spare could simply produce them without the player asking. That removes clicks but also removes the feeling of paying for occupation, which is half the mechanism's value.
How exposed should a Cadre be? Too safe and the brake evaporates; too fragile and losing one to a lucky raider after 20 turns of escort duty is enraging. The escort rule and the no-move-adjacent-to-enemies rule are first guesses.
Does an un-integrated city count toward territorial victory conditions? I lean toward half-weight — it prevents a land-grab from instantly winning while still rewarding the grab. This needs to be settled with whoever owns victory conditions (§5 of the direction brief), because it determines whether blitzing is viable at all.
Loyalty ping-pong. Is a border city changing hands twenty times, each side restoring it instantly, a great emergent story or a tedious stalemate? I suspect it depends entirely on how long a capture takes, and I cannot settle it without playtesting.
Does the brake survive multipolarity? All my numbers compare one leader against one small player. A leader facing four uncoordinated small players may still roll them up one at a time regardless of digestion costs, because each fight is short enough to win before the mortgage comes due. This is the biggest hole in my analysis and it needs AI self-play with 6 players to test.
Should Works Expansion exist? See §10. I have included it and I would not defend it hard.
Naval and air Reach. The doubling-over-water rule is a placeholder. Whoever owns movement and the roster should set these, because they interact with hull ranges in ways I cannot price from here.