feat: rework modules, items and fuel

This commit is contained in:
2026-03-17 03:32:37 -04:00
parent ec1116e1ce
commit 3234b628ea
45 changed files with 4882 additions and 6052 deletions

View File

@@ -164,7 +164,7 @@ Typical outputs:
- current destination node
- local tactical task
- retreat decision
- docking/refuel intent
- docking intent
- trade or delivery acceptance
## Commander Ownership

View File

@@ -390,19 +390,6 @@ Suggested station-side workforce fields:
Commanders should not be ordinary cargo items even if they are population-derived.
## Power State
Ships and stations both need explicit operational power state.
Suggested fields:
- `fuelInventory`
- `energyStored`
- `powerOperational`
- `powerDeficitReason?`
This matters because no fuel leads to no power, and no power halts major operations.
## Inventories
Inventories should remain generic item maps, but hosts should also have explicit context.

View File

@@ -31,7 +31,6 @@ For the implementation migration path from the current codebase to this design s
- item categories
- life-support goods
- construction goods
- fuel-chain goods
- population-related units
- [WORKFORCE.md](/home/jbourdon/repos/space-game/docs/WORKFORCE.md)

View File

@@ -84,7 +84,6 @@ A buy order should include, conceptually:
Buy orders let a station express:
- production input demand
- fuel shortages
- construction material shortages
- military resupply needs
@@ -138,8 +137,6 @@ The station commander should:
Without a station commander, a station should not act like a healthy market participant.
If the station has no fuel and therefore no power, it should not continue normal market operation.
However, there is an important exception during founding or emergency intervention:
- a higher actor may force transfers toward the station or construction site even without ordinary market behavior
@@ -149,7 +146,7 @@ Recommended review loop:
1. inspect current inventory
2. inspect production queues or goals
3. inspect incoming and outgoing reservations
4. inspect fuel, defense, and construction reserves
4. inspect defense, and construction reserves
5. update buy orders
6. update sell orders
7. request logistics or strategic help if necessary
@@ -185,7 +182,7 @@ The intended economy should eventually support flows such as:
1. extract raw resources
2. move them to useful stations
3. refine or process them
4. consume them for fuel, production, or expansion
4. consume them for production or expansion
5. produce intermediate and advanced goods
6. sell surpluses or acquire shortages through the market
@@ -200,7 +197,6 @@ Logistics should emerge from market demand, not only from hardcoded behavior loo
Examples:
- a hauler sees a profitable sell-to-buy opportunity
- a station commander requests urgent fuel delivery
- a faction commander subsidizes strategic resource movement
This is a better long-term basis than one-off scripted “mine and deliver to this exact station” logic.
@@ -208,7 +204,6 @@ This is a better long-term basis than one-off scripted “mine and deliver to th
Traders should generally prefer the best reachable buy opportunity within their allowed operational range, subject to:
- travel time
- fuel cost
- risk
- behavioral restrictions
- territorial or regional limits
@@ -236,7 +231,6 @@ The economy will work better if stations can reserve expected inventory changes.
Examples:
- incoming fuel is reserved for station power
- outbound metals are reserved for a construction project
- a hauler claims part of a sell order before pickup

View File

@@ -289,7 +289,6 @@ Every event should be capable of producing a concise human-readable summary.
Example style:
- `Claim at Helios IV L4 destroyed by pirates`
- `Station buy order for fuel opened`
- `Miner completed warp to refinery node`
This helps reuse the same event model for:

View File

@@ -33,10 +33,9 @@ The intended categories are:
2. processed industrial goods
3. life-support goods
4. civilian goods
5. fuel and power-chain goods
6. construction goods
7. population-related units
8. special logistics goods later
5. construction goods
6. population-related units
7. special logistics goods later
## Raw Resources
@@ -86,20 +85,6 @@ Current important example:
These goods should matter for workforce health, quality of life, and possibly future growth modifiers.
## Fuel And Power-Chain Goods
These are the goods that keep ships and stations running.
Examples:
- gas as an energy-chain input
- fuel as a refined operational good
The exact chain may evolve, but the important distinction is:
- some goods are energy inputs
- some goods are operational fuels
## Construction Goods
These are the goods used to build stations and possibly ships.
@@ -116,7 +101,7 @@ Construction storage at a station site should create demand for these goods thro
## Population-Related Units
Population itself should be treated as a tracked resource, but not as an ordinary trade good in the same sense as metal or fuel.
Population itself should be treated as a tracked resource, but not as an ordinary trade good in the same sense as ore.
Important distinctions:
@@ -144,12 +129,6 @@ The current design implies at least these roles:
- `ore`
- raw industrial input
- `gas`
- raw fuel-chain input
- `fuel`
- operational energy good
- `food`
- workforce life-support
@@ -173,12 +152,11 @@ Not every item should necessarily fit in every hold type forever.
Useful distinctions later may include:
- bulk industrial cargo
- liquid cargo
- gas cargo
- containerized finished goods
- human transport capacity
- livestock capacity
- solid storage
- liquid storage
- container storage
- passengers
- livestock
For now, the important rule is simply:
@@ -191,7 +169,6 @@ Items should participate in the market according to their role.
Examples:
- life-support goods generate recurring demand
- fuel goods generate operational demand
- construction goods generate burst demand during expansion
- industrial goods feed production chains
- worker transport supports station staffing
@@ -220,7 +197,7 @@ The following rules should remain true unless deliberately revised:
- workforce depends on real support goods
- station construction depends on real construction goods
- fuel and industrial chains are item-based
- industrial chains are item-based
- workers are movable population units
- commanders are not ordinary trade cargo
- livestock is distinct from workers

View File

@@ -48,7 +48,6 @@ Examples:
- no docking module means no docking service
- no habitat module means no population growth or human transport
- no refinery module means no refining
- no fuel-processing module means no gas-to-fuel conversion
- no storage module means reduced or absent inventory capability
- no shipyard-related module means no ship production
@@ -92,7 +91,6 @@ Likely station-side categories include:
- storage
- habitat
- refinery
- fuel processing
- manufacturing
- shipyard or construction support
- defense
@@ -141,7 +139,6 @@ Examples:
- reactor
- capacitor
- station power core
- fuel systems
### Production Modules
@@ -150,7 +147,6 @@ These convert goods into other goods or into built output.
Examples:
- refinery
- fuel processor
- factory
- shipyard support
@@ -198,7 +194,6 @@ They may require:
- build time
- power
- workforce
- fuel or energy inputs
- docking or logistics support
This should let stations and ships fail in believable ways when underbuilt or undersupplied.
@@ -219,7 +214,6 @@ Modules should define which item flows an entity can participate in.
Examples:
- a habitat module enables population support
- a fuel-processing module consumes gas and produces fuel
- a refinery consumes raw resources and produces processed goods
- a storage module determines what volume or class of goods can be held
- a livestock module participates in the food chain

View File

@@ -49,7 +49,6 @@ A recipe should conceptually define:
- cycle time
- valid producing module types
- optional workforce requirement
- optional power or fuel requirement
Recipes should be first-class design objects, not hidden assumptions inside modules.
@@ -60,7 +59,6 @@ Recipes are executed by production-capable modules.
Examples:
- refinery module
- fuel processing module
- factory module
- food-chain module later
- shipyard support module
@@ -112,16 +110,6 @@ For now:
This keeps the initial system consistent and simple.
## Power Interaction
Production should also respect power and fuel state.
Without power:
- production stops
This is especially important for stations because no-fuel means no-power, and no-power means no normal operation.
## Input Shortage Behavior
If inputs are missing:
@@ -153,7 +141,6 @@ The exact recipes can evolve, but the intended shape includes chains like:
2. refining or processing
- ore -> refined goods
- gas -> fuel
- food-loop conversions later
3. industrial use

View File

@@ -151,23 +151,6 @@ Not:
This means friendly or otherwise permitted factions may build stations within the same system, so long as they use different valid locations.
## Failure State
Without fuel there is no power.
Without power, station function collapses.
A powerless station should not continue normal market or industrial behavior.
At that point, recovery should require outside intervention such as emergency restoration, delivered fuel, or a dedicated support operation.
This also means:
- no loading
- no unloading
- no ordinary trade handling
- no ordinary production
## Services
Depending on modules and category, a station may provide:
@@ -175,11 +158,9 @@ Depending on modules and category, a station may provide:
- docking
- storage
- refining
- fuel processing
- manufacturing
- repair later
- fitting later
- rearm and resupply later
- repair
- fitting, rearm and resupply later
- habitats
The exact conversion and factory behavior behind these services is described in [PRODUCTION.md](/home/jbourdon/repos/space-game/docs/PRODUCTION.md).

View File

@@ -41,7 +41,6 @@ Goals are high-level commander intentions.
Examples:
- expand into this system
- keep this station fueled
- defend this claim
- protect trade in this region
- supply this station with workers
@@ -60,7 +59,6 @@ Examples:
- dock at station
- claim Lagrange point
- build station here
- deliver fuel
- escort this ship
- defend this bubble
@@ -223,7 +221,6 @@ Examples:
- deny dock request
- transfer goods
- request defense
- request emergency fuel support
These may be implemented as station jobs, station operations, or station-side tasks.
@@ -237,7 +234,7 @@ Examples:
- flee to nearest allowed station
- hold position if no valid route exists
- suspend trade when no legal destination exists
- wait for fuel, escort, or dock access
- wait for escort, or dock access
This prevents autonomous loops from becoming self-destructive.

View File

@@ -52,7 +52,6 @@ Workers consume, per worker:
- food
- water
- energy
- consumer goods
These should be understood using the item roles defined in [ITEMS.md](/home/jbourdon/repos/space-game/docs/ITEMS.md).
@@ -146,7 +145,6 @@ A newly founded station may begin with:
It can still exist and operate at baseline efficiency, but it remains weak until supplied with:
- fuel
- workers
- support goods
- eventually a station commander
@@ -159,7 +157,6 @@ Relevant shortages include:
- food shortage
- water shortage
- energy shortage
- consumer goods shortage
This gives logistics failure lasting demographic consequences.
@@ -178,7 +175,7 @@ The following rules should remain true unless deliberately revised:
- population grows only at stations for now
- habitat modules are required for growth
- workers consume food, water, energy, and consumer goods
- workers consume food, water and consumer goods
- workforce affects station efficiency
- stations retain a small baseline efficiency at zero workforce
- population can be transported between stations