[MUD-Dev] People were talking about resets..

Acius helpsfamily at attbi.com
Wed May 22 12:27:20 New Zealand Standard Time 2002

David B. Held wrote:
> From: "Sasha Hart" <Sasha.Hart at directory.reed.edu>
>> If the homeostasis you build in is too perfect, though, then
>> nothing will change.

> Presumably, homeostasis would not cause man-made structures to
> become unmade. ;) Unless, of course, you simulate extreme
> weather. ;)

We, uh, plan on simulating "players." Players unmake things
:-). After all, what's the fun of building a city if you can't burn
it to the ground afterward? (This brings up some interesting
problems with 3 a.m. invasions, which we're working on, but haven't
solved yet).

> One way to do this would be to have an encounter variable in each
> bunny that simply keeps track of the number of other bunnies it
> has encountered recently.  To do this efficiently, you simply
> define a "visual field" about the bunny, and count the number of
> bunnies inside that field.  When the bunny moves, instead of
> recounting its entire field, it just looks at the parts of the
> field that have changed (the leading and trailing edge).  When a
> bunny moves out of view of other bunnies, it both updates its own
> counter, and notifies the other bunnies to update their counters.
> That should avoid a lot of redundant searching and counting.  So
> this counter variable essentially tracks a moving average for the
> number of bunnies in the vicinity.  Thus, when it comes time for
> population growth, the bunny chooses to reproduce if the encounter
> field is below a certain threshold.
> Getting even more sophisticated, the bunnies could also take some
> kind of food inventory to estimate how rich the area is.  If the
> area is too sparse, it would choose not to reproduce, because the
> young would compete for food.
> The natural overfeeding of an area would probably limit the
> populations all by itself, but might possibly result in "bouncing"
> population levels.  By having a few extra rules about when to
> grow, the population could probably be evened out, with smaller
> amplitude fluctuations.

This requires a fair amount of computation, and is probably smarter
than most rabbits actually are, but I think it would give you the
desired effect. In r/l rabbits are capable of reabsorbing their
young before they give birth if they are going hungry (I don't have
that on good authority; a zoologist may feel free to contradict me).

You could probably get a similar effect by requiring that an animal
not reach "strong hunger" for, say, 10 days of game time before they
are willing to consider giving birth to anything. If the animal is
having a hard time finding things to eat, then it's likely to get
hungry more often, and the population won't grow. Additionally,
Pregnancy would require more food, which is a second check -- they
have to survive gestation. The cycle of "going into heat" every year
has probably got some hidden advantages as well.

>> This is where things get complicated fast. I think it's no
>> accident that it's also where they get interesting fast, for
>> rabbit growth or really anything.

> True.  It seems to me that this complexity can be gained without
> an exorbitant amount of computational overhead, but I guess that
> remains to be seen.

  end_of_day() {

  tick() {
    if food < 10 then days_without_hunger = 0;
    if days_without_hunger >= 10 and suitable_mate_visible then breed();

It seems as if this would be fairly inexpensive. How well it would
work is an open question.

-- Acius
Acius at Walraven

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

More information about the MUD-Dev mailing list