I don't know about a city biome - in theory it sounds like a nice convenience, but I think there might be some tricks to it:
- How would you pick it - IIRC we just have temperature and humidity ranges right now to base biomes on (I could be wrong). Might not work for biome-flavored cities.
- Terrain would still be based on the noise map, so we'd have to artificially flatten an area around a certain point anyway
- Making cities grow could expand them beyond the initially picked area (and what about placing brand new cities into existing world)
- Destroyed cities would then be flat area marked still as city biome?
I'd rather just pick a spot near some suitable features (some open fields for farming, maybe a nearby river, etc) then apply a city preparing process specific to that flavor of city. Maybe there'd be elven cities in forest that refuse to modify the terrain and just add tree houses.
That could work from scratch as well as over time. World map places a village egg, then when a player gets within a buffer range between player visibility and the edge of the village (we do need space for all those fields etc) the terrain starts pre-generating (not going visible) so the terrain preparing process can do its thing, reshape terrain if needed, place fields and roads, buildings, etc. If for some reason we want a village to pop up in existing world just spawn the village egg and it'll pick up right at the terrain prep stage
You could also use it as a planning tool for NPCs. Rather than a brand new village (in existing world) just popping into existence more or less all at once make the system queue up tasks for nearby NPCs to begin on to eventually create a new village. Never before seen village eggs could still fast-forward a certain amount of time units to start at a more advanced level.
To
start with, however, anything that places something artificial in the world would be a win
Edit: Huh, didn't see Nym's post when I started on this. Some content may overlap