So, I think we're going to add the separation between Urban and Rural population to the project, based on all the previous posts in that thread.
After some tests involving using sheets and a lot of numbers, I may have managed to get something that could work at the scale of the game:
- City Size = Urban + Rural Population
ATM the "City Size" is used to determine the number of people in the city, the mod is using the Civ5 formule, which is:
Code:
math.pow(size, 2.8) * 1000
Which translates into this:
City Size
|
Civ5 Population
|
Population Range in the Mod
1 | 1,000 | 1 - 6,963
2 | 6,964 | 6,964 - 21,673
3 | 21,674 | 21,674 - 48,502
4 | 48,503 | 48,503 - 90,596
5 | 90,597 | 90,597 - 150,946
6 | 150,947 | 150,947 - 232,420
7 | 232,421 | 232,421 - 337,793
8 | 337,794 | 337,794 - 469,762
9 | 469,763 | 469,763 - 630,956
10 | 630,957 | 630,957 - 823,946
That population range would now represent the sum of Urban + Rural population administered by this city, IE people living in the city and the tiles it owns (up to the max working plot distance)
For a "City" of size 6, that could mean, before industrial revolution:
Urban : 10,000 pop (5%)
Rural : 190,000 pop (95%)
Or, shortly after the industrial revolution:
Urban : 60,000 pop (30%)
Rural : 140,000 pop (70%)
And today:
Urban : 120,000 pop (60%)
Rural : 80,000 pop (40%)
- Population Migration from available activities
I'm not going to set those values using fixed limiters, I'd like to use some kind of evolution based on the availability of urban/rural "activities" for your population
Population Migration will occurs each turn from two adjacent tiles in multiple ways, but activities availability will be one of the major cause.
The base "activities value" for a city and the plots around it will be calculated using the same kind of formule than for it's population, using size :
Code:
math.pow(size, activityPOW) * activityFactor
activityPOW and
activityFactor will have different values for Rural and Urban activities, changing with Eras/Techs/Civics/Policies, and set in a way that will provide more Rural activities than Urban Activities at the start of the game, the value going up for Urban (and down for Rural) during the length of the game.
For example, our pre-industrial revolution city would be the result of an
activities value of 10,000 for the city center and 31,600 for each of the six worked rural tiles (6 "citizen" available at size 6) in it's owned plots.
- City Center Activities and Production output in relation to City Size, Urban Population and Buildings
Some Buildings will provide one (or more) "Worker Slots" that I plan to combine with the activity value to determine the city production output and "employment rate", depending of the city size.
If you don't have enough
Worker Slots in relation to the size of the city, then the
activities value is lowered.
If you have too much
Worker Slots in relation to the size of the city, then the
production output is lowered (buildings are undermanned)
If the Urban Population value is above the
activities value, then you'll have unemployment (leading to migration/unhappiness)
If the Urban Population value is under the
activities value, then the
production output is lowered (buildings are also undermanned in that case)
The
production output will define how much yields a buildings, in relation to the city size.
For example, using a simple 1:1 ratio between city size and
worker slots in a size-6 city with 10 worker slots, the production ratio from
worker slots would be = 6/10 = 60%
And if the
activities value was 10,000 but the Urban Population was 5,000 pop, then the production ratio from Population would be =5000/1000 = 50%
The
production output for that Size 6 city would then be = 6 * 60% * 50% = 1.8
That would means that a Building with a base yield of 2 gold would produce (2*1.8) = 3.6 gold each turn.
- Tiles Activities and Production output in relation to City Size, Rural Population and improvements
The
production output for a tile will be based on the Rural
activities value in relation to the Population on that tile, and if the tile is assigned to a Citizen in the city management screen.
Still using the same size-6 city as an example, if a plot is worked then its
activities value will be the 36,000 calculated above, and the
production output (assuming there is 36,000 or more Population on that tile) would be = 6
Which means that a grassland tile (without improvement) would provide 6*2 = 12 food in that case.
With 2,000 population on the same plot (for example we've just assigned the tile to a Citizen, or it has just been pillaged and it will take a few turn with the migration mechanism to raise the Population here), then the
production output would be = 6 * 2000 / 36000 = 0.33 and the Grassland would provide 0.33*2 = 0.66 food (I may cap this to the base 2 food for worked plot)
If it's not worked but improved we could apply a penalty ratio of 1/2 and the
activities value would be 18,000 and the
production output would be = 3 (Grassland -> 2*3 = 6 food)
If it's not worked neither improved we could apply a penalty ratio of 1/10 and the
activities value could be 3,600 and the
production output would be = 0.6 (Grassland -> 2*0.6 = 1.2 food)
- Activity Types to determine Social Stratification
Once we have something set, we could then use some kind of simplified activities table to determine the Social Class.
Something like that for example (number to be defined, and changing with Eras, Techs, Policies):
Food (95% lower, 4% middle, 1% upper)
- Fishers (sea food resource) (urban population)
- Cattle Farmers (cattle, sheep with/without Pasture) (City Stables, Stables)
- Crop Farmers (grass/plain/vegetals with Farm/Plantation)
- Gatherers (grass/plain/vegetals without farm)
- Hunters (deers without camps)
- Trappers (deers with camps)
- Butcher (Butchery)
- Miller (Granary, Treadmill, Windmill, Water Mill, ...)
Collecting resources (95% lower, 4% middle, 1% upper)
- Miners (hills/mineral/metal with/without Mines/Quarry)
- Wood cutters (Woods, Rain forest with/without Lumber)
Craftmanship (25% lower, 70% middle, 5% upper)
- Blacksmith
- Carpenter
- Stonemason
- Armorer
...
Health (25% lower, 74% middle, 1% upper)
- Healers (Herbalist)
Commerce (15% lower, 85% middle, 10% upper)
- Merchant (Fish Market, Fruits Market, Market, ...)
Knowledge (25% lower, 74% middle, 1% upper)
- Scribes (Library)
Culture (25% lower, 74% middle, 1% upper)
- Writers (Library)