🗺️ City Growth 2D

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

🗺️ City Growth 2D — Road-Weighted Urban Cellular Automaton

A flat 2D cellular automaton where a real road network — a highway cross, a diagonal arterial, and a ring road — drives urban development. Growth probability comes from an accessibility field built from actual distance to the road network and to existing development, not from a simple neighbour count.

🔬 What It Demonstrates

Each empty cell's chance of developing is growthRate × (roadWeight × 1/(1+roadDistance) + devWeight × 1/(1+devDistance)), where both distances come from real multi-source breadth-first searches over the grid. High road attraction produces ribbon-like sprawl that leapfrogs along corridors; low road attraction produces compact, contiguous growth that hugs the existing built-up edge.

🎮 How to Use

Drag Road attraction toward 100% and watch development jump out along the yellow road lines, far from the core. Drag it toward 0% and growth instead fills in a tight, concentric city. Growth rate and Densify scale the underlying probabilities as usual.

💡 Did You Know?

This mirrors real "accessibility-based" urban growth models used in planning practice, where transport infrastructure — not just proximity to other buildings — is one of the strongest predictors of where new development appears.