Skip to content

Systems overview

Job system

Colonists perform jobs: chop, mine, haul, drink, sleep. Flow:

  1. JobAssigner – assigns pending jobs to free colonists (scoring by distance, skills, needs)
  2. JobMovement – moves colonists along paths; step time depends on tile/object speed
  3. JobWorkExecution – arranges work (chop/mine via ActionExecutor, drink/sleep tick-to-complete)
  4. 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