Wow, thank you all for the swift and detailed response!
To clarify my intentions a bit: the point is not to
be realistic but to
look realistic at the surface level. So I will be cheating ruthlessly wherever possible.
The most important point is good modelling of organisms on both small scale, so that the player can watch them interact, and large scale, so that it's not prohibitive to model a large number of organisms. Since our plan for the gameplay relies in large part on manipulating ecology by tampering with (and creating) different species, these two models should "match up" well.
So yes, basically it will be exactly a multi-agent system. I will check out some of the literature on that.
@Skofo: I'm not looking for any kind of library. I'm looking for information on how things like climate, ecology, etc. work at different scales, and (secondarily) information on how to implement that efficiently.
@Parthon: I hope my spiel up there answers your question. Basically, my ideal is that I can model these interactions both on a small and a large scale and make these models match up. AI
emergence is a long-term goal
but I think semi-realistic human NPCs are definitely within reach. The biggest problem, of course, is making them talk, but that's for a different thread...
@Kiwi: multi-agent systems look like they're just what I'm envisioning. Lotka-Volterra, not so much, because it doesn't include any geographical component.
My thinking right now is that I will try and find/create a reasonable large-scale algorithm for shunting around individual organisms, and then the small-scale algorithm will "fill in the gaps" with specific movements, actions, etc. But this requires a reasonably complex and detailed large-scale algorithm.
@nikki: awesome useful climate information, thanks! Those guidelines are very useful. Ideally, though, I would like "climate classifications" to be an
emergent property of a global model, rather than modelling each classification on its own. That means not just declaring "this patch of terrain is a tropical rainforest and therefore must have X precipitation and Y temperatures", but rather "this patch of terrain has B plants and absorbs C sunlight with D weather, etc. which causes X precipitation and Y temperatures". Obviously the causality is much more complex than that, but basically I would rather build climates from the bottom up than the top down, since the bottom is what's going to be visible to the player.
---
Again, thanks so much, this is all really helpful stuff! Time for some library trawling, I think. I hope that this is all reasonably clear.