Pacing pass: unlock ladder, threat rate, economy values

Replace the everything-at--1 test setup with the real progression:
starting set is exactly drone/frigate/railgun_s/salvager; the ladder
runs destroyer+repair+armor at level 0, supports at 1, the quartz gate
(cruiser, railgun_m, afterburner, chip/hardened shortcuts) at 2,
battlecruiser at 4, battleship+railgun_l at 6, dreadnought at 8,
carrier+drone_hangar at 9, with unlock_requires edges cruiser ->
battlecruiser -> battleship -> dreadnought/carrier and railgun_m ->
railgun_l.

world.toml: threat_rate_formula 2*x + 0.15*x*x (below the player's
achievable military output early, crossing at the late boundary,
overwhelming by cycle ~24), starting_building_blocks 1000 -> 200,
expansion cost 200 -> 400 flat (placeholder until action item 4),
artifact_win_count 3 -> 5 (winning means choosing the artifact over a
schematic five times across ~7 cumulative offers).

Bug fix found during the pass: the building_block recipe carried no
unlock_at_station_level, and since building blocks appear in no
schematic's materials, implicit unlocking could never reach it - the
recipe was silently locked at game start. Now explicitly -1.

All values and derivations documented in content_design.md, "Pacing
pass - first values".

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DyCu8vwChKMbLJQ3xosYEN
This commit is contained in:
2026-07-04 12:49:35 +02:00
parent 27c3a7b65b
commit f62b7bb78e
5 changed files with 92 additions and 22 deletions

View File

@@ -47,7 +47,7 @@ attack_rate_hz = 2.0
[[module]]
id = "railgun_m"
unlock_at_station_level = 1
unlock_at_station_level = 2
surface_mask = [
"OO",
"OO"]
@@ -64,7 +64,7 @@ attack_rate_hz = 1.5
[[module]]
id = "railgun_l"
unlock_at_station_level = 1
unlock_at_station_level = 6
unlock_requires = ["railgun_m"]
surface_mask = [
"OOO",
@@ -101,7 +101,7 @@ collection_rate_hz = 0.5
[[module]]
id = "repair_tool"
unlock_at_station_level = -1
unlock_at_station_level = 0
surface_mask = ["O"]
materials = [{item = "repair_tool_module", amount = 1}]
production_time_seconds = 1
@@ -119,7 +119,7 @@ repair_range_m = 80
[[module]]
id = "afterburner"
unlock_at_station_level = -1
unlock_at_station_level = 2
surface_mask = ["OOO"]
materials = [{item = "afterburner_module", amount = 1}]
production_time_seconds = 1
@@ -133,7 +133,7 @@ added_main_acceleration_mpss = 60
[[module]]
id = "maneuvering_thrusters"
unlock_at_station_level = -1
unlock_at_station_level = 1
surface_mask = ["OO"]
materials = [{item = "maneuvering_thrusters_module", amount = 1}]
production_time_seconds = 1
@@ -150,7 +150,7 @@ added_maneuvering_acceleration_mpss = 10
[[module]]
id = "armor_plates"
unlock_at_station_level = -1
unlock_at_station_level = 0
surface_mask = ["OO"]
materials = [{item = "armor_plates_module", amount = 1}]
production_time_seconds = 1
@@ -163,7 +163,7 @@ added_hp = 1200
[[module]]
id = "sensor_booster"
unlock_at_station_level = -1
unlock_at_station_level = 1
surface_mask = ["OO"]
materials = [{item = "sensor_booster_module", amount = 1}]
production_time_seconds = 1
@@ -179,7 +179,7 @@ added_sensor_range_m = 50
[[module]]
id = "weapon_upgrade"
unlock_at_station_level = -1
unlock_at_station_level = 4
surface_mask = [
"OO",
"OX",
@@ -195,7 +195,7 @@ multiplied_damage = 1.2
[[module]]
id = "weapon_primer"
unlock_at_station_level = -1
unlock_at_station_level = 4
surface_mask = [
"OO",
"OX",
@@ -211,7 +211,7 @@ multiplied_attack_rate_hz = 1.2
[[module]]
id = "weapon_stabilizer"
unlock_at_station_level = -1
unlock_at_station_level = 3
surface_mask = [
"OO",
"OX",
@@ -234,7 +234,7 @@ multiplied_attack_rate_hz = 0.8
[[module]]
id = "drone_bay"
unlock_at_station_level = -1
unlock_at_station_level = 5
surface_mask = [
"OO",
"OO"]
@@ -246,7 +246,7 @@ glyph = "Db"
[[module]]
id = "drone_hangar"
unlock_at_station_level = -1
unlock_at_station_level = 9
surface_mask = [
"OOOOOO",
"OOOOOO"]