Paths & Flow
Paths are the player's main verb. From every owned tile they draw outgoing routes, assign batched weights to each branch, and watch the network distribute units automatically. Paths are standing orders — the supply chain runs without micromanagement until the player intervenes.
Path Budget
Every owned tile carries 4 separate path trees — one per pathing unit type (Army, Gather, Engineer, Defender). Each tree has its own independent budget; drawing a 4-hex Engineer path doesn't reduce Army budget. Scouts are direct-control and have no path tree.
Per-tree budget formula: budget = level + type_offset.
The offset bumps logistics-class trees outward so an L1 tile isn't limited to
a 1-hex gather route.
| Type | Offset | L1 reach | L6 reach |
|---|---|---|---|
| Army | +0 | 1 | 6 |
| Gather | +1 | 2 | 7 |
| Engineer | +1 | 2 | 7 |
| Defender | +0 | 1 | 6 |
| Scout | Direct-control — no path tree, click-to-move recon | ||
- Each tree's segments fan out from the source tile; a level-6 tile's Army budget can be spent on one 6-hex path, six 1-hex paths, or any split summing to 6. Higher-level tiles project further or fan wider, not both at once — per tree.
- Tiles can host trees of types they don't produce. A Spawn-Army tile can have gather-paths drawn from it for transit-routing gatherers passing through (the gatherers spawned there are Army, but a gatherer arriving from elsewhere needs the Gather tree to know where to go next).
Per-Type Traversal Patterns
Each pathing unit type walks its own tree differently — the supply-chain layer isn't just "armies but slower."
| Type | Forward traversal | End-of-path behavior |
|---|---|---|
| Army | One-way to the leaf at standard speed. | Engages combat at the leaf; consumed in the fight (M0 mechanic). |
| Gather | One-way at 1.8× speed. Flee-once on enemy contact at the leaf — reverses one hex along the incoming path, then continues normally. | Adopts the arrival tile's outgoing Gather tree → cycles through the player-designed route. Stops at producer tiles to fill cargo (per-resource fill-%); drops % at owned consumers. |
| Engineer | One-way at 0.8× speed. Flee-once on enemy contact at the leaf. | Adopts arrival tile's outgoing Engineer tree → cycles. Stops on tiles with active projects for the per-tile stop-duration, contributing engineer-seconds. |
| Defender | One-way at 0.1× speed (very slow). Walks the tree to the leaf. | Stops at the leaf and becomes a stationary Defender garrisoning that tile. Redeploy = redraw the Defender path from the unit's current location. |
| Scout | No path tree. Direct-control — player click-to-move; scout walks to the commanded tile and sits idle providing 1-hex vision until the next command, until killed by an enemy combat unit, or until killed by a mutual-destruction encounter with another scout. | |
Path-tile vision
Only Army paths reveal fog (1-hex vision around any Army-path tile, per GDD §13). Gather, Engineer, and Defender paths do not contribute vision. Logistics paths covering the whole map shouldn't trivialize fog — vision stays tied to tactically-relevant routes only. Scouts and Tower auras pick up the rest of the recon job.
Drawing Paths
The path-edit UI activates when the player selects an owned tile. The editor is per-unit-type — pick the tree you're editing (Army / Gather / Engineer / Defender), then draw.
- Paths are visible only when the originating tile is currently selected, and only for the unit-type tree currently being edited. Other players' paths are never visible to you.
- Adjacent tiles where the path can extend are marked with a green
+. Click to extend. - Paths can branch (split) — from any path tile, the player can extend further in one or more directions.
- Each existing segment shows a red
−. Click → confirm to remove. Removing a segment removes all segments downstream of it. - Each outgoing edge from the source tile and from each split point shows
+/−weight widgets for setting how many units flow into that branch. - The HUD displays per-type
used / budgetfor the active tree. - Paths are editable at runtime. Any change applies on the next spawn cycle.
Spawn Distribution Across Paths
A tile spawns its level units per cycle. Weights determine how many
of those units flow into each outgoing path.
| Position | Min weight | Behavior |
|---|---|---|
| Originating tile | 0 per outgoing path | You can starve a path entirely (e.g. for emergency rerouting). |
| Mid-path split point | 1 per branch | Prevents dead branches that get drawn but never used. |
Weights at any node do not need to equal the tile's spawn count:
- Sum < spawn rate: surplus units accumulate on the originating tile each cycle. Useful for stockpiling for an upgrade or a push.
- Sum = spawn rate: all units flow out, nothing accumulates.
- Sum > spawn rate: only the first spawn-rate units in the configured ordering go out per cycle; the rest wait for the next.
Distribution is Sequential / Batched
If a tile is set to send 3 units down path A, then 2 down path B,
the first 3 spawned units take path A, the next 2 take path B, then the cycle
loops. Not interleaved — batched. This makes burst-attacking on a single edge
predictable.
Path Persistence Through Captured Tiles
Paths do not break or reroute when an enemy captures a tile in the middle of one. The path is a standing order on the source tile, not a contract with the terrain.
| Scenario | What happens |
|---|---|
| Enemy claims a mid-path tile | Tile becomes a passthrough hazard in your supply line. Your units traveling through take damage from defenders / tile effects but do not engage in combat. |
| Enemy claims your path's endpoint | The path's units become attackers there, engaging combat at the new endpoint. |
Stranded Unit Behavior on Path Mutation
When a path is removed, units already in transit on that path freeze where they are:
- On an unowned tile: take ongoing damage from the tile.
- On an owned-by-the-player tile: integrate into that tile's spawn pool and follow that tile's outgoing paths.
If the path is later redrawn while units are stranded on an unowned tile, they resume the new path.
Default Paths at Match Start
The home base ships with default Army paths only:
- 6 length-1 Army paths fanning out, one to each neighbor (Army budget = 6 from the L6 base).
- Default outgoing weights: even distribution.
- Gather, Engineer, and Defender path trees on the home base start empty — the player draws them once their network needs them.
- The 6 surrounding tiles have no paths drawn on any tree at start.
- All defaults are editable from T=0. The first two minutes are a planning phase before the leader spawns and base-relocation pick fires.
See Match Flow for the full T=0 starting state.