Ayer encontré una pequeña joya buscando entre los arcones del software libre y/o abandonado. Se llama DarwinBots y es una aplicación que simula vida artificial.
Hace un porrón de años, cuando estaba enganchado a la informática (y al juego matemático “Vida”), me entretuve en programar en QBasic un cultivo de bacterias con una mecánica parecida (aunque mucho menos compleja) a la de DarwinBots. Cada bacteria tenía sus propios atributos (velocidad, fuerza, etc.) y se movía por la cuadrícula cazando, multiplicándose y mutando. Hice también una versión en la que cada bacteria se enfrentaba a sus rivales en diez rondas del “dilema del prisionero”. Pasé horas enganchado a ese programita que, por desgracia, creo que se ha perdido en el limbo.
Lo que resulta más interesante de DarwinBots es que cada bacteria utiliza un lenguaje de programación muy sencillo (aunque algo obscuro al principio) remedando los genes de una cadena de ADN. Las mutaciones aquí son cambios en los valores e instrucciones de cada gen, la mayor parte de las veces sólo para convertirlos en basura genética. De tanto en tanto, sin embargo, encuentras algo divertido, como un bicho que navega buscando algas u otras bacterias que digerir y, cuando llega a ellas, adopta la estrategia de: “da muchas vueltas y trata de digerir todo lo que haya alrededor”.
Después de aprender la mecánica estoy construyendo mi propia super-bacteria, con redundancia incorporada, pero de momento no termina de pillar el concepto de “reproducción sexual”. Eso sí, zampa algas que es una maravilla.