So let's talk about what housing is meant to accomplish in Elemental:
The idea is to provide a mechanism of deciding which cities should contain your population.
Right now, the weakness I see is that farming (food) is too connected to a given city. As a result, we have the problem where a farming village can't feed a distant city as you would have in the real world.
So the question is, how do we have the mechanism for deciding which cities contain my population?
In the early design (long ago now) everything was fungible. Your farms produced food and that food traveled throughout your kingdom to be consumed by your people based on the populations in various cities.
Weakness : food too connected to a given city.
MoM did the opposite of now and totally abstract the concept of food. Food was connect to no given city. In my mind, it's too far from "fun". It's too simple. Yes it works, but it's not an interesting mechanism.
A simple solution would be to dramatically increase the bonus in food roads give. Instead of the usual 10% of food it could be 10% per city level. A level 5 city would send 50% of its food production to road-connected cities. Moreover, as farms would get the bonus of city-level (you spoke about that : the output of a building is multiply by the city level. A bank in a city level 5 would give X5 gold, if I understood correctly) it would be an exponential increase.
An other solution would be to tie the food bonus to availaible revived/twisted land : a farm would get a bonus from empty tiles near it (those tiles should also be revived/twisted).
Other solution : Governors. Some of them would allow farms to get an ever increseaed bonus.
Other solution : a civilization tech (or a diplomatic one?) that allow roads to be more effective in the food distribution.
Other solution : give a "rank" to a city. That would be like traits for champions. when a city reach level 3 and level 5 you can choose a "perk/traits/whatever you would call it" for your city. One of those perk could be "food send - not food poduced - is raised to 75%" or something like that.
Mechanism for deciding which cities should contain our population :
You must answer that question first : will the player be able to control its population (and their movements) totally ? Partially ? Not at all ?
If you want to give total control to the player, then you need an ui that would let you to decide where your population should go. In my mind it's too deterministic. Strategically interesting, but too far from reality, thus limiting the immersion.
No control at all : it would limit the burden of taking cxare of your cities. But ... that would just skip a big strategic thinking. So it would be a bad design decision, I think. Player should have an impact, but not too much.
Partial control : direct or indirect ?
- direct partial control : you ask to your comp where you would like your population be sent but in a rough way, and the computer would do som ecalculation to know how far your citizens would obey you. In my mind it's as intersting as the "total-control" thing.
- indirect control : like in majesty 2, or "La citta" : citizens have desires, goals and th elike. If you build the things they need they will go to the cities you want. Building houses is a good way to say " I want my citizens to live there", but at the moment housing is less than inefficient. You must build so much houses to get population, that you have too few tiles for something else. Maybe it's a choice to push us to take decisions, but it's really disentertaining to build houses only (or almost
So, what would be fun ? To be able to influence things without determining them exactly. You could choose government spirit, and some buildings would be more attractive.
For instance if you choose the warrior philosophy, your barracks would give a +1 prestige bonus and a +10 housing.
If you choose the farmer philosophy, +1 prestige in farms and +40 housing per farm.
But the hard cap from housing would still be there.
Imagine the following fact : a city level 5 has only housing. So they have a citizens limit. And a hard one. At the moment housing would limit your population to 48 tiles * 40 citizens per tile (with apartments) = 1920. And no other kind of tiles.
Or maybe the level of city would apply to existing housing (a city level 5 would multiply by 5 the available houses ?)
Other solution each turn the overall kingdom get new citizens, then to decide in which city they will go you look at the buildings that give work or happyness. So if you have a total of 30 prestige in your kingdom you get 30 more citizens and if a city has only housing a inns and a farm for instance they will surely get the new citizens. A city with only mines and lumbermill won't get a lot of those new citizens.
But what woudl happen if you get people that should go in a city with not enough housing ? Then they would be marauders, or become thieves, etc.. and you would have to take care of your population growth to avoid those nasty things. You can't avoid people to want to come to your kingdom if you have attractive things. If you neglect your citizens then you would have a high level of criminality. But magic, diplomacy, quests, military or civilization could help you prevent those things, or lessens them, or turn them into your favor (free military units from criminals for instance).