Mechanics

Map and terrain

The board is 20×24 = 480 hexes. Adjacency and movement are six-directional.

A hex has no corners: every neighbour shares an edge. That removes the square grid's "slip past the corner" and diagonal-ambiguity problems — holding a front line and encircling a city both become readable.

Distance is counted in hex steps. A tile has 6 neighbours within one step, 18 within two and 36 within three — each step widens the ring by another six tiles.

Getting around the board

The board does not fit on one screen: the screen is a window and the board slides underneath it. Drag to pan; zoom with the wheel, a pinch, or the + / keys. 0 fits the whole board into view.

The two corner buttons are opposites: fit board shows the whole board and leaves a margin along the short edge, while fill board zooms in until the window is covered edge to edge — the board's long side then overflows and is reached by panning. Filling keeps what you were looking at: the hex in the middle of the window stays in the middle.

Picking a city from the city list centres the window on it, and keyboard navigation always brings the focused hex into view.

Terrain types

NameMove costDefense multiplierCities can be founded
Plains1×1Yes
Forest2×1.25Yes
MountainImpassable×1No
WaterImpassable×1No

Resource nodes

Some tiles carry a resource marker. A node only yields income while it sits inside a city's region — see Territory and score.

NameYieldUnlocks
Fertile land+2 Food
Mine+2 Production
Caravan road+2 Gold
Horse pasture+1 FoodRaider
Iron deposit+1 ProductionSiege

Strategic resources

The last two rows differ from the others: a Horse pasture and an Iron deposit are also a production prerequisite. A player with no horse pasture in their territory cannot build the Raider; with no iron deposit, no Siege.

Their yields are deliberately small — their value is the door they open. They are also the two rarest node types on the board. The rule itself is spelled out on The production queue.

Map sites

There is one more layer beside resource nodes: Ruins. A node yields every turn once it is inside a region; a ruin pays once when a unit steps on it, and is then spent.

What counts is where the move ends: a ruin merely crossed along the way pays nothing. A ruin is a destination, not a waypoint — steering a unit onto it is a decision.

Fairness

The map is generated procedurally from a seed, but it is not arbitrary: every generated map goes through a fairness audit, and a map that fails it is thrown away and regenerated from another branch of the same seed. The audit looks at more than one thing: the distance between starts, each start's access to nearby nodes and ruins, how far bandit camps and neutral villages sit from the starts and how evenly they are shared, whether the terrain mix stays inside a band, and whether the land is connected — every start has to stand on the same landmass, so no player is left across the water.

One of those rules belongs to strategic resources directly: every start must be able to find at least one horse pasture and one iron deposit within a reasonable distance. A seed may not leave a player without an army; a map that fails the rule is rejected and generated again. "Reasonable distance" is close enough that the guaranteed node is never nearer to a rival's start than to yours — it sits on your side of the board, not on your doorstep.

Ruins carry a guarantee of their own: every start has at least one ruin in its own field, and the spread between starts cannot exceed a ceiling. A ruin never lands on the capital's doorstep — a reward collected for free on turn one would pay out for the seed, not for scouting.

Where you sit on the board has nothing to do with which player you are. The generator picks the starting positions as far apart from one another as it can, but which position goes to whom is shuffled from the seed. So there is no pattern like "player one always starts in the middle" or "the last player is always on the edge": the same seed produces the same board and the same assignment, but the assignment itself does not follow the seat number.

The numbers on this page are read from the game’s balance tables.

© 2026 Parva Machina