Jump to content
  • Advertisement
Sign in to follow this  
Durakken

Population Spread Simulator...

This topic is 806 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

I have a black and white heightmap image where rivers/ocean is black land is progressively whiter as it gets higher (as a heightmap does)

 

I want to be able to place a population, set it's fecundity rate, it's lifespan, generation length, rate of death of offspring before age of puberty, and death from pregnancy rate.

 

I then want this program to tell me how this species spreads across the map, divides into clans, and countries.

 

I want to be able to track a family line from begining to end and their associations.

 

And I need to do this through about 10,000 years. I would like to be able to track forward or backwards in time without it altering the results as well.

 

----------

 

Is there a program that does this?

How hard would this be to do?

Would anyone be willing to help me make this? 

 

Having to do these things manually is a real pain and having this would be extremely helpful. Obviously I don't do it to the extent I'm asking for but I'd like as much detail as possible to work with.

 

The main issues I see with this is the number of instances for the population which to get up to modern times, assuming a full world map would be around a billion at the end of the simulation... of course once it gets to that amount I don't think a billion individuals would be needed...

Share this post


Link to post
Share on other sites
Advertisement


1> Is there a program that does this?

2> How hard would this be to do?

3> Would anyone be willing to help me make this?   
4> Having to do these things manually is a real pain and having this would be extremely helpful. Obviously I don't do it to the extent I'm asking for but I'd like as much detail as possible to work with.

 

1> Probably several that do the basic "simulate lifetimes", but probably nothing that does your grayscale heightmap world for simulation. That's custom software.

 

2> Depends on how much detail you want in it, and how you want it saved.  10,000 years of simulation is a LONG time, longer than all of humanity's recorded history.  You wrote that you expect it to get to "around a billion", but even if you start small and frequently kill of entire societies with disease, famine, and war, you'll still end up with far more than a billion people given human-like values.

3> How much are you paying?

4> Yes, I imagine tracking many billion connections by hand is tedious. 

Share this post


Link to post
Share on other sites

1> What do you mean simulate life? Cuz "The Game of Life" while interesting is not what I'm looking for obvious.

2> I was thinking of 1 year intervals. I'd assume you could save the "land owned" and heirarchy of govt in 1 file, and then members of the various governments and their positions in a data base, I can foresee 2 ways of doing this for the people and that is have a database that records each year individually in it's own database or have each database have a position for every year possible which would mean each row would need to have 10,000 columns for just that. It's not really all that important where they are overall, but if it deviates it would change the future movements so it wouldn't make sense going forward.

 

The two main difficulties I forsee is trying to create resource maps that are realistic and the AI which I've never been all that good with. 

 

And yeah 10k years is a long time ^.^ I predict a billion people at the end only because there was 1 billion people in the early 1900s.

 

3> I has no money... like literally unfortunately. I want this for a utility but I have no way of paying for it, but if I could, I'm curious how much would you say something like this would cost to have someone make?

 

4> indeed it is, but more so the trying to get things down accurate and trying to follow rules, get far enough in and then realize you should do it a different way and have to restart ^.^. 

Edited by Durakken

Share this post


Link to post
Share on other sites

You at least have the concept "clans", and "countries", while skipping more basic ideas like "amount of food in some area", "natural disasters", and a lot more, probably.

 

To have a concept of "clans", you need to literally program everything you take for granted with the clan concept. Take a piece of paper, write "clan" in the middle, then start writing any word related to clans that come in your mind. Don't think whether it is appropriate, just write all words that flash into your mind.

I am guessing you'll have 2 pieces of paper in no time.

 

If you do the same with "country", I am guessing you need somewhere between 5 and 10 pieces of paper at least.

To consider, think about a rule when you would create a new country. I am not able to give you an answer right now, so it's a very non-trivial question, yet essential to your simulation.

 

To give an estimate for programming, somewhere between 10 and 1000 man years, depending on how realistic you want it to be. Most of it is however not real programming, it's finding out what concepts play a role, and the precise rules for everything.

 

There are scientific disciplines that do this kind of stuff. You may want to see what knowledge they have, and what software they use.

Share this post


Link to post
Share on other sites

somewhere between 10 and 1000 man years

 

I doubt it would be that long unless it were an incredibly rich simulation.

 

The biggest issue I see is managing the data.  With several billion entities, each entity having their own life events that need to be recorded, plus interactions between all those entities that need to be recorded, that's a considerable volume of data.

 

The first centuries won't be bad at all.  But once you pass the second or third millennia your population's data will become less and less manageable.  

Share this post


Link to post
Share on other sites

Dwarf fortress does this... It can take a LONG time to generate new worlds, but it makes tens of thousands of characters, simulates their lives/interactions, and provides you with a history of each.

Share this post


Link to post
Share on other sites

Well what I'm trying to do right now is create a set of territories and clan divisions over 10,000 years on a continent with 38 million square kilometers starting with 2 people in the population. At roughly 500 year intervals. The maximum hunter-gatherer size population is 600 million. I don't quite need a history of each person, but a general population of clans, tribes, kingdoms, their land areas, etc

 

One of the bigger problems is placing settlements though because they rely on resources (about 10 of them) which I am not geologically compitent enough to create a of these resurces to make those maps.

 

I think the best quickest way to do it is create population grow algorithm and place territory at given intervals (10x10km at ~60km intervals for example) creating new ones as the populaion grows, and just make it so that they aren't placed in pixels that are too white or black.

 

The data that should be able to create the pop generator is...

 

if age < 14 chances of dying = 14%
if age > 14 & < 150 & Female chance of pregnancy = 5%
33% chance of not carrying to term
1% of women who give birth will die soon after
if age > 14 & soldier (25% chance of being one) = 4% per year in general (1 in 100). 4% chance of dying on winning battles (1 in 100), 16% chance of dying in losing battles (4 in 100). 
if ~300 99.99% chance of dying that year.
 
Groups tend to keep to about 300, with a maximum of 1000 members
Groups, when they split move 1 to 2 days away.
 
I'm thinking the loop needs to run monthly rather than yearly...
I've a bit to write this in JS, but ran into issues of not getting how its class objects work.
Also the data is for the species I'm working with now, not humans, but a great number of it is for humans too..
Edited by Durakken

Share this post


Link to post
Share on other sites

Yep, check out dwarf fortress, it does that down to an even more granular level. It's free.

 

Dwarf Fortress is not helpful in resolving my issue and as far as I can tell it does not do what I want or not in the way that i can manipulat it in a way that I want.

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.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!