feat: rework modules, items and fuel
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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).
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user