We designed and implemented a modular, extensible object-oriented dynamics engine for the greatdane VR system. We used this engine to build and simulate two animats using dynamics primitives such as spherical masses, springs and springy angular joints. The two animats are a "roobot" a monopod that hops on the ground and a jellyfish that swims in a simulated underwater environment. Pure finite state machines control both animats. Notably, we describe an experiment in which we used a genetic algorithm to evolve stable and fast hopping motion for the roobot.
Our models produce physically realistic motion and are sufficiently simple to be simulated and rendered in real- to near real-time on a dual Intel Pentium III 800 MHz PC, making them suitable for use in interactive virtual environments.
From experience of designing and implementing animats using this approach, we conclude that an engineering-style approach is necessary, in that strong dynamics knowledge is critical and care must be taken to create models that are simple enough to control and simulate in real-time.