Skip to content

Drone Logistics Design

Document Type: Design Document Version: 0.1 (Draft) Status: In Progress Last Updated: 2026-08-29 Vault destination: 01_Design Documents Extracted from: 04_Factory & Resource System Design — Logistics Systems Related: [19_Transport & Logistics](<./19_Transport & Logistics.md>) · [24_Module System Design](<./24_Module System Design.md>) · [23_Port System Design](<./23_Port System Design.md>) · [20_Belt Logistics - The Router](<./20_Belt Logistics - The Router.md>) · [00_Canonical Design Facts](<../04_Project Management/00_Canonical Design Facts.md>)


Authority for shared transport rules: [19_Transport & Logistics](<./19_Transport & Logistics.md>). This document covers drones specifically; the rules common to every carrier live there.


1. What Drones Are For

The carrier that needs no built path. Belts need a corridor of belt tiles, rail needs track, catenary needs wire. A drone needs only two endpoints, and it flies above obstacles, so the route is a straight line rather than a search.

That is their whole niche: low volume, expensive per unit, and reconfigurable. Good for terrain you will not build across, for an outpost you have not committed to, and for connections that change often. Bad for anything a belt would do better.

2. Routing — Pairs Plus a Shared Reserve

A drone is assigned one source and one destination, and shuttles between them. There is no pooled fleet taking whatever job is queued, and the reserve never creates a route — it only serves routes the player has already configured.

A general pooled network needs per-tick matching of idle drones against outstanding requests, which grows badly and is a known performance sink in the genre. It also invites drones to become general logistics, which puts them back in competition with belts and erases the niche above. A reserve serving existing routes is not a general pool: the matching set is a small, deliberate list the player built, not everything within a radius.

2.1 Demand pulls; nothing is pushed

A drone flies because the destination is short, not because the source has surplus. The destination requests, and the drone carries what it lacks and the source has.

Pull means an idle factory has idle drones. Push would fly them constantly whether or not anything needed the goods, and waste trips against a full destination. It also matches the Router, which backpressures rather than voiding: nothing moves unless there is room for it.

3. The Drone Pit

Dedicating twenty drones to one route leaves twenty drones idle when demand falls. A route runs on one or two assigned drones, and a pit holds a shared reserve that any configured route can draw on when demand spikes. The factory then needs far fewer drones in total.

Belongs to Stationed at Charges at Dispatched by
Assigned drone A route Its source module Its module Its own route's demand
Reserve drone The pit The pit The pit Any configured route

A pit serves any selected route, however far. There is no coverage radius. Distance is not prohibited, it is simply paid for: a long trip may exhaust the battery, and then the drone depends on power poles along the way or is stranded, per the Simulation Level rule above. This is the same principle the power design already uses — long distribution runs are allowed, they just become lossy and unreliable, which is the lesson rather than a prohibition.

A trip always finishes. A dispatched reserve drone is never recalled mid-route, which avoids a half-loaded drone with nowhere to put its cargo.

When the pit is empty, nothing happens. The route continues at its assigned capacity. There are simply no more drones to service demand, and that is the signal to assign another one permanently.

4. The Drone Module

A drone module sits in a roof slot on the building it serves. It is the pickup point, the dropoff point, the dock, and the charger.

  • Participation costs a module slot. That is what bounds the system: a player chooses, building by building, what drones can reach. Compare a coverage radius, where everything nearby joins automatically whether it was wanted or not.
  • The link is inherent. The module is on the building, so there is no separate registry, no orphaned interaction points, and the module dies with its building.
  • It follows the pattern already established by the roof-mounted Power Pole module.

There is no Drone Port. Earlier drafts had one, holding jobs that have since moved: charging is the module's, construction belongs to a dedicated building, and fleet visibility is a HUD tab. A building with nothing left to do is worse than no building.

5. Power and Range

A drone charges while docked in its module. Power cost is therefore proportional to use: longer routes drain more and demand more charge.

Power poles are the en-route case, not the normal one. A drone that runs out along the way can hook onto a pole to top up. That makes battery range a genuine constraint on route length, and makes poles along a route insurance rather than infrastructure you are obliged to build. It also gives the pole a third job, after power distribution and the roof-mounted pole module.

Two Simulation Level behaviours.

Level Out of power Packing Box wear
1 Limps home at reduced speed Automatic None
2 Stranded in place until a pole is built within reach You build packing and unpacking None
3 Stranded in place You build both Metal and plastic degrade

Each level adds detail to the same mechanic rather than changing it. Degradation at level 3 also repairs a balance problem: metal boxes circulating forever would be strictly better than cardboard once the up-front cost was paid. Wearing out makes metal cheaper ongoing, not free ongoing, so the trade survives into the late game.

Stranding is legible rather than punishing — nothing is destroyed, and a drone sitting motionless over empty ground is the clearest possible statement that a route is too long.

6. Cache Boxes

A box holds one substance. A drone carries several boxes. That gets the multi-input trip — one drone serving a four-input Research Lab — without making boxes the only container in the game that mixes. Silo, Tank and pipe buffers are all single-substance; boxes follow.

Boxes belong to nobody. They are ordinary items that happen to contain something, which is exactly what a barrel is, so they need no new machinery: packing and unpacking are ordinary recipes, and the relationship lives in the recipe graph.

20 iron + 1 assembled box   ->  1 iron box
1 iron box                  ->  20 iron + 1 assembled box

6.1 Flat boxes and assembled boxes

Two distinct items, because otherwise shipping empty boxes to a module means putting boxes inside boxes.

Item What it is How it moves
Flat box Flat-packed. A normal item Belts, trains, or inside a box on a drone
Assembled box A container in use Only at modules and in drone cargo

The module assembles a flat box when it needs one. Empty containers therefore never need shipping: what ships is flat, what packs is assembled.

6.2 Two materials, two shapes of cost

Capacity per type is a tuning value, not a fixed design decision.

Supply Waste Wears out
Cardboard Permanent supply line to every module. Consumed each trip Spent boxes must be removed and recycled n/a
Metal / plastic Deliver once. Rides the return leg thereafter None in normal use Yes, at Simulation Level 3

This is the belt-versus-rail shape again: pay once, or pay forever. Cardboard costs a belt in and a belt out at every drone module; metal costs one delivery and then nothing.

Cardboard comes from wood, giving the Biomass Farm a customer beyond fuel and polymer. Spent cardboard and worn metal both feed the Recycler.

Box type is chosen at the module, configured in the Building Detail Panel. To the drone, a box is a box.

6.3 Repairing worn boxes

Worn boxes are not repaired, they are recycled. A worn box goes to the Recycler and returns as material for new ones. That reuses a building that already exists rather than inventing a repair mechanism for items, and it keeps the loop lossy per Canonical Design Facts §12b — recovery is never total, so metal stock needs slow topping up, which is the "slowly replace" behaviour intended.

It also adds a real logistics step at Simulation Level 3: worn boxes accumulate at modules and must be collected.

Buildings are repaired; boxes are recycled. Both decay, and the difference is deliberate. A building is fixed, so Genesis can be sent to it, and repair preserves everything configured on it — ports, modules, contents. A box is a mobile consumable with nothing configured on it, so there is nothing to preserve.

Degradation rate is configured per substance, so metal and plastic wear differently.

7. Trip Conditions

A trip happens when all three hold:

  1. The destination has space. It cannot request what it has nowhere to put
  2. The source has stock — a full load, or a partial one if the module is set to allow it
  3. Demand exists — pull, never push

⚠️ Full-load-only against a destination that never has a full box of free space means no trip ever happens. That is a configuration error rather than a system flaw, and it is exactly what the Building Detail Panel should surface.

8. Payload, Levels and Fluids

  • Capacity comes from the cache box the drone carries, not from the drone.
  • Drones cannot fly underground. Surface and sky only, changing level through a vertical shaft. Underground logistics stays belts, pipes and rail.
  • Fluids only in barrels, or via a dedicated fluid-carrier variant. A barrel is an ordinary solid item, so an ordinary drone can carry one.

9. Built by a Dedicated Building

Drones are produced by a building of their own. Fleet visibility lives in a HUD tab, not in a structure.


Open items for this document are tracked in docs/open-items.md, area logistics.


10. Revision History

Version Date Changes
0.1 2026-08-29 Extracted from 04_Factory & Resource System Design unchanged, so that every carrier with real depth has its own document, matching 22_Trains & Rail and 20_Belt Logistics - The Router. Content covers the no-built-path niche, pairs plus the shared reserve, pull routing, the drone module, the pit, cache boxes, and the Simulation Level behaviours.