🏙️ City Growth

| |
Generation: 0
Empty:
Residential:
Commercial:
Industrial:
Development:

🏙️ City Growth — Urban Cellular Automaton

A probabilistic cellular automaton that models urban expansion. Watch a city grow from a commercial core: empty cells become residential, dense residential upgrades to commercial, and the built-up area sprawls outward.

🔬 What It Demonstrates

Growth on a CA grid driven by proximity rules: empty cells near existing development have a higher chance of becoming residential; residential cells surrounded by dense neighbours upgrade to commercial. The result resembles real urban sprawl patterns.

🎮 How to Use

Adjust the growth probability and densification rate. Click reset to start from a single commercial seed. Watch the concentric ring pattern emerge — commercial core, dense residential, then sparse outskirts.

💡 Did You Know?

Urban cellular automata were proposed by Michael Batty in the 1990s. The concentric zone model matches Burgess's urban ecology theory (1925), where cities grow outward from a central business district.

About the City Growth Cellular Automaton

This simulation is a probabilistic cellular automaton modelling urban land-use change on an 80×54 grid. Each cell holds one of four states — empty, residential, commercial or industrial — and is updated synchronously every generation. Transition rules are stochastic: an empty cell becomes residential with a probability proportional to the count of developed neighbours within the sprawl radius, so growth concentrates where the city already exists.

The Growth rate slider sets the base probability (1–20%) of empty land developing, Densify controls how readily residential cells upgrade to commercial when surrounded by dense, commercial-adjacent neighbours, and Sprawl widens the neighbourhood radius (1–5) used to count nearby development. Starting from a central commercial seed, concentric zoning rings emerge, echoing Burgess’s urban ecology model and the cellular urban models pioneered by Michael Batty.

Frequently Asked Questions

What does this simulation actually show?

It shows a stylised city expanding from a central commercial core across a fixed grid. Over successive generations empty land turns residential, dense residential upgrades to commercial, and pockets of industry appear, producing the concentric zoning patterns often seen in real cities.

How does the cellular automaton update its cells?

Every generation it scans all 80×54 cells and computes the next state into a separate buffer, so updates are synchronous. For each cell it counts neighbouring residential, commercial and industrial cells, then applies probabilistic transition rules before swapping the new grid in.

What do the three sliders control?

Growth rate sets the base chance (1–20%) that empty land develops into housing. Densify sets how often residential cells upgrade to commercial. Sprawl is the neighbourhood radius (1–5) used when counting nearby development, so larger values let growth jump further from the built-up edge.

What is the key rule for empty land becoming residential?

An empty cell converts to residential when it has at least one developed neighbour and a random draw falls below the growth probability scaled by the fraction of developed neighbours: roughly pGrow × (developed / (8 × radius²)). This makes development cluster around existing zones rather than appearing at random.

How do commercial and industrial zones arise?

A residential cell upgrades to commercial when it sits next to commercial activity and has five or more developed neighbours, gated by the Densify probability. Industry appears where residential cells border existing industrial cells, and rarely an isolated commercial cell declines into industry, mimicking economic shifts.

Is this a physically or scientifically accurate model of cities?

It is a conceptual, qualitative model rather than a calibrated forecasting tool. The proximity-driven transition rules reproduce the look of sprawl and concentric zoning, but they ignore roads, terrain, transport, prices and policy, so it should be read as an illustration of emergent urban form, not a prediction.

Why does the city grow in rings rather than evenly?

Because development probability depends on the number of nearby developed cells, the edge of the built-up area is far more likely to grow than isolated empty land. This positive feedback drives outward, roughly concentric expansion, with the most intense commercial activity near the seeded core.

What does the Sprawl radius really change?

Sprawl sets how far the automaton looks when counting neighbours, from a tight 3×3 window at radius 1 up to an 11×11 window at radius 5. A larger radius lets the influence of existing development reach further, producing looser, more dispersed growth instead of a compact, dense city.

What do the figures in the bottom info bar mean?

Generation is the number of update steps taken, while Empty, Residential, Commercial and Industrial count the cells currently in each state. Development is the share of the grid that is no longer empty, expressed as a percentage, giving a quick measure of how built-up the city has become.

How does this relate to real urban planning theory?

The concentric outcome echoes Burgess’s 1925 urban ecology model, in which cities radiate from a central business district, and the method follows the cellular urban models developed by Michael Batty from the 1990s. Such automata are used to explore how simple local rules can generate complex, city-scale patterns.