• Advertisement
Sign in to follow this  

Population growth rate (4X)

This topic is 1087 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

4X game, I look for a formula for a growth rate (but there are some twists).

 

There are planets, there is population on planets. So far so good.

I want the colonization of new planets desirable (affecting strongly the total population) so more planets should mean bigger population growth (one planet with 10 million citizens should have significantly lower growth rate than 10 planets with 1 million).

 

1) So, my first idea was that population increses by 1% per turn, but no less than 1,000 citizens per turn (so, small planets will get in practice much higher % growth rate since 1k planet still get +1k minimum (which is 100% growth).

I kind half of like it (if you have a better idea)...

 

2) But the bigger problem is with aliens. Each planet can have a separate pool of population for each race (when you conquer a planet you get the alien population + your race's population (let's call them Terrans) still immigrate there).

If there was just one race I could just make thing like "overcrowded planet get lower pop growth", but here how could I calculate overcrowding?

 

Also, note I try to prevent genocide strategy (player wanting to get rid of alien population so there is more space for the player's race (Terrans)). So, if I just sum up all citizens on a planet then effectively it would reduce the growth rate of the Terran immigrants (who are considered the priority).

 

3) Food consumption. Here I have no clue... There are player's original citizen (Terrans are the most productive and loyal) and the alien residents. How to handle food shortages there (again, I would prefer if they player do not try to kill alien citizens to feed the Terran citizens)?

Share this post


Link to post
Share on other sites
Advertisement

Sigh... whenever I post a slightly more complex problem no one answers... Look, I don't expect a perfect or an optimal solution. If you have something related to say, some idea that might help me go forward, by all means post it. Thanks.

Share this post


Link to post
Share on other sites

I had some spare time, so I tried to do something useful for once.

 

Firstly, there could be some factors listen:

 

Public happiness (fed food)

Taxes?

Security? military etc

Houses? Town hall, inner and etc.

 

Those were examples: Multiplying those number some way would create some kind of factor for grownth.

 

Then the grownth formula:

 

grownth = (basegrownth - sqrt(population)) * planets

 

Where...

grownth is the population grownth each turn

basegrownth is the fixed amount of grownth. example 5000

sqrt(population) = population into squareroot

planets = number of planets

 

Grown 1: 12000
Grown 2: 8292
Grown 3: 5513

 

Where grown1 = 1000000 population,

grown1 = 5000000 population,

grown1 = 10000000 population.

 

Adding the public happiness bonus on that would mix the result quite nicely.

 

 

PS overcrowding occurs when population grown result is negative. (lag of available food/ taxes/ mublic order/ etc...)

Edited by somedude95

Share this post


Link to post
Share on other sites

Hmm, you gave me an idea, maybe make two "axes", global growth per race and local growth per planet?

 

 

Each race could have "racegrowth = (basegrownth - sqrt(population)) * planets". It calculates all pops of given race that live in your empire ("foreign" races get it calculated for their home empire and your empire and the worst is used - so your population do not suddenly get higher growth because they are minority inside some other empire).

 

Then each planet would have a local growth rate which is some sort of summary of all races that live on that planet only (it simulates how overcorowded that particular planet is).

 

Then these two variables (global race growth and local planet growth) are somehow mixed and the final growth rate for each racial group/faction in a planet is calculated.

 

 

 


PS overcrowding occurs when population grown result is negative. (lag of available food/ taxes/ mublic order/ etc...)
Not exactly. My intention is to simulate "planet size". Like a planet can't really hold billions of billions population even if food is plentiful. So I want some sort of fixed penalty/cap to population per one planet.

Share this post


Link to post
Share on other sites

4X game, I look for a formula for a growth rate (but there are some twists).

 

There are planets, there is population on planets. So far so good.

I want the colonization of new planets desirable (affecting strongly the total population) so more planets should mean bigger population growth (one planet with 10 million citizens should have significantly lower growth rate than 10 planets with 1 million).

 

1) So, my first idea was that population increses by 1% per turn, but no less than 1,000 citizens per turn (so, small planets will get in practice much higher % growth rate since 1k planet still get +1k minimum (which is 100% growth).

I kind half of like it (if you have a better idea)...

 

2) But the bigger problem is with aliens. Each planet can have a separate pool of population for each race (when you conquer a planet you get the alien population + your race's population (let's call them Terrans) still immigrate there).

If there was just one race I could just make thing like "overcrowded planet get lower pop growth", but here how could I calculate overcrowding?

 

Also, note I try to prevent genocide strategy (player wanting to get rid of alien population so there is more space for the player's race (Terrans)). So, if I just sum up all citizens on a planet then effectively it would reduce the growth rate of the Terran immigrants (who are considered the priority).

 

3) Food consumption. Here I have no clue... There are player's original citizen (Terrans are the most productive and loyal) and the alien residents. How to handle food shortages there (again, I would prefer if they player do not try to kill alien citizens to feed the Terran citizens)?

 

Currently I don't have much more time to throw more thoughts of mine into it. But if you"re a bit proficient in maths you might look into Lotka-Volterra models for modeling a population, especially when you have a population which preys on a regeneratable ressource.

 

http://en.wikipedia.org/wiki/Lotka%E2%80%93Volterra_equation

 

I think the model pretty much emulates the changing growth rates you desire. The only problems you might encounter on large time scales though might either be oscillations of the population number or extinction events. Though I think one might be able to modify the equations to surpress such behaviour. Anyways, I will possibly revisit this post this evening and write more detailled thoughs on it.

 

Note: You can utilize the model for the game by discretizing the derivatives.

Edited by Dr. Penguin

Share this post


Link to post
Share on other sites

Is those planets already there or will they be discovered by players? Althought that doesn't matter either way will do if each planet has unique population gap.

For example each planet has population gap between 10m to 50m.

 

When the planet exceed the gap there would occur more crimes/ diseases/ income drop. Depends ofcourse what kind of game it is. (too healthy to be sick?)

 

Let say there's planet with 10m population gap. It builds the population up to the gap until it reaches it then the bad things start to happen there. But there's

few downsides, well not quite, but lets face them. When the planet is overgrown should the goverment kill people from there? Or should it be made differently?

 

Let say the 10m pop gap planet has 12m population.

overgrown = gap - pop -> 2m

-> gangtime = gap / overgrown -> 5

 

How about if statements?

0 - 0.50

0.51 - 2.00

2.01 - 4.00

4.01 - 6.50

6.51 - 9.00

 

Okay those are just "softpoints" but yes... What's the key of the game. How does the population/ income affect on how well player does?

 

Like there could be random events.

- Bank robbery -> # amount of money gone...

- Disease -> # amount of people get killed by weird "slime"

- Cold year/ turn -> # decreased harvest amount

- This no good for me -> # amount of people moved away

 

So those all four event has ? change to happen. Which would calculate before player's next turn.

 

Back to the grid

 

Let say that each event has number from 1 to 100 generated.

 

(BR) Bank robbery occurs when x < 10

(DI) Disease occurs when x < 5

(CY) Cold year occurs when x < 20

(TngfM) This no good for me occurs when x < 10

 

And now back to the overgrown --->

 

When gangtime is...

 

0 - 0.50 - - - (BR) = 12.5, (DI) = 7,5, (CY) = 22,5, (TngfM) = 12

0.51 - 2.00 - - - (BR) = 15, (DI) = 10, (CY) = 25, (TngfM) = 16

2.01 - 4.00 - - - (BR) = 20, (DI) = 12, (CY) = 30, (TngfM) = 20

4.01 - 6.50 - - - (BR) = 30, (DI) = 14, (CY) = 35, (TngfM) = 25

6.51 - 9.00 - - - (BR) = 50, (DI) = 20, (CY) = 45, (TngfM) = 30

 

Those are the boost of overgrowding

Share this post


Link to post
Share on other sites


Is those planets already there or will they be discovered by players?
Both. Colonized or conquered. Might have alien population or not.

 

This is for this game:

http://www.gamedev.net/topic/663110-started-working-on-my-4x-emperor-game-thing/

 

Important note, we are talking about like 200 planets under players control, so these would be rather autonomous. The player can not directly move population, they migrate on their own (usually from overcrowded planets to new planets).

 

So, things like events related to population would not make sense here (too many planets to handle it + the player don't have tools to react). Well these could be like modifiers or something... but not events per se.

 

When the planet is overgrown should the goverment kill people from there?

No, no, no, the player can't do such things :) It has to be handled by the population itself (increased willingness to move elsewhere for example). Definitely I don't want to give the tools to exterminate population (the player would simply exterminale all aliens first).

 

Basicly the player can see how population moves, can affect the movement on a global scale by some degree (tax reliefs on new planets, settlement act, subsidy to passenger transport guild) but other than that they move and breed as they want and the Emperor has to live with it :)

 

 

 

Back the main issue. How to handle multi population planets? Let's say there is a 10m "desired/optimum population" cap on a planet. How it works with two separate alien pop groups? Do they simply sum up and are affected identically by the cap?

Share this post


Link to post
Share on other sites

So in one planet has two factions? Outsiders and Insiders for example? If that's the case how about if the population cap is divided between those factions based

on how powerful the faction. Something like overall "score". Factionpower = population * money * planets * military * etc...

 

Planet - 10m cap

Outsiders - 543493 faction power

Insiders- 243982 faction power

 

243982/ 543493  = 0.448914705

 

---->

Outsiders's max population in planet = 10m * (1 -0.448914705) == 5.51085295m

Insiders's max population in planet = 10m * 0.448914705 == 4.48914705m

 

 

Going to do DISHES DIShess... dishess......

Share this post


Link to post
Share on other sites

My personal approach to this is to consider density. I assume planets have a finite size, and use it to create an asymptotic relationship. It addition, I had a base threat factor.

 

What this creates is a relationship where:

- If there are too few individuals on a planet, they will DIE from lack of organization, environmental threats, etc.

- If there are sufficient individuals, they will thrive.

- If the world is close to overpopulated, their birth rate will be penalized until it drops to the same level (or below) death rates, thus depopulating.

 

Doing so with many races: add all races together, you get your total population. The same metrics apply.

So if you settle on a world where there's another race, overpopulating it is no solution as you're die proportionally just as fast as them.

Share this post


Link to post
Share on other sites


Doing so with many races: add all races together, you get your total population. The same metrics apply.
OK, I will give an example. My Empire has conquered a planet, it has 20m aliens (while the planet can hold 10m, so it's super overpopulated). The first thing that must happen is so 5k citizens of my empire immigrate there so they take over the most important posts (government, key military positions, etc) since these can't be left in the hands of aliens (who are considered a lower grade citizens). And those 5k elite citizens are NOT going to die out of hunger, lack of housing or any other mundane reasons :) It has to work that way no matter what math says :D

 

How to make a mechanic for something like that?

Share this post


Link to post
Share on other sites

Same you do in real life.

Kill them, slave them or anything in-between. Seriously, you can't suddenly have 5,000 spare food rations unless you brought them along, and 5,000 houses won't instantly get built if the planet is already full. It's like trying to add 10 buildings in Hong-Kong overnight...

Share this post


Link to post
Share on other sites

 


Doing so with many races: add all races together, you get your total population. The same metrics apply.
OK, I will give an example. My Empire has conquered a planet, it has 20m aliens (while the planet can hold 10m, so it's super overpopulated). The first thing that must happen is so 5k citizens of my empire immigrate there so they take over the most important posts (government, key military positions, etc) since these can't be left in the hands of aliens (who are considered a lower grade citizens). And those 5k elite citizens are NOT going to die out of hunger, lack of housing or any other mundane reasons smile.png It has to work that way no matter what math says biggrin.png

 

How to make a mechanic for something like that?

 

 

There are 20m aliens but not all of them live in same conditions, just like that 5k governing body of Empire will live in an exclusive place and above average life standard.

 

And for considering an overpopulated planet, you may assume food scarcity = increase of food prices which might lead to importing food from other planets (commerce), starvation (health), emigration (population) and/or revolt (happiness)

 

You may also expect ETs to emigrate to another ET planet etc, making simulation a bit more complex , also separation of alien species doesn't make much sense imo unless you intend to integrate mechanics like Empire-friendly or hostile races which are function of uprising probability or so.

Edited by Unduli

Share this post


Link to post
Share on other sites


There are 20m aliens but not all of them live in same conditions, just like that 5k governing body of Empire will live in an exclusive place and above average life standard.
Yes, yes, exactly. Something like that. The Terran population (honoured citizens of the Empire) are supposed to be better than alien population (residens, half-citizens, maybe even slaves). But I don't want it too complex...

 


You may also expect ETs to emigrate to another ET planet etc, making simulation a bit more complex , also separation of alien species doesn't make much sense imo unless you intend to integrate mechanics like Empire-friendly or hostile races which are function of uprising probability or so.
I do. Each race has a different status in the empire (the player probably will have an edict/law panel to manage this). Your starting race is considered the most honourable and have all the rights while primitive untrustworthy and lazy aliens are of lower standing.

 

Now, I want to simulate it without excessive complexity...

Share this post


Link to post
Share on other sites

 


There are 20m aliens but not all of them live in same conditions, just like that 5k governing body of Empire will live in an exclusive place and above average life standard.
Yes, yes, exactly. Something like that. The Terran population (honoured citizens of the Empire) are supposed to be better than alien population (residens, half-citizens, maybe even slaves). But I don't want it too complex...

 

 

 


You may also expect ETs to emigrate to another ET planet etc, making simulation a bit more complex , also separation of alien species doesn't make much sense imo unless you intend to integrate mechanics like Empire-friendly or hostile races which are function of uprising probability or so.
I do. Each race has a different status in the empire (the player probably will have an edict/law panel to manage this). Your starting race is considered the most honourable and have all the rights while primitive untrustworthy and lazy aliens are of lower standing.

 

Now, I want to simulate it without excessive complexity...

 

 

But what's the point of some aliens having lower standing and less rights when you can't dictate anything at game unless you are happy with it being like Titanic (lifeboats are for rich folks first and they're not stacked) , so more Terran may leave less space for aliens in a "Terran first" fashion.

Share this post


Link to post
Share on other sites


But what's the point of some aliens having lower standing and less rights when you can't dictate anything at game unless you are happy with it being like Titanic (lifeboats are for rich folks first and they're not stacked) , so more Terran may leave less space for aliens in a "Terran first" fashion.
It goes like this: :)

1) Player can conquer planets, but I don't want the total "wipeout" when a planet changes ownership (since near borders a single planet can go back and forth several times).

2) So, I need the population and infrastructure to survive.

3) Therefore the population has to survive and should be at least partially useful to the conqueror.

4) But I don't want the alien population be as valuable as the original race you started with.

 

I basicly look for a system where it all would work :) Grades of citizens and the like is a tool to achieve this, it does not need to be thrilling on its own (but if it's thrilling it's a bonus for sure).

Share this post


Link to post
Share on other sites

I struggled with deciding on if its helpful to tell you (there was a hint by someone else in the other thread already), but people may have hesitated helping you after starting this thread, because you inadvertantly presented discrimination based on race as the only solution to your game rule problem. Slavery may be less evil than killing everyone, but you still could have tried to think further on different solutions.

Usually conquering enemy outposts is modeled in a game as the people going on strike not producing anything for some turns. You could then maybe also have production go slowly up while everything calms down and people get accustomed to a new government.

Or you could simulate the planet not getting taken instantly but to slowly occupy more and more of it.

Or you could say factories  and other facilities are needing repair from battle damage.

After some arbitrarily long time the panet would then get as productive as any other if it doesn't get retaken, irregardless of its inhabitants.

Share this post


Link to post
Share on other sites

 


But what's the point of some aliens having lower standing and less rights when you can't dictate anything at game unless you are happy with it being like Titanic (lifeboats are for rich folks first and they're not stacked) , so more Terran may leave less space for aliens in a "Terran first" fashion.
It goes like this: smile.png

1) Player can conquer planets, but I don't want the total "wipeout" when a planet changes ownership (since near borders a single planet can go back and forth several times).

2) So, I need the population and infrastructure to survive.

3) Therefore the population has to survive and should be at least partially useful to the conqueror.

4) But I don't want the alien population be as valuable as the original race you started with.

 

I basicly look for a system where it all would work smile.png Grades of citizens and the like is a tool to achieve this, it does not need to be thrilling on its own (but if it's thrilling it's a bonus for sure).

 

 

Then , I think conquering a planet may lead to Terranization  (or vice versa in case you lost) , if Empire treats aliens less than Terrans, probably aliens will do same for Terrans after all.

 

So in time demographics may turn in favor or against Terrans, and assuming Terrans are elite citizens they have better life standards and they consume resources more than their population share.

 

So instead of Empire dictating anything, it's more like a "natural" flow.

Share this post


Link to post
Share on other sites


but people may have hesitated helping you after starting this thread, because you inadvertantly presented discrimination based on race as the only solution to your game rule problem. Slavery may be less evil than killing everyone, but you still could have tried to think further on different solutions.
Heh, all other games of the genre have genocide and players don't mind, but when I try to move to the next level of humanitarianism (racism instead of extinction) I'm the bad guy :D But you might be right... When you kill aliens players see these ugly monsters that kindnap our cows/women and infest us with something that will eat us out from insides, but when you assimilate aliens as lower class citizens they see XIX cotton plantations with enslaved green skinned people... :)

 

Yeah, I should go back to genocide but made it hidden/softer.

 

Maybe like this:

- there is separate population like: "20m population + 5m alien population", aliens are summed together (doesn't matter who is who there, they are just not Terrans)

- aliens are not officially citizens of the empire, they just are not exterminated. They do pay some small taxes and add a bit to the production but overall they are not that useful. They can not rebel (althrough a planet with high alien population would have lower loyalty/lower political stability), only citizens (Terran) can rebel.

- there are two separate planet capacities, Terran (original race the Empire starts with) mand alien. And/or the capacity is auto and hidden prioritized to Terrans (first Terrans eat all the food the leftovers go to aliens).

- over time aliens slowly emigrate/die out, so their numbers are dimishing (same for Terrans on alien occupied worlds, althrough they more emigrate back to your empire than die out)

- probably there should be some "free alien quota" for mood and so on, like 10% of planet population can be aliens

 

Similarly I could add a third category "natives", which are local sentient lifeforms and will never migrate, but might help the economy a bit (or even provide unique skills to the player - like they can make a rare medicine). They would be rather primitive and not directly compete with terrans & aliens (living in mountains, swamps, making their own food), also the planet could get a free quota of natives.

 

 

So instead of Empire dictating anything, it's more like a "natural" flow.
Yeah, natural flow probably would be better.

Share this post


Link to post
Share on other sites

If I may ask, why not simply assimilate the aliens, making them equal citizens? I realise--if I recall correctly--that you've indicated that you don't want to do so; I'm asking, essentially, why that is.

Share this post


Link to post
Share on other sites

If I may ask, why not simply assimilate the aliens, making them equal citizens? I realise--if I recall correctly--that you've indicated that you don't want to do so; I'm asking, essentially, why that is.

Many reasons. Like balance, graphics (the portrait of the planetary governor *must* be a human :)). Also I do not want the AI to assimilate player's population. Also your original race is a soft cap to conquest (only terrans can crew your military ships - you can't conquer aliens and then make them into soldiers to conquer even more of their brothers & sisters).

Share this post


Link to post
Share on other sites

 

... balance ...

Hmm... Here I'll admit that I feel a little out of my expertise (this isn't really my genre), but what imbalance would result from aliens as equals?

 

 

... graphics (the portrait of the planetary governor *must* be a human smile.png) ...

Since this is an empire, not a democracy, the emperor (or someone in the hierarchy of the empire) presumably appoints governors. Thus simply have governors be appointed from within the imperial hierarchy, which is based on the player's homeworld, and governors will (presumably) always be human.

 

 

Also I do not want the AI to assimilate player's population.

Why not?

 

 

Also your original race is a soft cap to conquest (only terrans can crew your military ships - you can't conquer aliens and then make them into soldiers to conquer even more of their brothers & sisters).

Hmm... I suspect that this could be solved in other ways.

 

One thing that comes to mind is that inducting a planet into the empire would presumably take manpower--governors, soldiers on the ground, builders, translators, etc--thus reducing your available manpower. This could be countered by conscription from the new planet--but a species that has just been conquered might balk at more than light conscription, and thus be more likely to rebel.

 

Another idea might be to make the aliens physiologically incompatible with human ships, and their ships (if they have them) be unsuitable for expanding the empire (perhaps lacking faster-than-light capability).

 

[edit]

Yet another thought: it occurs to me that a planet that has just been conquered has likely just had its military crippled; on top of that, its economy and population (and especially that portion of its population trained for combat) may have taken a significant hit. Thus such a planet might not be in a position to immediately offer conscripts for the empire's armies, only slowly recovering--at which point its recovering population growth could simply be modelled with the terran and alien population conflated, and the question of the composition of starship crews might never come up.

Edited by Thaumaturge

Share this post


Link to post
Share on other sites


Since this is an empire, not a democracy, the emperor (or someone in the hierarchy of the empire) presumably appoints governors. Thus simply have governors be appointed from within the imperial hierarchy, which is based on the player's homeworld, and governors will (presumably) always be human.
"presumably" :) Some players will think (and complain) otherwise :) Generally, I try to avoid such situations where I have to to explain why something works the way it works, especially when there are different interpretations possible... I prefer to show it to the player than to tell.

 


Also I do not want the AI to assimilate player's population.

Why not?
Balance :D OK, sure I could live with it and make it work and so on but I simply want to avoid it. It does not add to the gameplay and makes things more complex. Also, it's more thematic when you are to "liberate your fellow terrans from the oppressive alien rule", it adds to the mood. Terrans that are not under player's control are supposed to suffer and send desperate letters to the court "Our dear Emperor of all terrans, we beg you to conquer our planet and make us your humble subjects again! We promise to pay taxes in time and serve in your military. Death to the aliens! With regards, Terrans of planet Xefolius XI (temporary under the rule of evil aliens)".

 

Overall, I could debate & explain what you asked but the truth is, part of the reason is the mood. It's the Empire not the Federation. Terrans are supposed to be special. Aliens as "aliens" fit the mood better.

(plus I don't want to make portarits generator for all possible races :D)

Share this post


Link to post
Share on other sites

 

"presumably" smile.png Some players will think (and complain) otherwise smile.png Generally, I try to avoid such situations where I have to to explain why something works the way it works, especially when there are different interpretations possible... I prefer to show it to the player than to tell.

The "presumably" was on my part, since I don't know your game. You could presumably show how it works, rather than telling. :P

 

 

Balance biggrin.png OK, sure I could live with it and make it work and so on but I simply want to avoid it. It does not add to the gameplay and makes things more complex.

Fair enough.

 

 

Also, it's more thematic when you are to "liberate your fellow terrans from the oppressive alien rule", it adds to the mood. Terrans that are not under player's control are supposed to suffer and send desperate letters to the court ...

If the aliens are that cruel, is it feasible to have them as citizens at all, whether full or otherwise?

 

By the way, I may have missed this in a previous thread and wonder whether the answer might affect my thoughts on the topic if discussion: why is the player conquering these planets? I recall something about an incoming extra-galactic threat--is it a matter of increasing production in order to produce a military sufficiently large to meet the threat? Is the goal to protect all life in the galaxy, aliens included? Something else?

Share this post


Link to post
Share on other sites

For a single species growth rate, it sounds like you want a minimum early growth, increased growth as the population increases, and slowed growth with overcrowding. I would do that in a way that increases gradually, instead of in steps. For example:

 

growthBoost = 1000

maxPopulation = 1000000

growthPercent=.1;

crowding = currentPopulation / maxPopulation

 

 

 

Then each turn, currentPopulation+= (growthBoost + currentPopulation*growthPercent)*(1-crowding)

 

 

With this, growth starts out mostly with the boost of 1000 like you mentioned, and increases gradually until you're mostly seeing the 10% population growth.  Then you only start feeling the reduced growth from crowding as your population gets close to the maximum population. If you want stuff like food, infrastructure, and technology, it could affect growth by increasing the maximum population, or the growth percentage.  

 

With aliens, you might use this equation for the total planet population growth, then use similar equations to divvy up the growth between species. As the percentage of upper class increase, it could lower the maximum population allowed for the lower class on that planet, causing them to go beyond their maximum population. If the maximum population is reduced and alien crowding is over 1, they would have a loss in population, making more room for the upper class.

Edited by DifferentName

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement