hr-studioAgents & Swarms · 05
A computational design primer · Multi-agent Urban Growth

A city nobody designed

No one drew Rome. No one specified where the slums would go, or why the rich would gather uphill, or how a road through a field becomes a high street in a generation. Cities are the largest artefacts humans make, and we make them the way ants make nests: one small decision at a time, each one reasonable, none of them aimed at the result.

Scroll — watch one arrive
i.

Settlers, arriving one at a time

The oldest cities were never designed. Someone built; someone else built beside them, because beside them was where the people already were. Repeat for a thousand years.

Here each settler wanders until it touches what has already been built, and stops. That is the entire rule. What grows is not a blob but a dendrite — branching, porous, arms reaching outward. The tips of the arms catch arriving settlers before they can reach the sheltered interior, so the interior never fills.

Lower the stickiness — let settlers bounce a few times before committing — and they penetrate deeper. The city densifies. This single number is the difference between a village and a slum.

Diffusion-limited aggregation
ii.

The road came first

Put a road through a wilderness and you have not built a road. You have built a town, twenty years early.

Every settler here weighs one thing: how far must I walk to the road? The willingness to walk is a single parameter, and it decides the shape of everything. Make people impatient and the settlement becomes ribbon development — a thin smear along the tarmac, all frontage and no depth. Let them walk and the blocks thicken, the interior fills, and something like a town appears.

No planner drew either outcome. Both are the same rule at different temperatures.

Settling near the roads
iii.

Schelling's uncomfortable result

In 1971 Thomas Schelling gave every agent a mild preference: I would like at least this fraction of my neighbours to be like me. Not hostility. Not exclusion. A mild preference, and if it isn't met, the agent moves somewhere it is.

Set the threshold to 30% — everyone is happy to be outnumbered two to one — and run it. The city segregates anyway. Almost completely. Nobody wanted this; nobody chose it; every individual is behaving tolerantly, and the aggregate is apartheid.

It is the sharpest lesson in this whole primer. Collective outcomes are not the sum of individual intentions, and you cannot read a system's morality off the rules of its parts.

Drag the threshold · watch it sort
iv.

Sprawl is a preference, not an accident

Give the settler a choice. Show it eight vacant plots and let it weigh three things: how near the road, how near the centre, and how crowded the neighbours already are. Then it takes the best one.

Turn up the aversion to crowding and the city flees outward — each settler individually rational, the aggregate a low-density sprawl that costs everyone more road, more pipe, more time. Turn it down and the city stacks.

The readout is compactness: how tightly the built area huddles around its own centre of gravity. It is the number every planning authority argues about, and here it is a slider.

Each settler picks the best of eight plots
v.

The city studio

Draw the roads yourself. Then release the settlers and let them argue with each other about where to live — pulled to the tarmac, pulled to the centre, pushed apart by their neighbours, and mildly, tolerantly, unwilling to be a minority.

Nothing here plans anything. Every structure you see — the ribbons, the dense core, the sorted quarters, the fingers reaching down the highways — is the residue of thousands of individually reasonable decisions.

Drag to draw roads · settlers do the rest
A city is not a design. It is the fossil of a billion small preferences, most of them reasonable, none of them aimed at the thing they built together.