fleet office menu #220

Closed
opened 2026-09-05 19:33:33 +00:00 by metaheavens · 1 comment
Owner

the total price of the fleet should exponentially increase as it grow (relatively slowly slow exponential) in addition to the fixed periodic cost per vessel. a menu in the fleet offices should show the total of ressources per minute needed to maintain the fleet, with calculation details

the total price of the fleet should exponentially increase as it grow (relatively slowly slow exponential) in addition to the fixed periodic cost per vessel. a menu in the fleet offices should show the total of ressources per minute needed to maintain the fleet, with calculation details
Author
Owner

Implemented in commit 2bb46cb on main. Full suite: 166/166 passed.

The curve
Every berth past the first paid one costs 1.12x the one before it, applied to the existing flat per-vessel charge. I sized the rate rather than picking a round number:

  • at 1.12, the 13th berth costs about 3.5x the second and the 20th about 7.5x
  • at 1.15 it reaches unaffordable while the player is still learning what the fleet is for
  • at 1.10 it is nearly flat across the first several berths once the rounding to whole resources bites

The first vessel remains free, and the first PAID berth pays the base rate undialled - the curve starts where the charging starts rather than partway up it.

The menu
A new action on the Fleet Office. It shows the whole bill per minute (31.2 ore - 12.0 energy - 4.8 gas per minute), then a line per paying berth giving the hull, what it is charged, its multiplier, and an UNPAID marker on a starved office - then the arithmetic in words: the vessel's build price divided by 8, multiplied by 1.12 for every berth past the first paid one, charged every 25s.

The part worth being careful about
The menu does no arithmetic of its own. It renders GameState.fleet_upkeep_breakdown(), which is the same calculation _advance_fleet_office_upkeep() runs when it takes the resources. A readout that summed independently could quote a bill the game does not actually charge - which is exactly the "the numbers are lying to me" failure this ticket exists to prevent. The test asserts it end to end: what the menu quotes for a berth is what that office is charged when the clock comes round.

Empty berths are quoted nothing rather than listed at zero, matching the rule that an office with nobody in it is idle.

Verification
test_fleet_upkeep_scaling.gd: the first paid berth is undialled, each berth after costs at least as much as the one before, twelve berths in it has risen but stays under 6x, the per-minute total equals its own per-berth charges at the rate they are taken, an empty berth is not quoted, and a real charge matches the quote. Checked visually at 720x1280 with a six-vessel fleet and one starved office.

Implemented in commit `2bb46cb` on `main`. Full suite: **166/166 passed**. **The curve** Every berth past the first paid one costs `1.12x` the one before it, applied to the existing flat per-vessel charge. I sized the rate rather than picking a round number: - at **1.12**, the 13th berth costs about 3.5x the second and the 20th about 7.5x - at 1.15 it reaches unaffordable while the player is still learning what the fleet is for - at 1.10 it is nearly flat across the first several berths once the rounding to whole resources bites The first vessel remains free, and the first PAID berth pays the base rate undialled - the curve starts where the charging starts rather than partway up it. **The menu** A new action on the Fleet Office. It shows the whole bill per minute (`31.2 ore - 12.0 energy - 4.8 gas per minute`), then a line per paying berth giving the hull, what it is charged, its multiplier, and an UNPAID marker on a starved office - then the arithmetic in words: the vessel's build price divided by 8, multiplied by 1.12 for every berth past the first paid one, charged every 25s. **The part worth being careful about** The menu does no arithmetic of its own. It renders `GameState.fleet_upkeep_breakdown()`, which is the same calculation `_advance_fleet_office_upkeep()` runs when it takes the resources. A readout that summed independently could quote a bill the game does not actually charge - which is exactly the "the numbers are lying to me" failure this ticket exists to prevent. The test asserts it end to end: what the menu quotes for a berth is what that office is charged when the clock comes round. Empty berths are quoted nothing rather than listed at zero, matching the rule that an office with nobody in it is idle. **Verification** `test_fleet_upkeep_scaling.gd`: the first paid berth is undialled, each berth after costs at least as much as the one before, twelve berths in it has risen but stays under 6x, the per-minute total equals its own per-berth charges at the rate they are taken, an empty berth is not quoted, and a real charge matches the quote. Checked visually at 720x1280 with a six-vessel fleet and one starved office.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
metaheavens/spaceship#220
No description provided.