Split the cluttered progression_design.md and content_design.md into
separated documents by role:
- docs/balancing/rules.md - design rules and principles (moved from
progression_design.md, which is removed)
- docs/balancing/targets.md - the chosen base numbers: run shape,
factory curve, threat ladder (achieved
values adopted), combat anchors, pacing
anchors
- docs/balancing/derived.md - current tuned state of all derived
numbers, mirroring the configs
- docs/balancing/process.md - pass order, tuning discipline learned in
arena rounds 1-5, tools, next-round
checklist
- docs/balancing/history.md - chronological record: decisions, numbers
pass, calculator bugs, arena rounds,
pacing pass
- docs/balancing/README.md - index, status, open action items (moved
from progression_design.md)
content_design.md slims back down to actual content: footprint gating,
hull grids, gating matrix (module names updated to railguns), and the
production tree structure with its fiction - numbers, anchors, arena
logs, and pacing all moved to docs/balancing/. Stale references in the
config comments updated to the new locations.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DyCu8vwChKMbLJQ3xosYEN
51 lines
1.6 KiB
TOML
51 lines
1.6 KiB
TOML
[world]
|
|
height_tiles = 40
|
|
refund_percentage = 100
|
|
starting_building_blocks = 200
|
|
scrap_despawn_seconds = 120
|
|
scrap_per_threat = 0.25
|
|
tile_size_m = 10
|
|
belt_speed_mps = 20
|
|
tunnel_max_distance_tiles = 10
|
|
departure_interval_seconds = 20
|
|
orbit_factor = 0.8
|
|
rally_orbit_radius_tiles = 5.0
|
|
|
|
[regions]
|
|
asteroid_width_tiles = 60
|
|
player_buffer_width_tiles = 20
|
|
contest_zone_width_tiles = 60
|
|
enemy_buffer_width_tiles = 20
|
|
|
|
[expansion]
|
|
columns_per_expansion_tiles = 10
|
|
# x = expansions already purchased; ~1 per cycle mid-game, decelerating
|
|
# to 2-3 cycles late (docs/balancing/derived.md).
|
|
cost_building_blocks_formula = "300 + 50*x + 10*x*x"
|
|
|
|
[push]
|
|
push_expand_columns_tiles = 10
|
|
boss_advance_seconds = 60
|
|
|
|
[targeting]
|
|
target_score_formula = "1 / (1 + x)" # x = distance / max weapon range; higher = better, clamped to >=0
|
|
overclaim_penalty_formula = "max(0.5, 1 - 0.1*x)" # x = competing claim count; multiplies score, clamped to [0,1]
|
|
target_hysteresis = 0.40 # keep current target unless a challenger beats it by >10%
|
|
|
|
[artifacts]
|
|
artifact_chance_formula = "0.05 * x" # 5% chance per station level
|
|
artifact_win_count = 5
|
|
|
|
[waves]
|
|
# Tuned against the factory-size curve (docs/balancing/targets.md, balancing
|
|
# targets): stays below the player's achievable military output early,
|
|
# crosses it around the late boundary (~cycle 15), overwhelms by ~24.
|
|
threat_rate_formula = "2*x + 0.15*x*x"
|
|
gap_min_seconds = 15
|
|
gap_max_seconds = 45
|
|
spawn_duration_seconds = 10
|
|
boss_countdown_seconds = 300
|
|
boss_threat_duration_seconds = 60
|
|
boss_quiet_before_seconds = 20
|
|
boss_quiet_after_seconds = 20
|