Production Chain & Recipes
A recipe turns one or more input resources into an output resource at a fixed base rate. Recipes run continuously inside producer buildings as long as the building has assigned dwarves and enough input stock. This page covers how the simulation works and lists every recipe in the game.
For the resources themselves see Resource Catalog; for the buildings see Production Buildings.
How the production simulation works
The simulation ticks every 250 ms. On each tick, for every producer building, the engine:
- Checks the building has at least one assigned dwarf — no workers means no output.
- Computes a worker multiplier from the assigned dwarves.
- Multiplies in the building level rate, any station bonus, and empire-wide research / sector / galaxy modifiers.
- For each active recipe: verifies inputs are in stock, consumes inputs, produces outputs, and clamps the result to the asteroid’s storage cap.
The production formula
effectiveRate = recipe.rate
× workerMultiplier (assigned dwarves)
× buildingLevelMultiplier (refinery ratio / factory throughput)
× stationBonus (mining or refining)
× empireModifiers (research + sector + galaxy)
Worker multiplier — each assigned, available (not injured / not on expedition) dwarf contributes:
contribution = classFit × max(0.25, health / 100)
classFit is 1.5 when the dwarf’s class matches the
building (Miner → Mine Shaft; Engineer → Refinery, Component Factory, Assembly
Plant, Armory) and 1.0 otherwise. The summed contribution is then multiplied
by the daily-login streak bonus (+5%/day, up to +50%).
With zero assigned workers the multiplier is 0 and the building produces
nothing.
Building-level scaling
| Building | Level effect on output |
|---|---|
| Mine Shaft | Flat base rate per level: 5, 8, 12, 17, 24, 33, 45, 60, 80, 105 (Lv1→Lv10). |
| Refinery | Output-ratio multiplier: 0.80, 0.85, 0.90, 0.95, 1.00, 1.05, 1.10, 1.15 (Lv1→Lv8). Also grows parallel-recipe slots. |
| Component Factory | Throughput multiplier ×1, ×2, ×3.5, ×6, ×10 (Lv1→Lv5, normalised to Lv1). |
| Assembly Plant | Throughput multiplier ×1, ×2, ×3.6, ×6, ×10 (Lv1→Lv5, normalised to Lv1). |
Where inputs and outputs live
Production is per-asteroid: each building reads and writes its own asteroid’s inventory. A recipe whose inputs are mined on a different asteroid will stall until you ship them over with Cargo Shuttles or pool them at a Station. When a Sector Station serves the asteroid, recipes may also draw inputs from the station’s shared storage pool (local stock first, then the pool). A starved recipe simply skips the tick and flags a stall the UI can surface.
Mining bonuses & Mining Burst
Mine Shaft output is lifted by:
- Station mining bonus (Sector Station: ×1.10 → ×1.38 by level).
- Sector / galaxy / research yield modifiers and richer-deposit research.
- Mining Burst — an active ability (unlocked by Blasting Charges,
research node
dd_03) that doubles empire-wide extraction (×2.0) for a base 30 s on a 300 s cooldown. While a burst runs, miners on aggressive deposits take hazard damage. See Research Tree.
Ice → Water and Biomass
Two flows run automatically:
- Ice → Water: every unit of Ice a Mine Shaft extracts is also melted 1:1 into Water on the same tick.
- Biomass: produced by the living colony at 1 unit/dwarf/sec on each asteroid (it is not mined), feeding the Fungus Farm.
Example recipe (data format)
Recipes are defined in data/economy/recipes.json. Each entry names the
producer building, the input quantities, the output, and the base rate:
{
"id": "recipe_iron_copper_alloys",
"building": "refinery",
"inputs": { "iron": 2, "copper": 1 },
"outputs": { "alloys": 1 },
"rate": 0.5,
"tier": "tier2"
}
This Refinery recipe consumes Iron and Copper and produces Alloys at a base 0.5 units/sec (at Refinery Lv1, one worker, no bonuses).
The chain at a glance
RAW (Mine Shaft) ──► REFINED (Refinery) ──► MANUFACTURED (Component Factory) ──► ASSEMBLED (Assembly Plant)
Iron ─────────────► Steel ───────────────► Machine Parts ──┐
Iron + Copper ────► Alloys ──────────────► Electronics ────┼─► Components ──► Station Parts
Ice ──────────────► Fuel ──────────────────────────────────┘ (+ Fuel)
Silica ───────────► Silica Wafer ─┐
Gold Ore ─► Gold Ingot ─► Gold Plate ──► Electronic Parts ──┐
Crystal ──────────► Focusing Lens ─────────────────────────┴─► Optics
Rare Earth Ore ──► R.E. Concentrate ──► Permanent Magnets ──┐
(+ Electronics ├─► Servo Motor
+ Steel Plate)──────┘
Carbon ──► Graphite ──► Carbon Fiber ──┐
Silica + Clay ──► Ceramics ──► Ballistic Ceramic ──┼─► Composite Armour Plate
Titanium Ore ──► Titanium Ingot ──► Titanium Plate ┘
Polymer Feedstock ──► Plastics ──┐
Steel ──► Steel Plate ───────────┴─► Reactive Plating (+ Titanium Plate)
Ice ──► Water ──┐
Water + Biomass ┴─► Food ──► Meals (Fungus Farm → Galley)
Water + Biomass ──► Grain (Fungus Farm)
Water + Grain/Food ──► Ale (Brewery)
Recipe reference
All values are at building Level 1, one worker, no bonuses. Inputs and
outputs are the per-second quantities from recipes.json. The simulation scales
these by level, workforce and bonuses as described above.
Passive (Mine Shaft)
| Recipe | Inputs | Output | Rate (/sec) |
|---|---|---|---|
recipe_ice_to_water |
Ice 1 | Water 1 | 1.0 |
recipe_biomass_ambient |
— | Biomass 1 | 1.0 (per colony; see note) |
Mining recipes (
recipe_mine_*) have no inputs — they pull ore straight from the asteroid deposit at the Mine Shaft’s level rate. See the Tier 1 table on Resource Catalog for per-ore base rates.
Sustenance (Fungus Farm, Galley)
| Recipe | Building | Inputs | Output | Rate (/sec) |
|---|---|---|---|---|
recipe_water_food |
Fungus Farm | Water 2, Biomass 0.5 | Food 1 | 1.0 |
recipe_farm_grain |
Fungus Farm | Water 2, Biomass 0.5 | Grain 0.5 | 0.5 |
recipe_food_meals |
Galley | Food 2 | Meals 1 | 0.5 |
Ale (Brewery)
| Recipe | Inputs | Output | Rate (/sec) |
|---|---|---|---|
recipe_ale_stout |
Water 3, Grain 2 | Stout 1 | 0.2 |
recipe_ale_firebrew |
Water 3, Food 2 | Firebrew 1 | 0.15 |
recipe_ale_courage |
Water 3, Grain 2 | Courage Ale 1 | 0.15 |
recipe_ale_deepdelver |
Water 4, Food 2, Grain 1 | Deep Delver’s Ale 1 | 0.1 |
recipe_ale_healingmead |
Water 3, Grain 3 | Healing Mead 1 | 0.1 |
Refining (Refinery → Tier 2)
| Recipe | Inputs | Output | Rate (/sec) |
|---|---|---|---|
recipe_iron_steel |
Iron 3 | Steel 1 | 1.0 |
recipe_ice_fuel |
Ice 2 | Fuel 1 | 0.5 |
recipe_iron_copper_alloys |
Iron 2, Copper 1 | Alloys 1 | 0.5 |
recipe_gold_ore_ingot |
Gold Ore 3 | Gold Ingot | 0.3 |
recipe_titanium_ore_ingot |
Titanium Ore 3 | Titanium Ingot | 0.4 |
recipe_carbon_graphite |
Carbon 2 | Graphite | 0.5 |
recipe_polymer_plastics |
Polymer Feedstock 2 | Plastics | 0.5 |
recipe_silica_wafer |
Silica 3 | Silica Wafer | 0.4 |
recipe_enriched_fuel |
Fuel 2, Sulphur 1, Helium-3 0.2 | Enriched Fuel | 0.1 |
recipe_ceramics |
Silica 2, Clay 2 | Ceramics | 0.4 |
recipe_rare_earth_concentrate |
Rare Earth Ore 4 | Rare Earth Concentrate | 0.2 |
Manufacturing (Component Factory → Tier 3)
| Recipe | Inputs | Output | Rate (/sec) |
|---|---|---|---|
recipe_steel_machineparts |
Steel 2 | Machine Parts | 0.2 |
recipe_alloys_electronics |
Alloys 2 | Electronics | 0.15 |
recipe_silica_wafer_electronic_parts |
Silica Wafer 2, Gold Plate 1 | Electronic Parts | 0.1 |
recipe_graphite_carbon_fiber |
Graphite 3 | Carbon Fiber | 0.2 |
recipe_gold_ingot_plate |
Gold Ingot 2 | Gold Plate | 0.15 |
recipe_titanium_ingot_plate |
Titanium Ingot 2 | Titanium Plate | 0.3 |
recipe_steel_plate |
Steel 2 | Steel Plate | 0.5 |
recipe_crystal_focusing_lens |
Crystal (Raw) 2 | Focusing Lens | 0.1 |
recipe_rare_earth_magnets |
Rare Earth Concentrate 3 | Permanent Magnets | 0.15 |
recipe_ceramics_ballistic |
Ceramics 2 | Ballistic Ceramic | 0.2 |
Assembly (Assembly Plant → Tier 4)
| Recipe | Inputs | Output | Rate (/sec) |
|---|---|---|---|
recipe_parts_electronics_components |
Machine Parts 1, Electronics 1 | Components 1 | 0.05 |
recipe_components_fuel_stationparts |
Components 1, Fuel 2 | Station Parts 1 | 0.02 |
recipe_lens_parts_optics |
Focusing Lens 1, Electronic Parts 1 | Optics 1 | 0.05 |
recipe_magnets_motor |
Permanent Magnets 1, Electronics 1, Steel Plate 1 | Servo Motor 1 | 0.03 |
recipe_composite_armour_plate |
Carbon Fiber 1, Ballistic Ceramic 1, Titanium Plate 1 | Composite Armour Plate 1 | 0.03 |
recipe_reactive_plating |
Steel Plate 1, Titanium Plate 1, Plastics 2 | Reactive Plating 1 | 0.04 |
Combat components (Armory)
The Armory crafts the comp_* combat components. Quantities differ between the
data catalog and the live client and are first-pass; see
Combat Equipment for the authoritative list. Recipes:
recipe_comp_iron_casting, recipe_comp_ammunition, recipe_comp_gun_barrel,
recipe_comp_power_cell, recipe_comp_energy_capacitor,
recipe_comp_targeting_optic, recipe_comp_pressure_seal,
recipe_comp_rune_shard, recipe_comp_void_crystal_shard,
recipe_comp_exotic_ingot.
Throughput bottlenecks to watch
- Rare Earth chain consumes Rare Earth Ore at a heavy 4:1 ratio into Concentrate, then 3:1 into Magnets — the deepest civilian chain in the game. Expect to dedicate a second Refinery before Servo Motors flow.
- Tier 4 rates are tiny (0.02–0.05/sec at Lv1). Station Parts in particular (0.02/sec) are the slowest civilian good — upgrade the Assembly Plant and back it with the Orbital Foundry mega project (+60% Component production across its phases).
- Cross-asteroid inputs stall silently unless you have shuttle routes or a shared station pool. Automation tiers can keep chains fed end-to-end.
All recipe figures are flagged first-pass / balance-TBD in the data and may be retuned. See Data Tables for raw exports.