Systems overview¶
Job system¶
Colonists perform jobs: chop, mine, haul, drink, sleep. Flow:
- JobAssigner – assigns pending jobs to free colonists (scoring by distance, skills, needs)
- JobMovement – moves colonists along paths; step time depends on tile/object speed
- JobWorkExecution – arranges work (chop/mine via ActionExecutor, drink/sleep tick-to-complete)
- HaulJobCreator – creates haul jobs for resources
See Job system for details.
Events¶
GameEventBus – typed event bus. Domains: Job, Selection, Zone, Need.
See Events for details.
Behaviors (sim/core)¶
BehaviorRunner – generic ticker for entity behaviors (interval + run(entity, context, deltaTime)). Colonist behaviors: needCheck (tick needs, request drink/sleep when ≤10%), wander (request MoveToJob when free). Client provides context implementation (add jobs). See Behaviors.
Documentation index¶
| Doc | Topic |
|---|---|
| Behaviors | BehaviorRunner, colonist behaviors, context impl |
| Job system | Job flow, types, XP |
| Haul system | Storage reservation, partial pickup, deliveryQty |
| Events | GameEventBus, domains |
| Server & map generation | API, NoiseMapGenerator, terrain |
| Sim objects | ColonistObject, interfaces, ObjectManager |
| UI structure | Screens, Sidebar, Footer, panels |
| Minimap | Click-to-jump, overlay mode, coordinate handling |
| Movement & needs | Speed factors, pathfinding, need decay |
| Map rendering | TerrainLayer, ObjectLayer, ZoneOverlayLayer |
| Game data | Registries, orders, zones, order/zone actions, need handlers, gather completion |
| GameSimulation | Headless sim stub |
| Persistence | SessionManager, save/load flow |
| Panel internals | InfoPanel, ZonePanel, ObjectPanel, WorkshopPanel |