Yea, Terrarium provides an environment for people to incorporate mutation into their organisms - to pass to descendents mutated vaules that can be used to create *behavioural* diversity in descendents - and then allow for compition for limited resoruces between organisms with these different behaviours to select for the most fit, but what's in the genome, the mutation of the genome and the wiring of the genome to the behaviours must be completely written by the organism author. Terrarium provides no built in evolutionary mechanims other than the environment itself and organims basics such as a notion of species and the ability for parents to pass on data to their offspring. What is in that data and how it is used is completely organism specific. In effect, the concept of inheritable genes, mutation of those genes and the effect of those genes on behaviour must be wired in by the author.
Most people who write a Terrarium creature never mutate it. They just code for the behaviour they want. Each organimsm generation is generally identical to the last for most creatures. Again, it's not really ALife focused but rather focused on learning C#. You can use use it for ALife experiments - I have - and the guy who wrote most of the code (MitchW at Microsoft) has a soft spot for ALife, but its not really the focus.
One of my biggest complaints about Terrarium from an ALife perspective is that many of the fundemental organism traits are immutable compile time constants that cannot be changed from within the creature code. Attributes such as eyesight radius, energy, size, eating speed, attack points and defense points are compile time only (authors allocate 100 points between these attributes and once they do so, there is no way to change them in the code). This limits what is within evolution's ability to effect I.e. once a big carnivore that moves slow and can't see well, always a big carnivore that moves slow and can't see well...
One thing I like about Terrarium is the peer-peer environment. It's easy to see how many other user machines are conencted to the same Terrarium server, how many total organims there are in the distributed environment, of which species, which creatures are doing the best from a population and number of generations perspectives and so on. Microsoft used to run contests and give away Xboxes for acheiving certain population numbers. It's also great fun to watch as new creatues get teleported into your Terrarium, which can often act as a local ecosystem. A cool thing I've seen when there are sophisticated organims that cooperate with others of the same species (to gang up on preditors for example) is that different Terrarium clients connected to the same server can become local ecosystems (because the teleporter is hidden, it is quite difficult for organimsms to migrate to other terrariums in mass, thus they are often outnumbered when enterring a new Terrarium - the local residents can gang up on what might otherwise be a more successful organism, allowing weaker (but still pretty smart) species to preserve their turf) with different species mixes and different dominant species in each. You can actually watch your organims cooperate to defend their home against randomly teleported intruders...
I have had fun passing on genes that can impact behavoir within the constraints of the system e.g. when do I run from carnivores - at what distance, when they have what energy level, what about when I see more ethan one, etc. You can successfully use mutation and selection to add flexability to an explicitly written organism, changing some behaviours as new organisms are authored and introduced for example, but only a limited distance in the organism space from the base phenotype. It's great fun for coders to compete and has a nice UI and distributed architecture, but its not as flexable or as ALife focused as DB when it comes to evolving.
-E