Population Model v. 0.1
This is one of the most basic models; most other models use the populations in the game, or modify them. So, it is important, that we make this model first, and try to make it as good as possible.
This version is quite rough, as you can see from the version number, and doesn't go very much into detail yet. The structure of the text is also somewhat crude and arbitrary. But as said somewhere earlier, it is important the models are not one man's work, and that they are as public as possible, even if they are still rough. Read through the text presented here and give some comments on it.
The Concept of Population
Population is a group of people, that have a set of statistical properties. These properties define the average member of that population, and using those values, the behavior of that group can be estimated.
The intention is, that a population acts as "real" people that you try to rule and control. They try to make their living in the world at their best. You can't control them very efficiently, except with slavery; they have demands, depending on the era, and they will protest if those demands are not met. In this case the people can even overthrow your government if you don't guard them properly. People can be oppressed with force, but all people desire freedom, and will look to gain it somehow.
Ownership and Location
Each population is owned by some civilization; that's called their national affiliation. Each population is also living in some particular area; each population has a controller. Controller can be either a city or a region. Each city and region has excactly one population; city population is living in the city's tile, region population is living in the tiles outside the cities in that region. For each tile is stored the amount of people living in it. For those people apply the statistics of the region's population that tile belongs to.
Population Affiliations
Each population has their people belonging to several affiliation groups. There can be national, ethnical and religious affiliations. All members of the population have the same nationality, which is their owner civ, so that is simple. Ethnical affiliation means the original home civ or tribe of the people; Each pair of ethnicity and religion forms a group. For example there can be Christian and Muslim Britons in a French city. For each population is listed the amount of people in every group. These affiliations are very significant in some crisis situations, like wars, religious wars etc.
Population Properties
Each population will have these properties. They decide how the people act in different situations.
-owner civ
-controlling city or region
-total amount of people (needs to be able to store very large numbers)
-% of people in each group of ethnicity and religion
-age structure: % of people in each age group, or simply % of workforce
-profession/class structure: % of people in each class
-birth rate: % of new individuals born per year
-child mortality: % of deaths before reaching reproductive age
-mortal rate: % deaths per year
-estimated life-span: how old an average person will live; affects mortal rate
Those figures could perhaps be stored separately for each class.
-immigration: can be negative. The amount of people moving in or out per year.
-(or: two figures for out-moving and in-moving people)
-technological level: this can vary throughout the empire
-education: the level of education considered elementary
-literacy rate
-happiness: own figure for each class
-unemployment: likewise
-workhours: likewise
-creative energy: likewise
-efficiency: likewise
-nutrition: likewise
-wealthiness: likewise
All these properties are needed to model the population. The player would not be shown all that info, to prevent the feeling of operating a spreadsheet instead of playing a game. The info is hidden, and if player wants an analysis of some particular population, a simplified, perhaps even very rough information is given depending on the technology level; in the ancient times you couldn't get excact population figures. Making the report might cost a little, depending on a situation... Also some information would be shown in the city, region and civilization screens.
There could also be special populations for each region and civ, and whole world; these would just collect and store the overall statistics of all populations in that civ or whole world.
I know the amount of information stored for each population is quite large. Fortunately, the amount of populations needed for this system is quite minimal. But anyway that information will take lots of space. If some one has ideas to solve this feel free to present them. But does it need to be solved? current computers have quite a lot of RAM. If necessary, the population data could be stored on hard disk only, and only the information needed at each time would be read to RAM. But this would of course slow down the performance.
Next, I will consider some things in more detail.
Age Structure
We have several options here. If we Want simplicity, we can store only the percentage of working force. Though determining that might be difficult if no other variables are in use.
The other option could be to store the percentages of people in each group. This is the preferred way of doing this, since if we want to determine the workforce percentage, we will anyway need to use temporary variables to determine the number of people in each group. Then those variables would be needed to calculate the workforce. This way, the calculation is more complex, and it would consume more time.
So, I suggest we divide the people into groups in two ways. First, we make three groups based on maturity:
-children (too young to get children)
-mature
-seniors (too old to get children)
"Mature age" doesn't mean the age where it is physically possible to get children, but the age at which the children usually start reproducing. These values are needed to decide the population growth, etc. Second, we divide the people into five groups based on the working status:
-underage (too young to work)
-workers
-non-working women (housewifes)
-disabled (unable to work due to physical incapabilities)
-seniors (too old to work)
These are needed to decide the productiveness, etc. of the population.
The amounts of people in each one of these groups depends on many things. The relation children-mature and mature-seniors depends largely on the tech level of the society, some of your social settings, etc.; In low tech levels children usually born more, but if food situation and health care are insufficient, child mortality is also high. The life-span of the population decides how many people will live old.
The relation underage - workers is affected by your social settings; we could for example set the age at which the people are expected to start working; this might also be partly dependent on your culture and tech level. The relation of women-workers is affected by some factors, like tech level (in modern world women have more jobs available, and it is not considered bad anymore if a woman is working), the type of culture and profession structure (farmer women are usually working while in rich and middle-class families and in cities they are usually housewifes), religion (some religions could be very "protective" about their women), etc. The relation of seniors-workers is affected by the life-span, and some social settings, like the retirement age; though that might also be affected by the culture and tech level.
This system is far from complete; I haven't yet quite figured out the required formulas to calculate the amounts of people in each group, but I think the calculations will not be very complex or time-consuming.
Professions/Classes
This figure stores the social structure of the population, and decides mostly the production of those people. It also affects politics, etc. Here are the classes we should use. They are taken mostly from the Joker's SI system.
-Large farmers
-Small farmers
-Employed farmers
Also fishing belongs to farming.
-Large producers
-Small producers
-Laborers
-Nobility?
-Clergy
-Intelligentsia
-Soldiers
-Officials
-Merchants (owners of trade companies, stores, merchant ships etc.)
-Traders (employed by merchants as their crew; better word, please?)
-Artists? (includes sportsmen)
I thought that perhaps we should have all low-class working people (employed farmers, laborers, traders) in the same class.
This class list can be refined and corrected, I just made it up quickly.
I thought that unemployment could be stored for each class; you could have unemployed farmers, that would look for work from large farmers, or new land to farm, or change profession; unemployed laborers, that would go for work to large and small producers; unemployed soldiers, that might want to become mercenaries, or join the army of another country; etc.
Population Growth
The changes of population are decided just at the end of each turn; so, the figures the player can see in the beginning of a new turn reflect the events of the last turn. First, the new birth and mortality rates are decided (these rates tell the rate for the last turn). They depend on several things; usually they are constant for certain type of society, but wars, famines, disasters, diseases and other crisises can affect them temporarily. Some social settings may affect them.
1. New individuals are born: The amount of new children is A = R x P, where R is the new birth rate, and U is the amount of people in the reproductive age; this is roughly the people in the mature group. So, next turn there are A more people in the children group.
2. Children grow old and enter the mature group and the amount of children decreases, roughly old_child_amount / mature_age - 1). These people go to the mature group.
3. Children are killed: The amount of killed children is A = R x P, where R is the new child mortality rate and P is the amount of children. A is then subtracted from the amount of children.
4. Other people get killed: The amount of deaths is A = R x P, where R is the new mortality rate and P is the number of mature and senior people. Soldiers are not counted to this; the mortality rate includes only the civilians killed by war. Next, the dead soldiers are subtracted from the mature group. If in an emergency children and seniors are used in the army, it is taken into account. Mortality is affected also by the estimated life-span of the population. Mortality by its part affects the reproduction for the next turn
It is open for debate, in which order these calculations should be made. They can be made in steps, or all calculations can be combined in one large calculation, where the time span - one year - is taken into account. For example, whether the children reaching maturity should be subtracted from the amount of children before the child mortality is calculated, or after that; one possibility is, that after the amount of children reaching maturity is calculated, we take half of those children, and kill R percent of them (R being the child mortality), and transfer then the resulting amount into the mature group. Or something like that.
All in all, calculations in this section are easy; the difficulty is to find the birth and mortality rates, since many things need to be taken into consideration. But I'm sure the whole process will not be very time-consuming. Later I will discuss more the calculation of the rates.
Immigration
There are many kinds of immigration. The simplest kind happens inside regions, where people move to nearby tiles. This requires only adjusting the amounts of people in the tiles. This happens usually when people are out of job, and they have heard that there is work available in some nearby location. Tech level and infrastructure decides how far the people are ready to travel.
Immigration between regions belonging to the same civ is a little more complicated, since it also demands adjusting the populations stats. This is the case also when people living in the countryside move to cities. These kinds of immigration are a little more rare than the first kind.
Finally, people can move to different countries. This is the most unusual case of immigration. It requires the same adjustments as the second case, plus adjusting the statistics of the civilization populations.
This section needs more refinement.
Workyears
This is a measure of the people's work. We should use a standard unit for this; for example certain kind of building project or production requires a constant amount of workyears. It is not necessarily one year's work of one worker; it depends on the workday length, and efficiency. If we decide, that one workyear means 8 hours work per day, six days a week, 45 weeks per year (2160 hours), then an ancient worker who works 16 hours per day, seven days per week, 51 weeks per year (5712 hours), with efficiency of 90%, produces 2.38 workyears per year.
Workyears are calculated for each class of the population, including all workers in it; in that phase we will round down the amount of workyear, to get rid of the decimals. So, if there are 1567 men in the class working as the man described above, we get 3729 workyears. If the unemployment in that class is 10%, the final amount of workyears is 3356. So, then if those people are employed farmers, working for large farmers, and producing one measure of food requires 100 workyears, the total production of food in that population is 33 measures (calculations are always rounded down). This is just an example, the production is not necessarily calculated this way. This just shows how the workyears work.
Creative Energy
This measure the people's free-time activity, and general creativity. More to come here soon.
Happiness
This is mainly an SI issue. More to come later.
Technology Level, Education Etc.
Tech level tells the advancedness of the society in that particular population; it is important to have this as a population property, since it can, and most often also will, vary throughout the empire. Tech level is combined from many factors. The first is the type of society. There are these options:
-primitive (stone age)
-nomadic
-agrarian
-feudal
-imperialistic
-pre-industrial
-industrial
-modern
-information
-genetic
Some factors might clear out the status of the society:
-colony
-urban
-
In some cases, these could be combined. It might be possible to have feudal industrial society, or information genetic, for example.
Each society type would have a basic rate for birth, mortality, etc. That basic rate would be modified by some factors, that need to be cleared out, and finally it is affected by temporary events, like wars, famines, good crops, diseases, disasters etc.
The second factor for deciding the tech level is the infrastructure. Even if you possess technology, your tech level rises only when you put that tech into use. So, you slowly enter industrial age when you start building factories, railroads etc.
Third factor is the level of scientific knowledge.
This section is still to be refined.
Calculating Birth and Mortality Rates
More to come...
Mobile Populations
There can be special units, that have population statistics, some kinds of "mobile populations". This is used for nomadic tribes, primitive hunter-gatherer tribes, settlers, refugees and other groups of people on the move.
These "units" can belong to some civilization, or work on their own, effectively being a simple "civilization" themselves.
The mobile populations can "settle" to some spot; when this happens, a small hut or some other appropriate symbol appears on the map to represent an encampment. After some time, the unit can start moving again. If conditions are good, the people can find a new city on the location, or if the group is very small, merge with the population in that tile.
The mobile populations can have a part of their people as soldiers. This could be simulated by having population "armies"; there would be a fixed "population unit", like 10000 people, with all the standard population statistics, and some special statistics; smaller groups of people could be created with "incomplete" units. For example, a population of 57000 people would have 5 full "population units" and one with only 70% of its "hitpoints" left. In the army could also be "supply troops", wagons that could carry some resources the people think they need; food, valuables, etc. Then, there could also be standard military units.
What would this idea allow? For example we could simulate something that happened at the advent of the fall of roman empire; asian nomadic tribes invaded eastern Europe, which resulted in Great Migrations of german tribes, that eventually lead to destruction of Rome and changed the whole ethnical map of Europe and northern Africa. In the game, each tribe would be an "army". They would try find a place to live, and you could try to stop them by fighting the military units, then enslaving or destroying the whole population, or whatever you like. You could also give them an area of land in exchange for their loyalty.
The army could split into smaller parts or even individual units, unlike normal armies, and still stay connected. That is for simulating the minor tribes; they work as a civilization, just without cities. When they build or conquer cities, they could still remain mobile, if they like. Each tribe would have an ethnicity; there could be several tribes for each ethnicity. These tribes would be identified with numbers. In some cases the tribes could have names, if that ethnicity has been specified tribe names. If no name can be found, the player would see it for example as "a german tribe".
Notice that it might be possible to use this system in the beginning of the game, replacing the lonely settler system. The player would start with a small tribe, which could spend a long while as nomads, still growing in size; the "tribe army" could be split, some units could be "sentried" to some location temporarily. A small hut would appear, as normally. If that spot turns out to be a good location, a city might appear. And so on.
Tribes would work much as civilizations, but with limited possibilities. Their AI would be an extended unit AI, until they become "real" civilizations.
Tribes could break into several rival factions, just like civilizations. This system might open some interesting possibilities. The separated tribes would have the same ethnicity, but they would be separate "civilizations". Eventually, they might grow into two people, and they would become two separate ethnicities.
Secondly, primitive tribes would work as mobile populations; they would try to make their living, and when they are not satisfied with their current location, they would try to move elsewhere. Eventually they might form a small civilization, build cities etc.
Refugees could be modeled with this system. You could take them into your country, making them part of your population, or order them to move back to their homeland when that's possible. Also you could send them elsewhere, kill them, or even enslave them as with primitive tribes.
Nomadic tribes would be handled much like primitive tribes. They would usually live on large plains, and move around more quickly. Also they could eventually build cities, create central government etc., while part of their people still work as nomads.
That's it for now. This includes almost all issues I intend to put here; some issues require further clarification, but here is a rough vision of what the population model should be like. It is kind of complex one, but population is after all one of the most core-level components of the game; if you don't have realistic people to rule, there's no point in creating complex government or economy systems. Please read and comment.
Comment