(Incidentally I happened to see some documentary recently which rubbished the idea of modelling ecosystems as mathematically stable systems, since they're actually not stable at all - they're constantly changing, and after a sudden disruption they don't return to their original state. I think the programme may have made some potentially dubious claims, but it sounded convincing that stable systems were an inaccurate oversimplification of real life, so it probably wouldn't be "very lifelike" )
Heh, don't tell my old bosses about that documentary I used to do a bit of population modeling for USA Dept. of Natural Resources relating to sustainable harvests and a tiny bit for some pharma corp. (populations of bacterium vs human cells. Actually very complex because there's hundreds of types of bacteria all competing for a slice of the pie, plus other factors.) In both cases, I was looking at the effects of big disturbances (for DNR, it was clear cutting, for pharma, it was the introduction of antibiotics.) But I digress.
I really doubt that players would take a keen interest in managing population levels. There's simply too much other stuff to do, you can't track all the animals, you can't control what the other players will do with the animals and it just plain old sounds boring. I think they'd all adopt a animal management policy like "Just leave a few deer, and they'll come back." IMO, the actual game is too engaging to devolve into a park sim.
Anyways, I got home and I looked at my notebooks and I realized that I was thinking far, far, far too complex. (population thresholds, competing species, varied resource utilization, etc.) Like you said, it's an RTS, not an ecology sim ;P The most basic of population models would work great in this game.
Rate of growth = k(Pop)(1-Pop/Cap)
Pop is the current population. Cap is the carrying capacity of the map, and k is an arbitrary constant used to fine tune the rate of growth.
As you can see, when the population ever exceeds the carrying capacity, that second term becomes negative, so we naturally lose some population. Unlike a a more basic equation (say, "population grows by 25%") this means we effectively put a bound on the population. We'll never wind up with 2^256 deer even if we don't hunt for days. Also, the further we are capacity, the faster our population grows.
How do we determine our carrying capacity? I was originally thinking we could have it be some function relating to the amount of grazing space, but that's just overkill now that I think about it. It would be better to just flat out define it. ("For large maps, the max deer population is 50. The max elephant population is 10.") For predators though, I think it would be cool if we defined carrying capacity as a function relating to the amount of prey items. ("The carrying capacity of lions is one fourth the current deer population.") Assuming lions ever get AI enough to naturally attack deer, then that right there is all we would need to establish a very realistic predator-prey relationship model.
As for where you'd spawn animals, why not have them spawn exactly on top of existing members of their own race, then walk away?
Edited by gudo, 03 June 2011 - 03:34 PM.