The Atlas dev blog

Atlas #10 · The island's trade, part 3 of 3

The Island's People Settled. Its Trade Never Has.

· 16 min read · atlas-econ

Concept art from the Atlas ontology: Teluk Tinggi, the village reaches into the water (concept 420)

Follows on from Atlas #1: Cargo Only Floats Downhill: The River Trade of a Mountain Island

Updated 22 October 2026: Run 18 (21 October) is in the table: its rounds now stop ordering from a village that cannot make more, and its eighth round ordered 2.0 million units, against run 17's 17.4 million, still from 212 villages. Where this stands is as of run 18: the step all but settled on its sixth trial, its sixth round ordering 5,698 units from one village.

In this post
  1. Why every village keeps books
  2. Teluk Tinggi, by the numbers
  3. Matching 900 ledgers
  4. The land said no
  5. Eight rounds, 336 villages
  6. What changes when one village moves?
  7. A record, not a recalculation
  8. The first step, and what it broke
  9. Where this stands
  10. The question we can't answer yet

Teluk Tinggi, a stilt town on the island's east coast, buys 596 tonnes of rice a year and feeds most of it to its hens. Each of the island's 900 settlements keeps a ledger like Teluk Tinggi's, and every ledger closes, yet the trade between them has never once settled: whenever it stops, scores of villages, lately hundreds, are still taking orders for more.

Map of a mountainous island with its 900 settlements as dots, orange where fewer people live than planned and teal where more do, and gold lines for the grain the villages trade

The island's economy after trade run 17 (2026-10-19). Every dot is a settlement, sized by the people who live there. Orange: fewer than the world's design asked for, because the land could not feed them. Teal: more, because the land had room. Grey: exactly as planned, as every city of 10,000 or more is. Gold lines are grain, pulses and chestnuts moving between two places, wider for more tonnes a year, drawn straight whatever road, river or sea lane they really take. Look at the west coast, where the plains' grain fans out from Ardbach and Alderheim, and at the teal crowd in the east. Underneath is Atlas's paper map, the island's official relief, of the terrain on 2026-10-20.

Why every village keeps books#

We have stopped that trade thirteen times, each after its eighth round, with between 85 and 478 villages still ordering. So we are changing what the economy is. It stops being a sum we redo from scratch and becomes a record that the world edits, one village at a time.

Atlas is a game set on one island, about a hundred kilometres across. Its settlements were placed by hand and by rule long before anyone asked what they eat. The last post followed their cargo down the rivers. This one goes back to where the cargo starts.

Each settlement has people, and the people have lifestyles: a peasant of the rainforest east needs 170 kg of rice a year and 100 litres of rice wine; a townsman needs a pair of boots, a hundred eggs and twelve baths. Needs call for makers: fields, yards, workshops, each with its recipe of inputs and outputs. The makers need hands, and the hands are more people with more needs. A settlement's ledger is that loop, closed. Every kind of thing it makes, uses, buys and sells, in kilograms, litres, head of cattle and pairs of boots.

The ledgers matter because a second program builds the world from them. Our town builder reads each one and lays the settlement out: so many houses, so many poultry yards, a woodcutters' camp, a market. If the ledger says 166 poultry yards, the town builder has to find room for 166 poultry yards. A wrong number is a wrong village.

Teluk Tinggi, by the numbers#

Take one ledger. Teluk Tinggi is a stilt town at a river mouth on the east coast: 542 people in 112 households, and 62 of those households live on piles over the water.

Teluk Tinggi's ledger: what it keeps, sells and buys in a year

Teluk Tinggi's ledger after run 17. What it keeps is counted in establishments: a fishing ground worked is one crew's water. "Places" are the other settlements it trades with.

Walk its boardwalks and the ledger becomes a smell. 166 poultry yards make it a town of hens, geese and ducks. Every year 2,541 chickens leave it alive for seven places that keep fewer birds, and 1,351 geese and 1,260 ducks for two. Its fruit goes to 15 neighbours and its vegetables to 17. It has no fields to speak of, 20 hectares of gardens and orchards, and buys 141 cows a year from seven villages.

Its 596 tonnes of rice a year are more than a tonne for each of its people. We took that for a bug until we traced it. 465 tonnes of it is feed: a poultry yard keeps 100 hens, 20 geese and 20 ducks, so Teluk Tinggi's yards keep 23,240 birds, and in the rainforest east the only grain there is to give a hen is rice. The stilt town is a poultry town, fed by four rice villages.

Teluk Tinggi's trade flower: a ring round the town split by goods category, a wide yellow petal of grain reaching east along the coast to Danau Makmur, a green petal of cattle south-west to Muara Putih and a thin orange one of beans north-east to Soc Hai, on a pale relief map of the coast

Teluk Tinggi's trade flower: the 709 tonnes a year the island trade brings it. The ring is split by goods category, each by its share of the tonnes. Every category of 2 % or more grows a petal to the place that sends it most, as wide as its tonnes. Grain is 85 %, all but 5 tonnes of it rice, from the four rice villages; the petal points at the largest, Danau Makmur, with 196 tonnes. The cattle come from eight places, the most from Muara Putih. Underneath is Atlas's paper map of the terrain on 2026-10-20.

Then the odd ones. Teluk Tinggi sells 832 tonnes of firewood a year, all of it to a single buyer: Labuhan Harjo, the city next door on its sea wall, where a thousand people are to live over the water. Most of the wood is cut by four crews of farmers in the slack weeks between rice harvests. In the rest of the island those crews are winter woodcutters; the town builder asked us, quite reasonably, what a winter crew is doing in a rain forest. And it sells 24 tonnes of stockfish to four fjord villages in the Snowbound North, at the other end of the island. Nobody wrote "tropical fishing town feeds the Vikings" into a design document. The trade found it the cheapest way to fill a Nordic larder.

Labuhan Harjo's trade flower: a large ring round the city, a wide red petal of firewood reaching east along the coast to Bukit Sari, a yellow petal of grain curving north-east to Hanh Vuong, a lime petal of straw and manure south-west to Muara Putih and a teal petal of timber east to Mentari Jati

Labuhan Harjo's trade flower: 11,886 tonnes a year. More than half is firewood, 6,619 tonnes from 15 places. Its petal points at the largest, Bukit Sari, with 1,679 tonnes; Teluk Tinggi's 832 tonnes come fourth. Its grain comes from 14 villages, the most from Hanh Vuong.

Matching 900 ledgers#

No ledger balances alone. Teluk Tinggi has too much fruit and not enough cows, and so does everyone, in their own way. The island trade matches them.

It works in rounds:

  1. From stock. Every settlement's surplus is matched to every deficit of the same kind, the cheapest pair first. The cost is the real journey: ox carts and mule trains on the roads, boats where the rivers allow, coastal ships between harbours.
  2. By order. What is still short is ordered from villages with spare hands: a village with idle land grows rice for a neighbour, a village with woods sends a crew to cut for the town. Land comes first, then the farmers' slack-season crews, then anyone's spare hands, then the towns' crafts.
  3. Again. Every village that took an order, or whose carts and boats changed, has its ledger balanced again with its new work. Its new work has new needs: the woodcutters want axes, the axes want iron.

Run 17's result is the map at the top: 73,942 flows of 288 kinds of goods, and not one of the 900 ledgers out of balance. On the way it also reckons the island's shadow side: 304 pilferers, 36 fences and 23 thieves' dens steal 506,063 hours of work a year, and the watch, raised against them, protects 313,535 more people a year.

Ardbach's trade flower: a ring round the town at the top left, almost all of it red, with a wide red petal of firewood reaching east across the island to Padang Putih, a thin yellow petal of grain south-east to Sogutliova and a short lime one to Claircourt next door

Ardbach's trade flower: 34,905 tonnes a year, 84 % of it firewood. The firewood comes from 16 places, every one of them 48 to 92 km away as the crow flies; the petal points at the largest, Padang Putih, with 3,801 tonnes. Ardbach's grain comes from 47 places, its straw and manure from 80.

The land said no#

A ledger can ask for anything. The island cannot give it.

When we first added up what the ledgers asked of the land, the forests alone were asked for 314,826 hectares. More than half of that was hunting grounds, which had been claiming forest as their own: 162,637 hectares, 60,000 of them in the desert. Game now runs on any wild land, shared with the woods and the herds, and the desert's households burn brush.

The fields were worse. The world's design asked for 517,532 people. Their bread needed far more field land than the island's slopes hold, even with contour strips to 21 percent, terraces where the culture terraces, and the plains' fertile soil.

So the people moved, on paper. The design keeps its target for every settlement and never changes it. Beside it, the economy now keeps the settled people: those the land can feed. Every settlement under 10,000 lost the same share, the cities kept theirs, and villages with idle land gained the hands to farm it.

Each realm's people: the record's target, and those its land settles

Each realm's people, as designed and as settled. The plains and the temperate middle lose most, the rain forest east gains a third.

The island now holds 480,809 settled people. 82,577 are missing from settlements below their target, and 45,854 have arrived at others above it. The extremes are small villages. Hanh Vuong, a stilt village in the east, was designed for 81 people and settles 281; the town builder's own site critics spotted the mismatch before we did.

Two numbers from this part surprised us most:

We costed what more land could still do: chestnut groves up to 40 percent slopes, the idle fields, terraces in every culture, irrigation, sheep and goats on the rough ground, ships. The land could settle about 48,800 of the missing people. Then we chose to keep things as they are for now. It is a good enough island to build on, and the next part explains why "for now" is the important phrase.

Eight rounds, 336 villages#

Run 17, round by round: settlements balanced again, and villages taking new orders

Trade run 17, 2026-10-19. Grey: settlements whose ledger was balanced again in that round. Orange: villages that took new orders. Round 1 touches nearly everyone; round 8 still touches half the island.

Each round, fewer villages take new orders, but the decline flattens. Round 8 still ordered 17.4 million units of goods (kilograms, litres and pieces, counted together) from 336 villages, and balanced 459 settlements again. Then the run stopped, because eight rounds is where we told it to stop.

Villages still taking new orders when each run stopped, after its eighth round

Every trade run whose log we kept and that went all eight rounds. The early runs had a simpler economy and fewer orders; from run 11 to run 17, more than a third of the island's villages are still ordering when the run ends. Run 18, whose rounds stop ordering from villages that cannot make more, ends with about a quarter.

Two words need telling apart here. A ledger closes when what its settlement makes, buys and sells covers what it needs, at the journeys and orders of that round; after every round, all 900 do. The trade settles when another round would change nothing: no village takes a new order, no cart or boat moves, and no ledger has to close again. That has never happened. In the last round of each run:

Run Villages still taking orders Ordered in the last round, against the first
3 85 0.25 %
4 90 4.1 %
5 100 0.02 %
7 215 6.1 %
8 247 2.6 %
11 478 9.6 %
12 352 8.3 %
13 336 4.1 %
14 333 5.1 %
15 348 4.9 %
16 336 5.4 %
17 336 4.6 %
18 212 0.52 %

Each full run's eighth round. The orders are kilograms, litres and pieces counted together, so the share says how far from still the trade was, not what it weighed. Run 5's last round was nearly quiet, and still a hundred villages took orders.

Not one of them settled. Three things keep it moving:

For a sum we do once a week, that was fine. It stopped being fine when the world started changing one village at a time.

What changes when one village moves?#

Say the town builder lays out a settlement and finds room for 240 people where the ledger asked for 300, or for two fewer farms. That is a new fact about the world. It changes that village's ledger, which changes what it buys, which changes its suppliers' orders, which changes their ledgers.

Rerunning the whole island for that takes hours, and it gives a slightly different island each time, because the path matters. So we asked: what would it take to rebalance only what moved? We weighed five ways:

We chose the third, built on the second's machinery. The last two are for when the world runs.

A record, not a recalculation#

The economy as a record: the full run writes the first version, the check reads it, the step writes the next

How the economy now works. The full run still exists, as the reset and the audit. Everything after it is a version with a parent.

The record. The trade's whole state goes into one database: every settlement's ledger as the trade sees it, every order, every flow, the carts and boats each ledger was balanced with, the errands neighbours run for each other, and the cost of the cheapest journey between every pair of settlements (about 810,000 of them). Its version is the fingerprint of its content, so two identical economies have the same version on any machine. Every version is kept in our storage, so any program can read the economy as it was at any point. That includes the town builder, the website that shows every settlement, and one day the game.

The check. It reads the record and today's world, and changes nothing. It flags a settlement whose own inputs changed (each has a fingerprint of everything the economy reads about it), anything a round would still order or should take back, ledgers out of balance, and carriers that moved. A change smaller than half a year of one workshop's work is not worth flagging.

The step. It balances again only what the check flagged, and runs rounds over those alone. It can take orders back now. Where the island has a kind unsold, the step withdraws ordered work, at most half of the excess at a time, from the most expensive delivery first. The damping is there so the economy settles instead of swinging. Every step writes a new version with its parent and the reason it was made: the town builder laid Teluk Tinggi, say, or someone built a glassworks.

The events. When the town builder lays a settlement, what it built becomes a fixed fact: the people its houses hold and the fields it placed. The economy settles around those facts and never asks the town builder to change them. A settlement is built once per design, and the loop stops.

The first step, and what it broke#

We tried it on 20 October. First the record: run 17, rebuilt from the tables it left behind. All 900 ledgers came back as they were: the same 73,942 flows, the same 40,013,394 units bought abroad. Two flows came back a hundredth of a tonne apart. That was the first good news. It also showed something we had not known: no run could ever have reproduced run 17 from scratch. Theft is reckoned from the counts the previous run left, so every run carries a little of the one before it. The worker processes also each drew their own random hash seed, so two runs on the same inputs could break a tie differently. We fixed that.

Then the check. One pass over the whole island takes 51 seconds. On a full run's record it flagged 602 settlements: 217 that a round would still order from, 423 holding ordered work that nobody buys, 205 whose carts and boats had moved. This is the never-settling, finally on a list.

Then the step, asked to polish that record without any change in the world. It did not settle. Over four rounds and 80 minutes it balanced 764 settlements again. Every round it ordered more from 217 to 463 villages and took work back from 205 to 423. And it made the island slightly worse: grain bought abroad rose from 13,435 to 14,677 tonnes a year, firewood from 15,906 to 17,632.

The reason is a rule we wrote too simply. The step took back ordered work wherever the island as a whole had a kind left unsold. But a surplus in the far west does not help a village in the east that loses its supplier. That village falls short and is ordered for again, from somewhere else. The fix is to take work back only where the buyer can be supplied from a surplus that actually reaches it. Before that, the rounds themselves must learn to settle.

Where this stands#

The hardest part is not the code. It is deciding what is true. Until now, "the economy" was whatever the last full run printed, and any run could be repeated from its inputs. From here on, the economy is a chain of versions, each repeatable from its parent and its reason. The full run becomes the audit: if a fresh run and the stepped record ever disagree by more than the check's thresholds, one of them is wrong, and we will want to know which.

The question we can't answer yet#

Labuhan Harjo burns 832 tonnes of Teluk Tinggi's firewood a year, most of it cut by four crews of rice farmers between harvests. That is fine until Teluk Tinggi has a bad year. A harvest fails, a road washes out, a bridge collapses: the island changes for reasons no builder decides. When the world runs, imbalance stops being an error in a sum and becomes weather.

Then who rebalances Labuhan Harjo? The economy, or the people who live there?


For close readers. Theft is reckoned once, before the trade starts, from the counts as the last run left them, and held fixed for the run. The thieves of this year's island steal from last year's.

Another. 2,212 travellers sleep in the island's inns, almshouses, barns and hospitals on any given night: pedlars, tinkers, minstrels, pilgrims and beggars. They are in the ledgers as travellers whose round passes through, eating where they sleep, with no house of their own.

And one the economy found on its own. Nobody made Teluk Tinggi a poultry town. About 137 of its 166 yards keep birds for the neighbours: the households of every village within a day's walk fetch their eggs and hens from the nearest place that keeps a poultry yard, and for many of them that is Teluk Tinggi. The rice to feed the birds followed.