From 72b38df0ddf8e117d664a16b348f5b0fc16d3a00 Mon Sep 17 00:00:00 2001 From: Malte Langkabel Date: Fri, 3 Jul 2026 14:26:29 +0200 Subject: [PATCH] Draft the v2 production tree structure Add the tree structure draft to the v2 decisions section: mined and smelted items, reprocessing pool, intermediates per tier with ratio classes and archetypes, hull and module recipes as input lists, the resolved m+ hull gate (hardened_steel plus control_chip), shortcut recipe candidates, and a refactorability spot-check. Quantities and durations are deferred to the numbers pass against the threat ladder. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01DyCu8vwChKMbLJQ3xosYEN --- docs/content_design.md | 110 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) diff --git a/docs/content_design.md b/docs/content_design.md index ee94be1..ee69062 100644 --- a/docs/content_design.md +++ b/docs/content_design.md @@ -229,6 +229,116 @@ refactorability). Decisions fixed so far: arriving with quartz optics. More weapon types are planned; railguns are simply the baseline tech that ships with v1. +### Tree structure — draft + +Recipes are sketched as input lists only; quantities and durations come +in the numbers pass, tuned so every chain sums to its threat-ladder +value and follows the ratio curve (t1 nice → t4 strange). Glass/optics +are cut from v1 — their only consumers would be lasers, which are +deferred; the silicon family ships as silicon + ceramics. + +**Mined (miner):** `iron_ore`, `copper_ore` (every tile), `quartz` +(geode deposits in expansion territory). + +**Smelted (smelter — exactly one recipe per input item):** + +| output | input | ratio class | +|---|---|---| +| iron_ingot | iron_ore | nice (1:1 or 1:2) | +| copper_ingot | copper_ore | nice | +| silicon | quartz | mid entry | +| iron_ingot | scrap | the safe, boring scrap sink | + +**Reprocessing pool (scrap):** `iron_ingot`, `copper_ingot`, `silicon`, +`voidsteel` — the only source of voidsteel. Weights authored for the +fully unlocked pool state. + +**Tier 2 — early intermediates (clean ratios, ~2:3):** + +| item | inputs | role | +|---|---|---| +| steel_plate | iron_ingot | structure backbone, highest volume | +| copper_wire | copper_ingot | conductors | +| copper_coil | copper_wire | electromagnets: railguns, thrusters | +| building_block | steel_plate | depth-3 chain = the doubling-time knob | + +**Tier 3 — mid intermediates (strange ratios begin, need quartz):** + +| item | inputs | role | +|---|---|---| +| control_chip | silicon + copper_wire | electronics gate for m+ hulls | +| capacitor_bank | copper_coil + silicon | power for railgun m/l | +| hardened_steel | steel_plate (long cycle) | quality gate for m+ hulls; time-heavy | +| ceramic_plate | quartz | heat shielding: drives, l guns, capitals | +| drive_unit | steel_plate + copper_coil + control_chip | propulsion for m+ hulls | + +**Tier 4 — late intermediates (need voidsteel):** + +| item | inputs | role | +|---|---|---| +| voidsteel_plate | voidsteel + hardened_steel | capital structure | +| capital_core | voidsteel + capacitor_bank + control_chip | capital heart | + +**Hull items** (`_hull`, assembler-made; the shipyard consumes the +hull item plus module materials). The m+ hull gate is resolved as +**both** of the open-question options: hardened_steel (quality steel, a +deliberately long-running recipe — the time-heavy step) *and* +control_chip (electronics): + +| hull | inputs | +|---|---| +| drone_hull | steel_plate | +| frigate_hull | steel_plate + copper_wire | +| destroyer_hull | steel_plate + copper_coil | +| cruiser_hull | hardened_steel + control_chip | +| battlecruiser_hull | hardened_steel + control_chip + drive_unit | +| battleship_hull | voidsteel_plate + drive_unit + control_chip | +| dreadnought_hull | voidsteel_plate + capital_core + drive_unit | +| carrier_hull | voidsteel_plate + capital_core + drive_unit | + +**Module items** (`_module`, assembler-made prefabs — kept as +items so shipyard belt inputs stay simple and module production can be +stockpiled): + +| module | inputs | archetype | +|---|---|---| +| railgun_s | steel_plate + copper_coil | balanced | +| salvager | steel_plate + copper_wire | balanced | +| repair_tool | steel_plate + copper_wire | balanced | +| armor_plates | steel_plate (many) | material-heavy, fast | +| maneuvering_thrusters | steel_plate + copper_coil | balanced | +| sensor_booster | copper_wire + copper_coil | lean (an antenna, no chip) | +| afterburner | copper_coil + steel_plate | balanced | +| weapon_stabilizer | steel_plate + copper_coil | balanced | +| weapon_primer | capacitor_bank + copper_coil | mid; time-heavy | +| weapon_upgrade | control_chip + copper_coil | mid; time-heavy | +| railgun_m | capacitor_bank + steel_plate + copper_coil | mid | +| drone_bay | control_chip + steel_plate + copper_coil | mid | +| railgun_l | capacitor_bank + hardened_steel + ceramic_plate | late | +| drone_hangar | voidsteel_plate + control_chip + drive_unit | late (carrier only) | + +Refactorability check (the default technique holds): railgun_s → m +introduces capacitor_bank, built from a subset of the small gun's +inputs (copper_coil) plus the new base resource (silicon); the m gun +otherwise reuses the small gun's inputs. Hulls likewise: cruiser adds +hardening (fed by the existing steel line) and chips (fed by the new +quartz territory) without touching the iron/copper core. + +**Shortcut recipe candidates** (drop-only assembler schematics; not +every strange chain gets one): + +- `iron_ore → steel_plate` — skips the ingot step on the highest-volume + chain in the game. +- `quartz → control_chip` — skips silicon on the electronics chain. +- `iron_ingot → hardened_steel` — a nicer-ratio route past the + deliberately awkward hardening step. + +Item count: 3 mined + scrap + 3 smelted + 4 t2 + 5 t3 + 3 t4 (incl. +voidsteel) + 8 hulls + 14 modules ≈ 41 item types — same scale as the +first-pass tree. `verify_recipes.py` must be re-run once this lands in +recipes.toml; the numbers pass should add a threat-report tool that +prints per-item threat values and producer:consumer ratio tables. + ## Balancing targets (first pass, July 2026) The six root numbers for the balancing pass. Every derived value (threat