Add fuel logistics, modular construction, and pad docking
This commit is contained in:
210
NEXT-STEPS.md
210
NEXT-STEPS.md
@@ -1,101 +1,74 @@
|
||||
# Next Steps
|
||||
|
||||
## Galaxy / Viewer Fit
|
||||
## Immediate Backend Follow-Up
|
||||
|
||||
The world is now much larger and more varied:
|
||||
The simulation now has the beginnings of a self-sustaining bootstrap:
|
||||
|
||||
- roughly galaxy-scale system counts
|
||||
- elevated system height variance
|
||||
- procedural orbital metadata
|
||||
- moons, rings, binary stars, asteroid belts, gas clouds
|
||||
- special-case `Sol` system content
|
||||
- ore miner
|
||||
- gas miner
|
||||
- station-side `gas -> fuel`
|
||||
- constructor-led station module installation
|
||||
- pad-based docking with reservation
|
||||
- timed mining, spool-up, docking, and undocking
|
||||
|
||||
The next step is not “make the map larger.” That is already done for the current runtime.
|
||||
The next step is to close the remaining logistics and simulation gaps around that bootstrap.
|
||||
|
||||
Recommended work:
|
||||
|
||||
- tune galaxy readability at scale
|
||||
- better starfield depth cues
|
||||
- stronger color/size differentiation for star classes
|
||||
- improved system label decluttering
|
||||
- add galaxy navigation affordances
|
||||
- jump-to-system search
|
||||
- constellation / region overlays
|
||||
- bookmarks for notable systems such as `Sol`
|
||||
- tighten viewer performance
|
||||
- reduce orbit/moon draw cost when zoomed out
|
||||
- pool or simplify distant celestial meshes
|
||||
- profile high-system-count scenes
|
||||
- add constructor material logistics
|
||||
- allow the constructor to fetch module materials instead of assuming they are already on the target station
|
||||
- add pickup / load phases and delivery priorities
|
||||
- expose station installed modules and active construction to the viewer
|
||||
- installed modules
|
||||
- current build target
|
||||
- build progress
|
||||
- harden dock management
|
||||
- make dock eligibility depend on dock type / ship class if needed
|
||||
- surface pad occupancy in debug UI
|
||||
- add stronger action timing coverage
|
||||
- timed final approach / berthing if desired
|
||||
- timed station-side processing queues if multiple modules run concurrently
|
||||
- add recovery behavior for stranded ships
|
||||
- rescue / tow / emergency refuel
|
||||
- better handling after full fuel and power depletion
|
||||
|
||||
## Economic Growth
|
||||
## Economy / Logistics
|
||||
|
||||
The current economy already supports:
|
||||
The economy now has a more explicit resource chain:
|
||||
|
||||
1. mining ore
|
||||
2. hauling to refining
|
||||
3. refining / fabricating goods
|
||||
4. spending those goods on ships and outposts
|
||||
2. harvesting gas
|
||||
3. processing `gas -> fuel`
|
||||
4. refining ore
|
||||
5. spending refined goods on station growth
|
||||
|
||||
The next step is not “invent a use for refined goods.” That use already exists.
|
||||
|
||||
The next step is to make faction growth more intentional and legible.
|
||||
The next step is to make those logistics deliberate instead of bootstrap-scripted.
|
||||
|
||||
Recommended work:
|
||||
|
||||
- make shipbuilding priorities reactive
|
||||
- build more miners / haulers when ore throughput is low
|
||||
- build escorts when industrial losses rise
|
||||
- build warships when frontier pressure rises
|
||||
- make expansion logic consume the economy more visibly
|
||||
- use industrial stock to claim and fortify central systems
|
||||
- expose production pressure in UI
|
||||
- show ore throughput
|
||||
- show fabricated goods
|
||||
- show queued faction priorities
|
||||
- make resource type differences matter
|
||||
- ore belts vs gas clouds
|
||||
- gas-aware logistics and production choices
|
||||
|
||||
## Pirate Harassment
|
||||
|
||||
Pirates already exist and can raid, fight, and destroy ships.
|
||||
|
||||
What they are missing is sharper industrial harassment behavior.
|
||||
|
||||
Recommended work:
|
||||
|
||||
- prioritize miners, haulers, and refinery approaches as pirate targets
|
||||
- add local threat weighting around:
|
||||
- resource nodes
|
||||
- refinery docking lanes
|
||||
- undefended transport routes
|
||||
- force empires to react by:
|
||||
- escorting miners
|
||||
- patrolling refinery systems
|
||||
- building defensive stations sooner
|
||||
|
||||
This will make the industrial loop produce strategic tension instead of just passive growth.
|
||||
|
||||
## High-Value Gameplay Sequence
|
||||
|
||||
The most useful short-term gameplay loop to solidify is:
|
||||
|
||||
1. miners feed refining
|
||||
2. refining feeds ship production
|
||||
3. pirates harass industry
|
||||
4. empires respond with escorts, patrols, and new outposts
|
||||
5. stronger economies produce stronger military presence
|
||||
6. system control shifts based on industrial strength and protection
|
||||
|
||||
That turns the simulation into a real strategy loop.
|
||||
- split logistics roles more clearly
|
||||
- ore miner
|
||||
- gas miner
|
||||
- hauler / constructor transport
|
||||
- make station build priorities responsive
|
||||
- fuel chain first when reserves are low
|
||||
- ore refining when fuel is stable
|
||||
- docking expansion when traffic backs up
|
||||
- make fuel scarcity visible in debug UI
|
||||
- fuel throughput
|
||||
- gas stock
|
||||
- dock contention
|
||||
- move away from generic node selection
|
||||
- let miners prefer nearby valid nodes
|
||||
- factor travel cost and dock turnaround into throughput planning
|
||||
|
||||
## Concrete Implementation Order
|
||||
|
||||
1. Add viewer-scale performance controls for the larger galaxy.
|
||||
2. Add faction production heuristics based on current economy and losses.
|
||||
3. Make pirate target selection explicitly prefer economic targets.
|
||||
4. Surface faction stocks, throughput, and build priorities in the HUD/debug views.
|
||||
5. Expand the order/behavior set with higher-value RTS actions like `hold-here`, `attack`, and `defend-area`.
|
||||
1. Add constructor pickup / delivery behavior for module materials.
|
||||
2. Expose station installed modules, dock pads, and active construction in the contracts and viewer.
|
||||
3. Add rescue / recovery behavior for power-starved ships.
|
||||
4. Add faction build priorities based on fuel, ore throughput, and dock saturation.
|
||||
5. Improve pirate targeting so industrial ships and docking lanes are high-value harassment targets.
|
||||
6. Break backend simulation responsibilities into smaller planning / faction / combat / logistics modules.
|
||||
|
||||
## Network / Multiplayer
|
||||
@@ -133,68 +106,31 @@ Recommended work:
|
||||
- versioning
|
||||
- reconnect / catch-up semantics
|
||||
|
||||
## Viewer / Debugging
|
||||
|
||||
The viewer still works as an observer/debug client first.
|
||||
|
||||
Recommended work:
|
||||
|
||||
- fix the current `followedShipId` regression in `GameViewer.ts`
|
||||
- show station module state and construction state
|
||||
- show dock occupancy and waiting ships
|
||||
- expose fuel-chain health
|
||||
- gas stock
|
||||
- fuel stock
|
||||
- refinery / processor activity
|
||||
- improve event typing for:
|
||||
- dock request
|
||||
- dock granted
|
||||
- refuel
|
||||
- construction started / completed
|
||||
|
||||
## Interest Management
|
||||
|
||||
The current stream is world-wide.
|
||||
|
||||
That means every observer receives deltas for the full simulation, even when only looking at one part of space.
|
||||
The stream is still world-wide.
|
||||
|
||||
Recommended work:
|
||||
|
||||
- add observer/view-scoped subscriptions
|
||||
- visible systems
|
||||
- nearby ships / stations / nodes
|
||||
- faction-scoped or player-scoped channels later
|
||||
- support subscribe / unsubscribe as camera focus changes
|
||||
- send only relevant deltas per observer
|
||||
- keep coarse strategic updates available for off-screen context
|
||||
- system ownership
|
||||
- major combat
|
||||
- economy summaries
|
||||
|
||||
This is the key step that makes many simultaneous observers practical without broadcasting the entire world to everyone.
|
||||
|
||||
## Replication Quality
|
||||
|
||||
The backend already sends:
|
||||
|
||||
- initial snapshot
|
||||
- incremental deltas
|
||||
- event records
|
||||
|
||||
Recommended work:
|
||||
|
||||
- add stronger event typing
|
||||
- spawn
|
||||
- destroy
|
||||
- dock
|
||||
- undock
|
||||
- cargo transfer
|
||||
- combat hit / kill
|
||||
- improve interpolation and extrapolation policies per entity type
|
||||
- add per-layer presentation tuning in the viewer
|
||||
- smoother fade bands between local / system / universe
|
||||
- better visual density control at galaxy scale
|
||||
- moon/orbit LOD based on zoom level
|
||||
- add resync handling when a client falls too far behind
|
||||
- consider switching from SSE to websocket transport if bidirectional command traffic becomes heavy
|
||||
|
||||
## Celestial Depth
|
||||
|
||||
The current celestial layer is procedurally rich, but still mostly decorative outside of resource nodes.
|
||||
|
||||
Recommended work:
|
||||
|
||||
- add authored moon metadata when needed
|
||||
- labels
|
||||
- resource-bearing moons
|
||||
- special landmarks
|
||||
- support multiple belts / cloud bands per system explicitly
|
||||
- add stellar gameplay hooks
|
||||
- hazardous neutron-star systems
|
||||
- high-value binary systems
|
||||
- rich-gas outer systems
|
||||
- expose notable-system summaries in the viewer
|
||||
- star class
|
||||
- resource profile
|
||||
- moon count
|
||||
- keep strategic summaries for off-screen context
|
||||
|
||||
Reference in New Issue
Block a user