F34.us Content Aggregator Prototype

Dev Notes: Polinaria World Logistics

Polinaria World recently replaced its old route-by-route transfer behavior with a small logistics graph inside the simulation.

The practical change is simple to understand: buildings are now inventory nodes, and routes are the edges between them. A water extractor, mine, refinery, command habitat, storage depot, service bay, and watering basin all have their own local stock. The route system no longer pretends there is one magic global reserve that every endpoint can draw from. If a basin needs water, that water has to exist in an extractor or hub inventory and move across an active route.

Pipelines and rover routes now feel different in code and in play. Pipelines are one-way edges. They move the resource their endpoints support from source to destination, so a water line can fill a basin but cannot quietly push water back upstream. Rover routes are bidirectional edges, and they share one route capacity budget per tick. That makes a rover link useful as a working camp road: raw ore can travel toward a refinery while refined material can return toward a hub, but both movements compete for the same vehicle capacity.

The graph deliberately moves goods one edge per simulation tick. A mine feeding a command habitat and a command habitat feeding a refinery takes at least two ticks to complete the trip. That rule is small, but it gives storage depots and the command habitat a real job as transit buffers instead of letting resources teleport across the whole colony in one update.

Scarcity is handled with deterministic fairness. For each resource, the simulation sorts eligible route flows, rotates the starting point using the current tick and resource name, and then spends source inventory, destination capacity, and route capacity in that order. If two basins are competing for six units of water, one route does not permanently starve just because it sorts later. The shortage moves around predictably, which makes failures easier to read and easier to test.

The API now exposes this work through route flow details. Each route can report the resource, source building, destination building, requested amount, moved amount, shortfall, and a short message for each flow. The older aggregate fields still exist, so route cards can keep saying how much moved last tick while more detailed views can explain exactly what happened.

The visible route states are also cleaner. A route can be stocked when its reachable buffers have no open demand, moving when all requested movement was satisfied, starved when at least one requested flow came up short, idle when endpoints are active but there is nothing useful to do, or blocked when endpoint or reliability failures stop it outright.

The end result is a more legible settlement simulation. Water extractors produce water into themselves. Mines and refineries keep local inventories. Command habitats and storage depots become real logistics hubs. Power remains a computed per-tick constraint instead of a graph resource. The player gets a camp that feels more physical: if something is not where it needs to be, the map has to explain how it is supposed to get there.

F34.us Background Image