Dom, it's very interesting that you came up with a system for a national pool of resources and production. The micromanagement doesn't appeal to me, though, having to redistribute all of that food and production manually. Also, it does strike me as a little unrealistic for all the food and labor to be sucked up from one city and put into another. Still, it's cool that it's possible...
I might not have made myself clear here... the levy system is civ-wide... in other words, you set the slider to take the same percentage of
every city's food and/or production... which means that you might wind up with certain cities that would actually be starving... this is intended. But the
redistribution from the national pool is city-by-city... so you can choose to ration out nothing to any city, ration some to a couple cities or fine tune your system by manually setting the rations for all of your cities... it's up to you. However, the higher the levy you put on your cities, the more fine-tuning you'll probably have to do since more of your cities will start to starve without it.
And you wouldn't necessarily be able to take 100% of a city's food or production and then dump all of the national pool into another city because of the caps placed on both the levies and the rations... so let's just say you have Slavery, it might let you take up to 40% Food and up to 70% Production in levies from your cities. But Serfdom, on the other hand, will only let you take 30% and 50% respectively... exactly what those numbers are is the decision of the modders... I'm merely providing the means.
That's the reason I'm into some kind of sensible automation. All cities automatically take in enough food to not starve. And, assuming you haven't frozen growth, they'll take in enough to grow at a regular rate -- the idea that you can speed up growth by giving them a huge food surplus is unrealistic and would require annoying micromanagement anyway.
Well, again, that's what the caps are there for: so you don't just dump all of your Food into one city. However, you will be able to give modest boosts to particular cities at the expense of others... Since the rations are not factored based on the city's total yield production, dumping the full ration allowance into a city that already has a very high yield output would not necessarily make that much of a difference... This is especially true since the levy
is based on the city's total yield output... so for example, let's assume the following values:
A player's Food Levy rate is 20%.
A city produces 40 Food per turn (before consumption is factored in).
There is a maximum Food Ration of 10 Food per turn.
Ok, so now we take the city's 20% Food which means we take 8 Food per turn from that city... leaving us with 32 Food in the city (still before calculating consumption), then if the player has decided to put the maximum ration allowed into that city, the city gets back an additional 10 Food.... for a grand total of 42 Food. Thus, cities with a lot of Farms and good land are better used as bread baskets for the empire rather than just as bother mega-producers and mega-benefactors of Food that grow really rapidly and pump out GPs. Instead it becomes more valuable to funnel Food into small cities, cities in inhospitable areas, or large cities that cannot sustain their own populations (i.e. cities with lots of mines, lumbermills, etc.).
The only exception I have to this currently is that
under certain civics the capital is exempt from paying into the levy system and it basically just reaps the rewards... the result is that the 10 Food Ration can be dumped directly on top of the city's total Food production.. so rather than 42 Food in total, the capital would get 50 Food per turn.. under certain civics.
But I also feel I should note that 90% of this is going on under the hood... You wouldn't even see most of the stuff I just explained. You'd be able to see what is being taken out and what's being put back in, of course, but it's all being done automatically. It's not like every turn you have to redistribute the food back out to each of your cities and all that. No. You set the levy rate and it applies to all cities and remains at that rate until you change it OR when you select civics that bring the levy rate cap below what you currently have it set as in which case the levy rate will be automatically reset to the new cap. So, if for example, you switch from Slavery to Serfdom, and you had the Food Levy set to 40%, the game would reset it to 30% since the cap under Serfdom is 30%.
Rations, too, work on a per-turn basis... so they will only be readjusted when the player adjusts them or if the rate cap is reduced with a civics change.
So even if you have 100 cities, you may only need to actually distribute rations to 15 or 20 of them throughout the course of the game... and of those 15 or 20, most you'd just adjust a couple of times in a game as needed. But if you were a control freak who needed to be certain you were maximizing your food and production to the utmost, you could fine tune all 100 of them every turn but it would hardly be a requirement.
And you could also just have just enough of a Food Levy to supply your troops and never have to change the rations of any of your cities... things start to get interesting in war-time however. I've added an anger modifier when a city is starving which is then magnified based on just how bad the starvation is... and now you have an army that needs feeding, and the bigger the army, the more mouths to feed. This places greater demands on the national food stockpile which might force an increase in the food levies which might lead to starvation, starvation leads to unhappiness and the next thing you know you've got bread riots in your larger cities... under normal circumstances, you could just increase the city's rations, and keep it from starving and thus avoid the unpleasantness that follows, but now you might need every bit of food you can get to feed the army... so basically, those Farms will be an important target for pillaging and bombing, and the bread basket cities should be considered as high a priority for capture as the high-production ones since both are very much tied into the enemy war effort.
And you could buy Food abroad, but if its coming by sea, you'll need ships to keep your routes open, and if by land, you'll have to make sure those roads aren't destroyed... although presumably, if you're getting your butt kicked, you won't have to be worrying about feeding a large army
It sounds like we're on the same page with luxury resources anyway. That's not something you want to stockpile or hoard, so we don't need to quantify it. But we also agree that one resource shouldn't make an infinite number of cities happy. The idea that each luxury makes 5 cities happier is a good one (this number could even be affected by civics!), but micromanaging 30 health and happiness resources to how ever many cities sounds super annoying. Might I recommend some kind of sensible automation?
The most sensible, to me, would be to allocate enough luxuries and health resources to keep everyone happy and healthy, with the smallest cities most likely to be punished by a "defecit". For example, 4 happiness resources can make 20 people happy. If you only really need to make 17 people happy in 5 cities, then you get 3 surplus happiness in your capitol. But if you need to make 23 people happy in your 5 cities, then the system would automatically distribute the resources such that your 3 smallest cities are each running a 1 happiness deficit.
In other words, the player moderates resource distrubition by freezing growth. If he lets a city grow, he's indicating that the city should draw more luxuries. (This system could work for food too, if you go that route.)
That's... actually a bit more complicated than I was thinking... currently there's already code to count the number of instances of a Bonus a city has... what I was thinking was that if you simply said that one source of a luxury, say Coffee, has 5 slots, it will basically satisfy 5 cities with the other cities not getting the happiness bonus.. you'd have to trade for more or find more to hook up to the trade network to satisfy those cities. Exactly which cities would get it and which wouldn't should be determined by several factors:
The closest city to the Bonus should automatically get one.
The capital city should automatically get one.
The rest should probably be determined by population size OR distance from the Bonus as well... I will explain below why...
Now, I understand why you would want to calculate the happiness based on population... after all, why should a size 25 city be satisfied by the same amount of Coffee as a size 5 city? There are, however, from a gameplay perspective and a mechanical perspective reasons for going with my suggestion.
First, the mechanical... presumably, a resource is to give a city +1 Happiness or nothing at all... this was why we couldn't make luxury and health resources quantitative like the strategic resources... so the problem is that if we do it based on population, if you have only one 'slot' of the resource left and a size 21 city and the resource only satisfies 20 people, you get
no benefit at all in spite of the fact that 20 out of 21 people have access to this resource... and you can't give 0.90 of a happiness, so it's all or nothing... similarly, for instances of excess luxuries, if you have a total of 15 population to satisfy and enough resource to satisfy 20, do you now get an
additional +5 happiness in the capital or otherwise redistributed throughout the empire?? That would make no sense as well as be highly unbalancing... really there should be no additional happiness from the same resource in any given city.
My other reason is from a gameplay perspective... you could very well have an empire with 30 population that is the half the size of another empire with 30 population... thus one has much more land and consequently more opportunities to have that particular resource... a smaller civ, on the other hand would have to maintain just as much people but would have also have much less opportunities to acquire sources of that luxury. So this would ultimately once again penalize smaller civilizations that build up rather than out when they're already at a disadvantage in virtually every other aspect besides maintenance costs.
On the other hand, if we use the system I proposed, we might want to distribute the resource according to distance from the resource (with the exception of the capital) rather than cities with big populations getting preference since otherwise we're going to have those old homeland cities completely satisfied and the newly-acquired or newly-founded cities with nothing... Granted, they need less, but it might be better to do it based on distance. Besides, then you'd come to an interesting point where you'd have many of your cities on other continents being satisfied by bananas and coffee and your core home cities being satisfied by dyes and incense... as an example... until as such time as you acquired enough of a resource to satisfy all of your cities. But it would be a way in which your empire would look and feel different across many different realms.
But to address your first point last... I don't really see how a population-based, rather than city-based solution is going to involve any less micromanagement... indeed, I would think it would actually involve more work. I mean, you'd have to first add up the total populations of your cities and then count up all the sources of a luxury you have and multiply that by how many people one source will satisfy and then compare that with the total population to know how much you're ahead and behind... but then you'll also have to be trying to keep your population sizes in check in each of your cities because if you don't you'll lose the happiness effect altogether even with just 1 population increase.... I mean, compare that to "1 source supports 5 cities", it seems to me like that actually involves way less micromanagement than a population-based system even if it's not as realistic.