← All entries

Entry 13 of 40

The city

The city used to be a rough first map, and this week I rebuilt the machine that makes it, so every number you give it makes a different city.

DesignCity

Until this week the city came from a rough first generator, and every new city was the same map unless someone typed in a number. This week I rebuilt the thing that builds the place.

The game is about distance. Energy is spent per step, sound travels a fixed way, a building is worth what it costs to reach. None of that means anything on a small map. The city has to be big enough that crossing it is a decision, and varied enough that you know where you are without a label.

One city, seen from above. Downtown in the middle, houses around it, the highway across the bottom, farms and a prison out past the ring road

A world is a number

Give the builder a seed and it makes a city. Give it the same seed and it makes the same city, down to the last fence. That trick is older than me, but it’s the right one here: a world is a number, so a world can be shared, reproduced, and thrown away.

Nine seeds, nine cities. Same rules, same size, none of them the same

It goes in stages, and each stage only knows what the one before it decided.

The land, then the roads

Before there’s a single road there’s a map of how much the ground is worth. First the builder picks a spot for the centre and rates every tile by how close it is to that spot. Then water goes down, a lake and sometimes a river, and tiles near it get a bonus, and later so do tiles near a big road. High means downtown. Low means fields.

The land value map. Red is the centre, and it fades out through yellow and green to grey and tan at the edge. The river is the blue line, the lake the blue blob

Roads go in from big to small. First a highway or two, edge to edge, jogging around the centre the way a real bypass does, with a bridge wherever it meets water. Then the main streets, spaced by the land value: close together where the ground is worth a lot, far apart where it isn’t. A ring road runs round the lot, and the little streets fill in between, with cul-de-sacs where they run out of room. A block is the piece of land left between the roads.

What a block is for

Every block reads its own land value and gets a character from it. The highest becomes the core, the tall buildings at the centre. Around that, commercial: shops, offices, hotels. Then residential, the widest band, and then suburb, out where the blocks are big and the houses have yards. Industrial follows the highway instead: every interchange sends a band of warehouses and factories out toward the edge of the map.

The zone map. Red is the core, orange is commercial, yellow is residential, green is suburb, blue-grey is industrial. Everything else is a special use: dark green parks, grey car parks, purple civic, light green sports fields, and facilities in their own colours. White is a building site, an empty lot or a landmark

Then some blocks win a lottery. A residential block might become a park, a sports field or a civic building, a commercial one a car park or a plaza, and the blocks along the water lean toward parks. On top of that the builder hands out the things a city has, hospitals, police and fire stations, libraries, a city hall, a courthouse, by how many people it holds, so a small city can go without some.

Each block then splits into lots, always so that every lot touches a street, and every lot gets a building of a kind its zone allows, as tall as its land value says. A few shops are drawn already shut, and a few lots are still a fenced square of dirt where something was going to be. Out past the ring road it’s farms, patches of forest, and a few things with their own road out into nowhere: a power station, and on the biggest maps a prison.

The zones are what tell a player where to go: shops line a commercial strip, houses fill a residential band, and you can read that from above before you spend the energy walking down the street.

The doubt is the one from the first entry. The game I loved had a huge, empty city, and the empty part was the problem. I’ve just built a bigger one. The only defence is that a world here is a number, so a world can be small.