Shop economy, first career curve (2026-09-27)
Shop economy: first career curve (2026-09-27)
Section titled “Shop economy: first career curve (2026-09-27)”Plan 1 of the shop-economy simulator
(docs/superpowers/specs/2026-09-27-shop-economy-sim-design.md). Autopilot careers: play a
Survival run, bank the gold, buy in shop-tip order (policy A), repeat. 3 profiles x 5 seeds, up
to 150 runs, runs capped at 72,000 ticks (20 min). Catalogue: 66 items, 22,951 gold to own
everything. Sweep wall time: 9 min 54 s on 8 parallel jobs.
Headline
Section titled “Headline”Everything in the shop is bought in about 30 runs, not the 60-110 the flat estimate said. Gold per run is not flat: it roughly doubles over the first 20 runs, then jumps. Every career shows the same two phases:
- Runs 1 to ~20: short runs, slow buying. Runs last about 35-90 s and pay 140-400 gold.
- A cliff at about 7,000-8,100 gold spent (run 19-28, all 15 careers). Runs jump to 5-20 minutes (many hit the 20-minute cap) and pay 1,000-3,400 gold. The rest of the catalogue, about two-thirds of its cost, goes in the next 5-8 runs.
The cliff is one item: Field Medic (field-medic, 60 gold, one level). Standing still heals
6 HP/s, ramping to 40 HP/s after about 4 s (sim/sim.gd:2204-2233), on a 200-225 HP hull. The
first run over 240 s comes 1-3 runs after Field Medic is bought in every career (the very next
run in 10 of 15). Checked by ablation (final review, 2026-09-27) on the median-10000 run-22 save,
seeds 10021-10028:
| same save | run times |
|---|---|
| with Field Medic | 422, 113, 113, 773, 81, 1200 (cap), 256, 318 s |
| without it | 77-114 s every seed |
| with it, pilot never counted as standing still | 68-143 s every seed |
It needs some defence under it: on a fresh save it adds about 30% and never makes a long run; on the run-17 save (vitality 5, bulwark 5) it makes 3 of 8 runs long, against 0 of 8 without it.
Where the cliff lands (run ~20, 7-8k spent) is a simulator artifact. Once the shop tips run out, the sim buys the cheapest item first, which puts Field Medic behind about 3-3.7k gold of 40-50 g drone stats, some for drone classes it doesn’t even own. A real player would likely buy it far sooner, so the cliff would come earlier. How big the cliff is for real players is also unknown: the autopilot stands still 21-74% of the time, and that hasn’t been checked against humans.
Milestones (runs needed; median, min-max over 5 seeds)
Section titled “Milestones (runs needed; median, min-max over 5 seeds)”| profile | runs each | gold/run (median) | run time (median) | first buy | all Arsenal | 25% spent | 50% spent | 100% spent |
|---|---|---|---|---|---|---|---|---|
| weak | 33-38 | 354 | 74s | 1 (1-1) | 17 (16-17) | 22 (20-22) | 29 (28-30) | 34 (33-38) |
| median | 30-31 | 380 | 81s | 1 (1-1) | 15 (14-15) | 19 (18-19) | 25 (24-27) | 30 (30-31) |
| strong | 25-29 | 442 | 98s | 1 (1-1) | 12 (12-14) | 16 (15-17) | 22 (21-23) | 27 (25-29) |
(python3 tools/economy_sim/summarize.py reports/economy/career-*.json. The gold and time
medians are over every run, so the long post-cliff runs pull them up.)
Per-run curve (median across the 5 seeds)
Section titled “Per-run curve (median across the 5 seeds)”| run | weak gold / time | median gold / time | strong gold / time |
|---|---|---|---|
| 1 | 165 / 35s | 138 / 34s | 226 / 57s |
| 5 | 216 / 45s | 275 / 66s | 286 / 72s |
| 10 | 253 / 62s | 309 / 71s | 375 / 83s |
| 15 | 302 / 70s | 404 / 80s | 511 / 121s |
| 20 | 355 / 67s | 404 / 87s | 928 / 275s |
| 25 | 377 / 75s | 1,213 / 290s | 1,228 / 293s |
| 30 | 2,589 / 708s | 3,380 / 1,200s | done |
Against Chris’s tier targets
Section titled “Against Chris’s tier targets”- First meaningful buy in 1-2 runs: met. Every career buys on run 1 (two Vitality levels).
- Core Pilot + Arsenal by ~run 20: all 13 Arsenal unlocks by run 12-17. Met, arguably early.
- Drones as the long tail: not met. Drones are about two-thirds of the catalogue’s cost but mostly bought in the few post-cliff runs, so the tail is about 5-8 runs long, not a long tail.
Caveats (read before trusting any number)
Section titled “Caveats (read before trusting any number)”- The simulated players are weaker than real players early on. Calibration (Task 5,
ai/skill_profile.gd): even the strongest setting, the plain skilled AI, dies at 51.6 s on a fresh save, below the median human’s 63.4 s (human p25/p50/p85 = 52.9/63.4/114.0 s, 196/227/384 gold, n=18, builds 185+). Gold for weak/median is within 20% of the human numbers; strong is about 40% short. So the early phase is probably slower here than for real players, and the cliff probably comes sooner for them. - Part of that gap is the humans’ own shop upgrades. Their shop state was not recorded
(
runs.meta_spent/meta_levelsexist from 2026-09-27 and fill once a build ships). Device attract-mode runs of the same AI average 72.3 s / 369 gold (n=6, build 190). - Decoy play is perfect in every profile. The skill knobs don’t limit it.
- Equip judgement calls: the Sentinel (the decoy drone) always keeps drone slot 1, and bought drone classes only fly in extra slots. The Bomber tip comes before Drone Slots, so on the 1-slot frigate the Bomber is bought at run 2 and not flown until slots are bought (see “In-game findings”). The Obsidian hull is always the last purchase in every career, so it is never flown.
- The shop-tip order (
ui/shop_advice.gdDRONE_PRIORITY) is itself still an open judgement call. - Two warnings in long runs: median seeds 12000 (run 30) and 13000 (run 26) each logged “SOFTLOCK? zero kills for 3+ min of game time”. These are boss stalemates: in median-12000 run 30 the boss is the only enemy alive for about 290 s and the pilot sits at full HP. Capped 20-minute runs contain long stretches where neither side can hurt the other.
- Stand-still time is uncalibrated (
ai/skilled_auto_player.gd:116-118, held between decisions by the profiles). It sets how much Field Medic heals, so it sets the cliff’s size. - The buy policy’s fallback buys stats for drone classes the career doesn’t own
(
tools/economy_sim/shop_tip_policy.gd:34-43). Fix in Plan 2. - n=5 seeds per profile, autopilot not human. Treat run counts as +/- a few runs.
In-game findings (not simulator issues)
Section titled “In-game findings (not simulator issues)”- The shop tip recommends the Bomber before a second drone slot. On the 1-slot frigate the
shop can’t auto-equip it (it only fills empty slots,
sim/meta_state.gdauto_equip_class), and the player must swap the Sentinel (their decoy) out in the Drone Bay to fly it. A tip follower buys something they can’t use for many runs. - Field Medic breaks runs open. A 60-gold, one-level item turns ~1-minute runs into 5-20 minute runs once the pilot has modest defence, paying 5-10x the gold. That one item, not general price levels, is the balance problem to look at first (its heal rate, ramp, or price), and the capped runs show stand-still healing can out-sustain a boss indefinitely.
Question for Chris (sets Plan 2)
Section titled “Question for Chris (sets Plan 2)”Per-tier targets, in runs, for a median player:
- First meaningful buy: keep “run 1-2” (met today)?
- Core Pilot + all Arsenal: today about run 15. Target?
- Drones and the rest: today everything is gone by about run 30 because of the cliff. Should the whole catalogue take, say, 60 runs? 100?
- Field Medic: is a big “I can finally survive” jump wanted? If not, tone its healing down (rate, the 4 s ramp, or a cap) rather than repricing it, since price only moves the cliff.
Plan 2 covers the strong-autopilot work, the per-item value sweep, the value-per-gold buy policy, a fix to the buy policy’s fallback, and the price proposal.