F34.us
Menu

Article · 3 MIN READ

Dev Notes: Polinaria World Logistics

How local inventories, one-edge-per-tick movement, and fair capacity sharing make the sanctuary’s supply routes easier to understand.

Water has to get there somehow

A watering basin can be empty while an extractor across camp has a full tank. That is now a real logistics problem in Polinaria World: buildings hold their own stock, and routes move it between them.

The simulation replaced its old route-by-route transfer behavior with a small logistics graph. Extractors, mines, refineries, command habitats, storage depots, service bays, and basins are inventory nodes. Routes are the edges. There is no magic global reserve for an endpoint to draw from.

One edge per tick

Goods travel one edge per simulation tick. A mine-to-habitat-to-refinery journey therefore takes at least two ticks. Storage depots and the command habitat become useful transit buffers because material cannot cross the whole colony in one update.

flowchart TD
    Mine[Mine: local ore] -->|Tick 1| Habitat[Command habitat: transit buffer]
    Habitat -->|Tick 2 or later| Refinery[Refinery]

The diagram shows the earliest possible trip. A shortage, full destination, or limited route capacity can make it take longer.

A pipeline is not a rover road

Route Direction What limits the flow
Pipeline One way Supported resource, source stock, destination space, and route capacity
Rover route Both ways The same constraints, with one shared capacity budget per tick

A water line can fill a basin without quietly sending water back upstream. A rover road can carry raw ore toward a refinery and refined material toward a hub, but those movements compete for the same vehicle capacity.

When there is not enough to go around

Imagine two basins competing for six units of water. A route should not lose forever just because its name sorts later.

For each resource, the simulation sorts eligible flows, rotates the starting point using the current tick and resource name, and then spends source inventory, destination space, and route capacity. Scarcity still hurts, but the shortage moves around deterministically. That makes it easier to read and test.

Let the route explain itself

The API exposes each flow's resource, source, destination, requested amount, moved amount, shortfall, and a short message. Older aggregate fields remain available, so a card can show the total movement while a detailed view explains what happened.

Route state What it tells the player
Stocked Reachable buffers have no open demand
Moving All requested movement was satisfied
Starved At least one requested flow came up short
Idle Endpoints are active, but there is nothing useful to move
Blocked Endpoint or reliability failures prevent movement

Extractors produce into their own tanks. Mines and refineries keep local inventories. Hubs buffer goods in transit. Power remains a computed per-tick constraint, rather than another resource moving through the graph.

The camp feels more physical because an empty destination now asks a visible question: where is its supply, and which route will bring it here?

F34.us Background Image