Jump to content
  • Advertisement
Sign in to follow this  
Acharis

Population growth rate (4X)

This topic is 1175 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
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!