[MUD-Dev] RE: Realistic Ecological Models

David B. Held dheld at codelogicconsulting.com
Sun Apr 28 13:33:43 New Zealand Standard Time 2002

From: "Sasha Hart" <Sasha.Hart at directory.reed.edu>

>   -- No matter what your level of detail, you are going to
>   reinvent the wheel.  Even if you think you are doing something
>   radically simplified, or unrealistic, you can probably learn
>   something from what people wrote.  (Learned the hard way).

I've already seen a lot of ideas both old and new, and I've been
taking mental note.

>   -- Population control I: carrying capacity. This is useful for
>   putting an upper bound on population growth and for simulating
>   starvation due to food shortages.

Why should I simulate food shortages?  If everything needs to eat,
either there will be a food shortage or there won't be.  If food
magically sustains an explosive population, I figure I have a pretty
bad ecological model.  Or perhaps making everything find food is
oversimulating?  Too computationally demanding?

>   -- Population control II: predation. Don't use these to control
>   population.

Hopefully, a balanced ecosystem will include predation as a
population control measure; but I agree that it seems foolish to
rely on it alone, as predation relationships are not guaranteed to
be stable.

>   So don't forget carrying capacity even if it seems redundant.

Actually, an ecology model doesn't deserve to be called
"hyper-realistic" if it neglects the aspects involved with carrying
capacity.  Obvious examples are grazing animals that only need grass
and water to survive, or small mammals that primarily feed off
fruits and vegetables.  Clearly, a generic measure of grass coverage
needs to be determined for fields if it is to be a limiting factor
in cattle growth.  I think the sector system that I have devised
will help alleviate the "simulate every plant" problem, while still
providing a realistic ecology that allows for food shortages and the
corresponding population reduction.  Again, major flora coverage
like trees, bushes, and fruit-bearing plants must be accounted for,
but at just the right resolution.  Something akin to RTS game
resources is probably appropriate.

>   -- Dynamics need to be played out at the right rate. Not hard to
>   engineer this, but it's important - if you want players to
>   interact with it rather than just be affected by it, if you want
>   them to be able to see signs, predict events and control them to
>   any extent, they have to be able to see it, and they have to be
>   able to keep up. Birth rate and more concrete instantiations
>   (gestation time) are perfect.

I'm not entirely sure what is covered by "dynamics", but if you
simply mean "active events", this will probably be the most
difficult part of the game.  My natural reaction is to make
everything move. ;) Of course, this is far too expensive to
implement.  But when mobs move around, even non-sentients, it will
be for a purpose.  For instance, deer in the forest will move
towards the sectors that have the best feeding opportunities and
provide the best cover.  Also, they will tend to move in small
groups and stay with their young.  This should be fairly easy to
implement: The deer logic says "If x deer move to nearby sector 5,
move with them."  "If more than y deer move, the group is too big,
and will result in overfeeding.  Move to sector 8 instead."  "If the
food level here is below 10%, move on, to avoid overgrazing."  And
all the movement actions can be probabilistic, so that they tend to
use rule X in the proper situation, but might instead use rule Y.
This should allow small groups to form and move together, while
avoiding a "herd magnetism" trap that collects all the deer in the
world into a mega-herd.  Of course, what would ultimately be
desirable is to have these rules encoded in a genome, and let the
best genome win. ;)

> -- Food webs need diversity to be stable.

This seems reasonable.

> -- Diversity can be pretty tough to get and maintain.

I suppose.  It depends on your design and goals.  But I can see that
there would be a problem that you can't just design a "tiny
ecosystem."  You get to a point where you need more and more things
to balance out all aspects.  Hopefully, there is a way to increase
the size iteratively.

> -- Dealing with this problem may entail speciation or other
> abstractions on genetics or at least variation in phenotype

I think this is a separate aspect that should be studied in its own


MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the MUD-Dev mailing list