[MUD-Dev] People were talking about resets..
David B. Held
dheld at codelogicconsulting.com
Tue May 21 10:56:40 New Zealand Standard Time 2002
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
> Yes. If you have exponential growth of rabbits, and want to
> control the rabbit population, and you try to do it by subtracting
> constant amounts rather than exponents, then you* will waste a lot
> of time trying to approximate exponents with rapidly adjusted
> subtracted amounts.
> On the other hand, perfect control provides nothing more
> interesting than simulating the rabbit growth linearly gives to
> begin with. So you do something simple - like adding in a time lag
> before control kicks in, distorting it, etc.
Well, I don't necessarily think you should have to control the
population explicitly. I think if you limit the food available, and
make sure there are some predators (like wolves, etc.), the
population should take care of itself. However, it might be more
complicated than just that. In particular, I'm thinking that real
organisms have various triggers that affect reproduction, and
sometimes scarcity or other environmental states causes them not to
reproduce or to eat their young. So you could have a
self-regulating exponential growth that automagically throttles
itself at some point.
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
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
> 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.
MUD-Dev mailing list
MUD-Dev at kanga.nu
More information about the MUD-Dev