Record production tree v2 decisions and resource deposit rules
progression_design.md: rewrite the resource phases around the four decided inputs (two mined everywhere, one deposit-gated mid resource, one scrap-only late input), add the Resource deposits rule set (freedom first / geography later, deposits only in expansions, patch area as throughput cap, deterministic content, binary mining), note the dual gating of the mid resource, and add the deposit-layer action item. content_design.md: mark the first-pass tree as superseded and record the v2 decisions — iron/copper/quartz/voidsteel with their fiction (M-type asteroid, quartz geodes, battle-forged voidsteel), titanium dropped with its gating role moved to electronics and possibly a quality-steel step, the material palette fingerprints, and the laser-to-railgun rename with lasers reserved as a future weapon type. Update the balancing target phase boundaries accordingly. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DyCu8vwChKMbLJQ3xosYEN
This commit is contained in:
@@ -129,7 +129,12 @@ Maximum simultaneous (disjoint) placements: m guns — cruiser 2,
|
|||||||
battlecruiser 3, battleship 4; l guns — battleship 1, dreadnought 3;
|
battlecruiser 3, battleship 4; l guns — battleship 1, dreadnought 3;
|
||||||
drone hangar — carrier 1.
|
drone hangar — carrier 1.
|
||||||
|
|
||||||
## Production tree
|
## Production tree (first pass — superseded)
|
||||||
|
|
||||||
|
**Superseded (July 2026):** this first-pass tree predates the rules in
|
||||||
|
`docs/progression_design.md` and will be replaced. The decisions for the
|
||||||
|
redesign are recorded in "Production tree v2 — decisions" below; the text
|
||||||
|
of this section is kept for reference until the new tree lands.
|
||||||
|
|
||||||
Design principle: each game phase adds exactly one new base input chain, so
|
Design principle: each game phase adds exactly one new base input chain, so
|
||||||
factory complexity ramps alongside ship size.
|
factory complexity ramps alongside ship size.
|
||||||
@@ -171,6 +176,59 @@ It verifies every consumed item has a producer, every item has a visuals
|
|||||||
entry, flags orphaned items, and prints which items are reprocessing-only
|
entry, flags orphaned items, and prints which items are reprocessing-only
|
||||||
(currently exactly advanced_alloy).
|
(currently exactly advanced_alloy).
|
||||||
|
|
||||||
|
## Production tree v2 — decisions (July 2026)
|
||||||
|
|
||||||
|
The old tree is discarded; the new one is designed against the rules in
|
||||||
|
`docs/progression_design.md` (ratio curve, cost ladder, cost archetypes,
|
||||||
|
refactorability). Decisions fixed so far:
|
||||||
|
|
||||||
|
### Base inputs (4) and fiction
|
||||||
|
|
||||||
|
- **iron_ore, copper_ore** — from the start, minable on every asteroid
|
||||||
|
tile. Fiction: the asteroid is an M-type (metal) body — its bulk rock
|
||||||
|
*is* ore, which is why the shipyard operation was built here at all.
|
||||||
|
- **quartz** — mid-game, minable only on geode deposit patches in
|
||||||
|
expansion territory (see the Resource deposits rules in
|
||||||
|
`progression_design.md`). Fiction: ordinary silicate dust is everywhere
|
||||||
|
and worthless; chips and optics need rare, pocket-bound optical-grade
|
||||||
|
crystal.
|
||||||
|
- **voidsteel** — late-game, obtained only by reprocessing scrap.
|
||||||
|
Fiction: battle-forged — formed when weapon plasma anneals hull metal
|
||||||
|
in the violence of ship destruction. Any wreck yields it, including the
|
||||||
|
player's own; no foundry can replicate it.
|
||||||
|
- **titanium is dropped.** Its hull-gating role moves to quartz-era
|
||||||
|
control systems ("you can smelt all the steel you want, but you cannot
|
||||||
|
steer a battlecruiser without electronics") and possibly a *quality*
|
||||||
|
steel step — e.g. a long-running hardened-steel recipe (time-heavy
|
||||||
|
archetype). Open question for the tree draft: quality step vs.
|
||||||
|
electronics-only gating; explicitly **not** sheer steel quantity alone.
|
||||||
|
|
||||||
|
### Material palette (fingerprints per family)
|
||||||
|
|
||||||
|
- **iron/steel** — structure.
|
||||||
|
- **copper** — conduction and heat: wiring, coils, heat sinks.
|
||||||
|
- **silicon family** (all derived from quartz): silicon (logic,
|
||||||
|
sensors), glass/optics (lenses, focusing crystals), ceramics (heat
|
||||||
|
shielding, insulators). Carries the non-metal variety without extra
|
||||||
|
base inputs.
|
||||||
|
- **voidsteel** — capital-tier structure and exotics.
|
||||||
|
- Deliberately skipped: carbon (mostly redundant with copper/ceramics),
|
||||||
|
plastics (drags in Factorio-style chemical chains; ceramics read more
|
||||||
|
sci-fi anyway), volatiles/ice (materials are build costs only — no
|
||||||
|
consumption mechanic to justify fuel).
|
||||||
|
|
||||||
|
### Weapons
|
||||||
|
|
||||||
|
- All current lasers are renamed to **railguns** (`laser_cannon_s/m/l` →
|
||||||
|
`railgun_s/m/l`); footprints and the gating matrix are unchanged.
|
||||||
|
Implementation stays as-is (instant damage application, no projectile,
|
||||||
|
no ammunition) — the beam visual reads as a tracer round. Materials:
|
||||||
|
iron slugs, copper coils, steel rails — the starting-metal fingerprint.
|
||||||
|
- **Lasers are reserved for later** as a genuinely distinct weapon type
|
||||||
|
(e.g. once projectile/ammunition mechanics exist for other families),
|
||||||
|
arriving with quartz optics. More weapon types are planned; railguns
|
||||||
|
are simply the baseline tech that ships with v1.
|
||||||
|
|
||||||
## Balancing targets (first pass, July 2026)
|
## Balancing targets (first pass, July 2026)
|
||||||
|
|
||||||
The six root numbers for the balancing pass. Every derived value (threat
|
The six root numbers for the balancing pass. Every derived value (threat
|
||||||
@@ -189,8 +247,8 @@ targets deliberately ignore that; playtesting will show real run lengths.
|
|||||||
1. **Run length** — a winning run takes up to 2 hours of game time: win
|
1. **Run length** — a winning run takes up to 2 hours of game time: win
|
||||||
around boss cycle 20–24. Losing runs end earlier.
|
around boss cycle 20–24. Losing runs end earlier.
|
||||||
2. **Phase boundaries** — early = cycles 1–5 (iron/copper, small hulls),
|
2. **Phase boundaries** — early = cycles 1–5 (iron/copper, small hulls),
|
||||||
mid = cycles 6–14 (titanium, medium hulls), late = cycles 15+
|
mid = cycles 6–14 (quartz, medium hulls), late = cycles 15+
|
||||||
(advanced alloy, capitals). Push cadence roughly one station set per
|
(voidsteel, capitals). Push cadence roughly one station set per
|
||||||
cycle from mid onward. This fixes the `unlock_at_station_level`
|
cycle from mid onward. This fixes the `unlock_at_station_level`
|
||||||
ladder and, with the artifact win count, the `artifact_chance_formula`
|
ladder and, with the artifact win count, the `artifact_chance_formula`
|
||||||
pacing.
|
pacing.
|
||||||
|
|||||||
@@ -27,20 +27,55 @@ adapts later (see Refactorability).
|
|||||||
## Resource phases
|
## Resource phases
|
||||||
|
|
||||||
- A run has exactly **four base inputs**:
|
- A run has exactly **four base inputs**:
|
||||||
1. Two mined ores available from the start.
|
1. Two mined resources available from the start, minable on **every**
|
||||||
2. A third mined ore unlocked mid-game (slower to mine than the starting
|
asteroid tile.
|
||||||
ores).
|
2. A third mined resource unlocked mid-game, minable **only on deposit
|
||||||
|
patches** found in expansion territory (see Resource deposits).
|
||||||
3. A fourth input unlocked late-game, obtainable **only** from
|
3. A fourth input unlocked late-game, obtainable **only** from
|
||||||
reprocessing salvaged scrap.
|
reprocessing salvaged scrap.
|
||||||
- The fourth input is the core loop hook: capital ship production requires
|
- The fourth input is the core loop hook: capital ship production requires
|
||||||
fighting (salvaging and reprocessing), not just mining.
|
fighting (salvaging and reprocessing), not just mining.
|
||||||
|
- Every gating has a fictional reason (concrete fiction in
|
||||||
|
`content_design.md`): the asteroid is a metal-rich body, so its bulk
|
||||||
|
rock is minable anywhere; the mid resource sits in rare pockets; the
|
||||||
|
late input is battle-forged — created only in the violence of ship
|
||||||
|
destruction, which is why any wreck (including the player's own)
|
||||||
|
yields it and no foundry can make it.
|
||||||
|
- The mid resource is **dual-gated**: schematics (knowledge, via drops)
|
||||||
|
and territory (deposits, via expansions). Tuning must guarantee the
|
||||||
|
deposit-bearing expansion is comfortably affordable by the time the
|
||||||
|
first mid-tier schematics drop, or those drops are dead picks.
|
||||||
- There is no direct "resource unlock" mechanism. Miner recipes unlock
|
- There is no direct "resource unlock" mechanism. Miner recipes unlock
|
||||||
**implicitly** (REQ-LOCK-IMPLICIT) when some unlocked schematic's material
|
**implicitly** (REQ-LOCK-IMPLICIT) when some unlocked schematic's material
|
||||||
chain reaches that ore. Resource pacing is therefore controlled entirely
|
chain reaches that resource. Resource pacing is therefore controlled
|
||||||
through the `unlock_at_station_level` values of ships, modules, and
|
through the `unlock_at_station_level` values of ships, modules, and
|
||||||
assembler recipe schematics — and the content must guarantee that the
|
assembler recipe schematics — and the content must guarantee that the
|
||||||
chains actually connect (a mid-game schematic must require an item whose
|
chains actually connect (a mid-game schematic must require an item whose
|
||||||
chain reaches the third ore, or the ore never unlocks).
|
chain reaches the mid resource, or it never unlocks).
|
||||||
|
|
||||||
|
### Resource deposits
|
||||||
|
|
||||||
|
- **Rule: freedom first, geography later.** The starting resources are
|
||||||
|
minable everywhere, so the player has full layout freedom while
|
||||||
|
learning. Later mined resources are bound to deposit patches — fixed
|
||||||
|
geography as a layout puzzle, introduced once the player is competent.
|
||||||
|
- **Rule: deposits exist only in expansion territory.** Expansions buy
|
||||||
|
space *and* access to resource tiers — the second leg of the growth
|
||||||
|
curve (see Building block economy).
|
||||||
|
- **Rule: patch area is the throughput cap.** Deposits never deplete but
|
||||||
|
are finite in area; the number of deposit tiles caps how many miners
|
||||||
|
the chain supports. Buying deeper expansions raises the throughput
|
||||||
|
ceiling of high-tier chains.
|
||||||
|
- **Rule: no empty expansions.** Deposit content per expansion is
|
||||||
|
deterministic and config-defined; only the placement within the new
|
||||||
|
columns is randomized. Buying an expansion never rolls "nothing".
|
||||||
|
- **Rule: mining is binary.** A miner whose footprint overlaps at least
|
||||||
|
one deposit tile of a resource can select that resource's recipe; no
|
||||||
|
partial-coverage rate scaling.
|
||||||
|
- Deposits arrive at the periphery (expansions add columns on the left),
|
||||||
|
so each new chain starts in fresh space — supporting the
|
||||||
|
refactorability property — and high-tier chains have the longest belt
|
||||||
|
runs to the shipyards, escalating the logistics puzzle with tier.
|
||||||
|
|
||||||
## Production tree rules
|
## Production tree rules
|
||||||
|
|
||||||
@@ -48,11 +83,11 @@ adapts later (see Refactorability).
|
|||||||
|
|
||||||
- **Each phase transition adds exactly one new base input chain.** A base
|
- **Each phase transition adds exactly one new base input chain.** A base
|
||||||
input is a bottom-level resource entering the factory from outside — a
|
input is a bottom-level resource entering the factory from outside — a
|
||||||
mined ore or the scrap-only input. The early game starts with two ores
|
mined resource or the scrap-only input. The early game starts with two
|
||||||
as the baseline; the transition to mid adds one (the third ore), the
|
ores as the baseline; the transition to mid adds one (the deposit-bound
|
||||||
transition to late adds one (the scrap-only input). No transition ever
|
mid resource), the transition to late adds one (the scrap-only input).
|
||||||
introduces more than one unfamiliar bottom-level chain, so the factory
|
No transition ever introduces more than one unfamiliar bottom-level
|
||||||
grows in one direction at a time.
|
chain, so the factory grows in one direction at a time.
|
||||||
- **Intermediates are generic shared parts.** Keep the item count low —
|
- **Intermediates are generic shared parts.** Keep the item count low —
|
||||||
modules and hulls of a tier draw from a shared pool of that tier's and
|
modules and hulls of a tier draw from a shared pool of that tier's and
|
||||||
lower tiers' intermediates rather than each having bespoke inputs.
|
lower tiers' intermediates rather than each having bespoke inputs.
|
||||||
@@ -330,3 +365,11 @@ in `requirements.md` and the git history). Still open:
|
|||||||
number of expansions already purchased (x = expansions bought so
|
number of expansions already purchased (x = expansions bought so
|
||||||
far), so expansion costs can escalate per the block economy rules.
|
far), so expansion costs can escalate per the block economy rules.
|
||||||
Update REQ-EXP-COST and wherever the UI displays the expansion cost.
|
Update REQ-EXP-COST and wherever the UI displays the expansion cost.
|
||||||
|
5. **Resource deposits.** Add a terrain deposit layer per the Resource
|
||||||
|
deposits rules: deposit patches generated in expansion columns
|
||||||
|
(deterministic content per expansion, randomized placement within the
|
||||||
|
new columns), deposit rendering, and a miner condition (a resource
|
||||||
|
recipe is selectable only if the miner's footprint overlaps at least
|
||||||
|
one matching deposit tile). Touches REQ-BLD-MINER ("every asteroid
|
||||||
|
tile is equivalent" no longer holds), REQ-GW-ASTEROID-EXPAND /
|
||||||
|
REQ-EXP-*, `world.toml`, and `visuals.toml`.
|
||||||
|
|||||||
Reference in New Issue
Block a user