[ODE] OT: virtual creatures in games

david@csworkbench.com david at csworkbench.com
Wed Mar 26 20:24:02 2003


>
>> You might even
>> consider making the amount of time it takes to "step" the creature a
>> factor in it's fitness function, so creatures that evaluate faster are
>> more likely to evolve. But this might have the undesired effect of
>> limiting possible intelligence.
>
> Or making creatures use more and more CPU time : ).  But limiting them
> for 'dumbness' or fatigue is a good idea.
>
> --
> gl


I meant creatures that take less CPU time would have higher fitness values
than those that take more time to evaluate each step.... Of course this
would be one of many factors in the fitness function (longevity, energy
consumed/used, as well as points for interacting with humans if you want
to encourage it would all be factored in).  Hopefully this would evolve
creatures that were both smart and efficient (i.e. fast).

As far as your server argument goes, it is a good point.  You probably
don't want players able to hack the network protocal and create rogue
"super-pets" to go around with them and protect them or wreak havok on
other people they don't like.... but with the non-deterministic nature of
the creatures, it might almost possible that over several generations, you
could almost train creatures to become defensive of you.... Hmmmm, I guess
that would be "legal" though, and quite intriguing if it actually worked. 
Of course, if people started training creatures to vandalize other people,
it could work both ways....  But, if you used the "creature food is people
currency" methodology, training creatures would be an expensive endeavor.

I'm not sure what the budget for this game is, but MMOG's are inherently
expensive to run, so I'm assuming you'll be running this on multiple
processors or multiple computers.  Since your plan is to keep everything
on the server, then let me mention that the iterative algorithm is
massively parallelizable (is that a word?).  For that matter, the old
algorithm can run each island on a separate processor, with a little
hacking needed for either algorithm.  Of course, you could just limit the
number of zones per computer and get the same effect.  (Assuming you
actually plan to use zones, and aren't trying for some massive one-world
effect).

I think a major difficulty is going to be coming up with a method of
representing the creature that is both easily evolved and looks good.  The
best looking evolved creatures I've seen to date are Framsticks (see
google), and even they are just colorful stick figures.  Evolved creatures
are neccessarily made up of simple building blocks, but simple building
blocks generally don't make professional looking creatures.  Good luck on
that one.

David