Skip to content

Restoration — Third Endgame Path

Document Type: Design Document Version: 0.2 Status: In Progress Last Updated: 2026-09-05 Vault destination: 01_Design Documents Phase: Phase 1 — Launch release Amends: 01_Master GDD endgame section Related: [26_Pollution, Waste & Organic Systems Design](<../Systems/26_Pollution, Waste & Organic Systems Design.md>) · [06_Outpost/07_Reclaim](<../../06_Outpost/07_Reclaim.md>) · [35_Economy Design](<../Systems/35_Economy Design.md>) · [05_World Generation & Planet Types](<./05_World Generation & Planet Types.md>)


1. Summary

The endgame is currently open after Milestone 3, with two directions: war effort or supply chain provider. This document proposes a third: restoration.

Take a planet that has been wrecked, by the player or by another player in the shared persistent galaxy, and bring it back.

It is the peaceful path, and it uses systems that already exist rather than requiring new ones.


2. The Core Idea: You Inherit a Factory

The interesting part is not the cleanup. It is what you are cleaning up.

You arrive at a working but filthy base. It is producing. It is also poisoning everything beneath it. The job is retooling a live system:

  • Swap coal and biomass generation for solar, wind, geothermal or nuclear
  • Reroute belts around dumps you are clearing
  • Dismantle what should not be there without stopping what should
  • Add Air Scrubbers, Water Treatment and Soil Remediation into a layout that never planned for them
  • Restore the deepest levels last, because contamination leached down and the sink is at the bottom

Fixing a bad factory is a different puzzle from designing a good one. Almost nothing in the genre offers it, and it needs no new mechanics — only a starting condition.


3. Where the Wrecks Come From

Wrecked planets are procedurally generated inside the player's own world.

Not harvested from other players. The first draft of this document assumed a persistent shared galaxy in which Player A's abandoned mess became Player B's content. Worlds are private and parallel ([32_The Gate & War Logistics](<../Systems/32_The Gate & War Logistics.md>)), so that loop does not exist.

Procedural generation is better anyway:

  • It works in single player, from hour one, with no other humans involved
  • It needs no content pipeline, no capture, no distribution
  • It removes the consent, anonymisation and attribution problem entirely (closes OI-124)
  • Same seed, identical wreck, which is what the leaderboard in §6a.2 actually needs

It fits world generation as it already works. [05_World Generation & Planet Types](<./05_World Generation & Planet Types.md>) generates planets on demand from seed plus coordinates, so a wrecked planet is a planet variant that arrives with a factory already on it, discoverable by Scanner like anything else. Severity scales with distance from the starting system, the same way alien tiers already do.


3a. Generating a Bad Factory

This is the one part that needs designing, and it is the problem the first draft named: procedurally generating a factory that reads as badly built by a person rather than randomly scattered is hard, because the difference between a bad layout and noise is intent.

The answer:

Do not generate the layout. Generate the history.

Simulate a plausible bad builder and run it forward:

  1. Start with a small, tidy base. Sensible. Someone knew what they were doing at the beginning.
  2. Apply growth pressure in steps. It needs more iron, so bolt on a drill and run the belt the short way.
  3. Every expansion is a local fix, never a redesign. The generator is forbidden from refactoring.
  4. Always take the cheap, dirty option, because dirty is quicker and that was the whole premise.
  5. Never revisit an earlier decision.

Twenty steps of that produces a factory with archaeology: a clean core, then increasingly desperate patches ringing it, belts crossing where they obviously should not, a coal plant beside the farm because that was the only space left when it was needed.

That reads as intent because it is intent, accumulated rather than authored. And it uses the same placement rules the player uses, driven by a greedy heuristic banned from tidying up after itself.


3b. Generation Cost

It is a layout algorithm, not a simulation. Nothing ticks, nothing produces, no time passes. The expensive part is belt pathfinding, which is short A* runs on a small grid.

Six rules keep it cheap, and the first two matter most:

Rule Why
Generate once, then persist Terrain can be regenerated from seed any time because it is pure. A wrecked factory stops being pure the moment the player moves a belt. Generate on first reveal, save from then on. The cost is paid once per planet, ever.
Generate at Scanner reveal, in the background The player then has to travel there, so the cost hides behind something already happening.
Compute the pollution, do not simulate it This is where a naive implementation gets slow. Do not run the pollution model forward over simulated years. The generator knows what it placed and for how notional a runtime, so it writes the contamination field analytically, in one pass.
Budget the steps Expansion step count is a tuning value tied to severity. Lightly wrecked is a few steps, badly wrecked is many. Bounds the worst case by design.
Validate cheaply, and only the core The base must actually be producing. That is a graph check — does each line have a source and a sink — not a simulation. Guarantee it for the early steps only: the old core works, the desperate patches half-work. More authentic, and it gives the player a real diagnostic job working out which lines are already dead.
Strict determinism Seeded RNG, no float ordering dependencies, no iteration over hash maps. Same seed must produce a byte-identical wreck on every machine, or the Seasonal leaderboard is meaningless and multiplayer clients disagree about the planet they are standing on. Painful to retrofit, so build it in.

4. Measuring It

A Planet Health rating, derived from:

  • Ground contamination across every level, weighted by depth
  • Atmospheric pollution per level
  • Waste in open dumps
  • Proportion of generation that is clean vs dirty
  • Ecosystem presence (farms, restored land)

Visible as a single score, drillable into per-level detail, mirroring how the Power tab handles grids.

Open items for this document are tracked in docs/open-items.md.


5. The Economy

Restoration happens inside a world. It never crosses a gate, because gates are war slots ([32_The Gate & War Logistics](<../Systems/32_The Gate & War Logistics.md>)) and Restoration is the peaceful path. It therefore needs ordinary logistics and no cross-world channel at all, which was this document's own selling point.

Payment, per [35_Economy Design](<../Systems/35_Economy Design.md>): materials, contribution and reputation. Never credits. Credits are war-scoped, and a restoration contract paid in war currency would quietly make peace a kind of war. The wreck itself is the material reward, salvaged from what was destroyed there.

Within a shared server world, restoration is still a service economy: a player posts a restoration contract on a planet in that world and another fulfils it. In single player it is a solo goal, and it works identically either way, because the wreck is generated rather than inherited.

Open items for this document are tracked in docs/open-items.md.


6. Naming — Collision With Outpost

⚠️ Outpost Mode already uses RECLAIM for the action of locking in a restored building (06_Outpost/07_Reclaim, milestone OM7).

If planet-scale restoration uses the same word, that is either pleasing consistency (the same verb at two scales, reinforcing that the modes share a philosophy) or confusing overload (two different mechanics, one word, in the same product).

Decide deliberately. Candidate alternatives at planet scale: Restore, Rehabilitate, Terraform, Renew.


6a. Restoration Mode — Standalone Game Mode

Restoration also works as a separate game mode, not only as an endgame path. The two are complementary: the endgame path is open-ended and lives in the persistent galaxy; the mode is bounded, repeatable and competitive.

6a.1 It solves the gating problem

As an endgame path, restoration sits behind Milestone 3. As a mode it is available in hour one.

It is also a good teacher. A wrecked factory demonstrates what not to do far more memorably than a tutorial explaining it. Learning by fixing someone else's mistakes is a strong onboarding pattern.

6a.2 It can carry a leaderboard

This is the strongest argument for the mode, and it is something factory games are normally bad at.

Conventional factory games cannot support meaningful leaderboards because every player starts from open ground with no shared problem. A restoration scenario is a closed problem with a measurable outcome: identical wrecked factory, identical starting conditions.

Scoring candidates: - Time to reach full Planet Health - Least material spent - Highest Planet Health achieved while keeping output above a threshold - Fewest buildings demolished (elegance of the fix)

This mirrors Outpost Mode's existing structure exactly, which already runs Progression (fixed seeds), Seasonal (monthly rotation, leaderboard) and Sandbox (player seeds, no contribution). The same three-mode pattern applies directly.

6a.3 Where the scenarios come from

Seeds. A Restoration scenario is a seed plus a severity, run through the generator in §3a.

That is stronger than the harvesting proposed in the first draft, not weaker. A harvested wreck has to be captured, cleaned, consented to and distributed. A seed is four bytes and is identical by definition, which is exactly what a leaderboard needs.

So the three-mode pattern applies with no content pipeline behind it at all:

Mode Seed Leaderboard
Progression Fixed, game-determined No
Seasonal Fixed, rotates monthly Yes
Sandbox Player-chosen No

Mirrors Outpost Mode exactly, which already runs this structure.

6a.4 Demo candidate

A bounded two-hour restoration scenario shows every system in the game — factory, power, pollution, logistics, vertical layers — inside a package with a beginning and an end.

That is a far better Steam demo than a slice of an open-ended sandbox, which usually ends with the player unsure whether they have seen the game.


7. Why This Fits the Existing Design

Existing system How restoration uses it
Pollution and contamination model Provides the problem
Air Scrubber, Water Treatment, Soil Remediation Provides the tools
Farming Feeds bio-remediation. Farming gains a second customer.
Procedural world generation Provides wrecked planets, generated from seed in the player's own world
Trade Station, transport ships Provides the contract economy
Power system Clean generation is the substitute for dirty generation
Vertical layers Contamination leached down, so depth is the difficulty curve

No new core system is required. This is a goal and a starting condition assembled from parts that already exist.


Open items for this document are tracked in docs/open-items.md, area restoration.

9. Revision History

Version Date Changes
0.2 2026-09-05 Wrecks are procedurally generated in the player's own world, not harvested from other players, since worlds are private and parallel. Closes OI-124. Added §3a generate the history, not the layout as the mechanism for producing a factory that reads as badly built by a person, and §3b the six rules that keep generation cheap, including analytic pollution and strict determinism. Restoration stays inside a world and never touches a gate; payment is materials, contribution and reputation, never credits. §6a.3 rewritten around seeds rather than harvested wrecks.
0.1 2026-08-25 Initial draft. Inherit-a-factory framing, persistent galaxy loop, Planet Health, contract economy, RECLAIM naming collision.