Actually the system I was talking about (using levels instead of citizens to limit buildings) is all about stopping city spam. To beat city spam you need a system where
- 10 guys in a developed city are worth more than 10 guys in a hamlet, and are more productive because of improved infrastructure
- Pursuing that is made viable because getting 10 more guys in your city is just as (if not more) easy as getting them in a new town.
The first point is how buildings work. Limiting buildings by levels instead of population will mae the building system simpler, prevent population deficits and building endless copies of the same thing. It allows you to schedule all your buildings after level up instead of checking back all the time. But the next step is to replace flat production of 1 research per building with production of 0.1 research per person per building. That way you continue to gain more production as your population grows without having to spam buildings. Even after you've reached the max settlement size. So a city with 2x the population is more than 3x as productive because it has both more pop AND better infrastructure.
The second point is about population growth. At the moment population growth of towns is largely independent of each other. So if you have 2 cities your total population grows roughly twice as fast as if you had one. This is just totally wrong, and you can tell the devs noticed this because that is why they introduced the multi-city penalty to prestige. But it's a poor work around. The problem is that food currently works as the cieling for (rather than the driver of) population growth. In reality, it doesn't matter how flashy a place looks, people have kids or emigrate somewhere if that place can support them (ie, feed them). The way to do it is this: divide total faction food production by total faction population. If it exceeds a given ratio, population grows at 2%, if it is less then population declines. Where that population ends up growing is determined by housing. Food determines growth, housing determines where. So the game encourages a style of play where you have a few large cities surrounded by undeveloped farming hamlets/mining towns for resources. This is tempered by the benefits of higher level buildings (irrigation in larger towns), logistics and the desire to spread power and risk (isolated farmsteads will quickly fall to the enemy).
No limit on number of level 1 buildings other than population. (Current system - sort of).
That's never going to work though. You end up making the citizen requirements suffocating, or meaningless. If population is the only limit, you WILL eventually reach the tile limit and have hideous, enormous cities eating up the map and eating up memory. And if you impose some other limit to stop this happening, then what was the point of the population limit?
The problem at the moment is that we have production scaling with population, but we need to keep building more buildings to keep up with it. That's never going to work. Meanwhile, we have the production of those buildings increasing with level (you get improved studies and houses at level 3 so long as you have the tech) which leads to ridiculous situation where you can't increase you population because you can't increase your population to reach the next level. It needs to be the other way around, with the production of buildings determined by population (and therefore automatically) and the number of buildings determined by level (and built at level up). That way there is a safe and reasonable limit on the size of cities (less than the tile limit), but cities keep getting better indefinately after they've reached this maximum size. You'd be representing the benefit of the same two things (settlement population and settlement level), but in ways that are more appropriate to each.
That's my best guess for fixing city spam and the mind numbing city system. I'll eat my hat if it doesn't work.