Sync progression_design.md with implemented action items
Prune completed action items 1-4 and 8 (scrap-from-threat, schematic upgrade and ship level removal, balancing tool cleanup, unlock prerequisites), renumber the remaining three, and update stale cross-references: cite REQ-LOCK-PREREQ and unlock_requires, reflect that REQ-THREAT-SCRAP is now the 1/scrap_per_threat constant, and drop the obsolete level-up wording from the artifact rule. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DyCu8vwChKMbLJQ3xosYEN
This commit is contained in:
@@ -153,7 +153,7 @@ supporting different fleet doctrines feel structurally different to build.
|
|||||||
- **All time scaling lives in the threat rate** — waves get bigger, ships
|
- **All time scaling lives in the threat rate** — waves get bigger, ships
|
||||||
of a given schematic never get individually stronger. There is no ship
|
of a given schematic never get individually stronger. There is no ship
|
||||||
level dimension: stat formulas are plain values, and per-ship level
|
level dimension: stat formulas are plain values, and per-ship level
|
||||||
scaling (`ship_level_formula`) does not exist (see Action items). Push
|
scaling does not exist. Push
|
||||||
scaling on enemy defence stations is the separate, player-triggered
|
scaling on enemy defence stations is the separate, player-triggered
|
||||||
difficulty axis and keeps its level formulas.
|
difficulty axis and keeps its level formulas.
|
||||||
|
|
||||||
@@ -169,9 +169,10 @@ supporting different fleet doctrines feel structurally different to build.
|
|||||||
its materials need can be unlocked alongside it.
|
its materials need can be unlocked alongside it.
|
||||||
- **Schematics can require other schematics.** Beyond the station-level
|
- **Schematics can require other schematics.** Beyond the station-level
|
||||||
gate, a schematic (ship, module, or assembler recipe) may list
|
gate, a schematic (ship, module, or assembler recipe) may list
|
||||||
prerequisite schematics that must already be unlocked before it enters
|
prerequisite schematics (`unlock_requires`, REQ-LOCK-PREREQ) that must
|
||||||
the drop pool — e.g. the medium laser requires the small laser; a
|
already be unlocked before it enters the drop pool — e.g. the medium
|
||||||
future Mk2 requires its base version. Station level gates the earliest
|
laser requires the small laser; a future Mk2 requires its base version.
|
||||||
|
Station level gates the earliest
|
||||||
*when*; prerequisites gate the *order*, keeping drop offers coherent
|
*when*; prerequisites gate the *order*, keeping drop offers coherent
|
||||||
with what the player already owns.
|
with what the player already owns.
|
||||||
- **No duplicate drops.** Ship and module schematics leave the drop pool
|
- **No duplicate drops.** Ship and module schematics leave the drop pool
|
||||||
@@ -184,8 +185,8 @@ supporting different fleet doctrines feel structurally different to build.
|
|||||||
tasks), never as free level-ups.
|
tasks), never as free level-ups.
|
||||||
- **Artifacts trade power for progress.** Artifact options compete with
|
- **Artifacts trade power for progress.** Artifact options compete with
|
||||||
schematic picks in the same choice dialog; the artifact chance must be
|
schematic picks in the same choice dialog; the artifact chance must be
|
||||||
tuned so that taking one is a real decision (giving up a level-up or
|
tuned so that taking one is a real decision (giving up an unlock), not
|
||||||
unlock), not automatic in either direction.
|
automatic in either direction.
|
||||||
|
|
||||||
## Scrap & reprocessing economy
|
## Scrap & reprocessing economy
|
||||||
|
|
||||||
@@ -206,8 +207,8 @@ supporting different fleet doctrines feel structurally different to build.
|
|||||||
the exception: they keep authored `scrap_drop_formula`s, because pushing
|
the exception: they keep authored `scrap_drop_formula`s, because pushing
|
||||||
rewards are tuned independently of ship production costs.
|
rewards are tuned independently of ship production costs.
|
||||||
- Consequence: the threat value of scrap is the constant
|
- Consequence: the threat value of scrap is the constant
|
||||||
`1 / scrap_per_threat`. The min-`scrap_drop` schematic derivation
|
`1 / scrap_per_threat` (REQ-THREAT-SCRAP). The former min-`scrap_drop`
|
||||||
(REQ-THREAT-SCRAP) and its potential circularity disappear.
|
schematic derivation and its potential circularity are gone.
|
||||||
- **Rule:** the late-game input's income rate meaningfully gates capital
|
- **Rule:** the late-game input's income rate meaningfully gates capital
|
||||||
production — unlocking a capital hull must not mean spamming it; the
|
production — unlocking a capital hull must not mean spamming it; the
|
||||||
input trickles in slowly enough that every capital ship is a noticeable
|
input trickles in slowly enough that every capital ship is a noticeable
|
||||||
@@ -272,47 +273,22 @@ Constraints that every recipe must respect, independent of tuning:
|
|||||||
## Action items — changes beyond this document
|
## Action items — changes beyond this document
|
||||||
|
|
||||||
Agreed changes that require edits to `requirements.md`, the code, and the
|
Agreed changes that require edits to `requirements.md`, the code, and the
|
||||||
configs:
|
configs. Completed items are removed from this list (their outcomes live
|
||||||
|
in `requirements.md` and the git history). Still open:
|
||||||
|
|
||||||
1. **Derive ship scrap from threat.** Add `scrap_per_threat` to
|
1. **Fill unfillable schematic slots with artifacts.** With duplicates
|
||||||
`world.toml`; remove `[ship.loot].scrap_drop` from `ships.toml`; update
|
|
||||||
REQ-RES-SCRAP-DROP; replace REQ-THREAT-SCRAP with the constant
|
|
||||||
`1 / scrap_per_threat`. Station `scrap_drop_formula`s stay.
|
|
||||||
2. **Remove schematic upgrades.** Owned ship/module schematics leave the
|
|
||||||
drop pool (REQ-DEF-SCHEMATIC-DROP); drop the new-unlock/level-up
|
|
||||||
annotation from the choice dialog; remove `player_production_level`
|
|
||||||
from `ships.toml`, `modules.toml`, and the code paths that increment
|
|
||||||
and evaluate it (REQ-BLD-SHIPYARD, REQ-MOD-CONFIG).
|
|
||||||
3. **Remove ship levels entirely.** Delete `ship_level_formula`
|
|
||||||
(REQ-WAV-SHIP-LEVEL); replace all stat formulas in `ships.toml` and
|
|
||||||
`modules.toml` with plain values (REQ-SHP-STATS, REQ-MOD-CONFIG,
|
|
||||||
REQ-MOD-STAT-CALC evaluation rules). Enemy defence stations keep their
|
|
||||||
station-level formulas — push scaling is unaffected.
|
|
||||||
4. **Balancing tool follow-up.** Remove the per-ship-entry `level` from
|
|
||||||
`balancing.toml` and the `L<level>` display format (REQ-BAL-TEAM,
|
|
||||||
REQ-BAL-CONFIG-GAME, REQ-BAL-UI-WIDGET, REQ-BAL-UI-INSPECT-WINDOW);
|
|
||||||
station entries keep their level. Ship stats panels no longer evaluate
|
|
||||||
at a level (REQ-MOD-UI-STATS-PANEL, REQ-UI-SHIP-STATS-PANEL).
|
|
||||||
5. **Fill unfillable schematic slots with artifacts.** With duplicates
|
|
||||||
removed, the schematic drop pool can run dry — previously unreachable.
|
removed, the schematic drop pool can run dry — previously unreachable.
|
||||||
Decision: every slot in the choice dialog that cannot be filled with a
|
Decision: every slot in the choice dialog that cannot be filled with a
|
||||||
schematic because the eligible pool is exhausted is filled with an
|
schematic because the eligible pool is exhausted is filled with an
|
||||||
artifact option instead (in addition to any artifact option granted by
|
artifact option instead (in addition to any artifact option granted by
|
||||||
the regular artifact roll). A push therefore always awards a full
|
the regular artifact roll). A push therefore always awards a full
|
||||||
dialog. Update REQ-DEF-SCHEMATIC-DROP.
|
dialog. Update REQ-DEF-SCHEMATIC-DROP.
|
||||||
6. **Confirm wave scaling carries alone.** With per-ship level scaling
|
2. **Confirm wave scaling carries alone.** With per-ship level scaling
|
||||||
gone, `threat_rate_formula` is the only time-scaling axis; verify the
|
removed, `threat_rate_formula` is the only time-scaling axis; verify
|
||||||
current `world.toml` values still produce the intended difficulty
|
the current `world.toml` values still produce the intended difficulty
|
||||||
curve (the config reportedly already runs with a flat ship level, so
|
curve (likely a review, not a retune, since the config already ran
|
||||||
this is likely a review, not a retune).
|
with a flat ship level before the removal).
|
||||||
7. **Gate shortcut-recipe drops on their inputs.** Extend the assembler
|
3. **Gate shortcut-recipe drops on their inputs.** Extend the assembler
|
||||||
recipe schematic pool eligibility in REQ-DEF-SCHEMATIC-DROP: in
|
recipe schematic pool eligibility in REQ-DEF-SCHEMATIC-DROP: in
|
||||||
addition to the existing station-level and output-item checks, all of
|
addition to the existing station-level and output-item checks, all of
|
||||||
the recipe's input item types must be implicitly unlocked as well.
|
the recipe's input item types must be implicitly unlocked as well.
|
||||||
8. **Schematic prerequisites.** Add an optional prerequisite list to
|
|
||||||
ship, module, and assembler recipe schematic entries (e.g.
|
|
||||||
`unlock_requires = ["laser_cannon_s"]`): a schematic enters the drop
|
|
||||||
pool only when every listed schematic is already unlocked, in addition
|
|
||||||
to the station-level check. Update REQ-DEF-SCHEMATIC-DROP and
|
|
||||||
REQ-LOCK-EXPLICIT. This is also the mechanism the future Mk2 design
|
|
||||||
builds on (`*_mk2` requires the base schematic).
|
|
||||||
|
|||||||
Reference in New Issue
Block a user