Artificial Life

by Mooncoder


Education

free



This app lets you play with simple simulated creatures and their evolution. It features a few genetic representations ("languages"), where each symbol in a genotype defines some characteristic of a creature (a "phenotype"). Each genetic representation has its own methods of mutation (modifying small parts of a genotype) and crossover (exchanging genes of two parents to produce an offspring).The performance of each creature is evaluated in terms of speed on land, speed in water, and height of its center of mass. These criteria can be set as fitness. Since you have mutation and crossover available to change genotypes randomly, you can run an evolutionary process and see how fitness in the population increases.You can also guide evolution according to your preferences by making creatures you like reproduce and generate their random variations.If you understand a genetic language, you can even edit genes manually by deleting and adding genetic symbols, and this way build a creature you want or improve an existing one.The app features some quests to help you familiarize with genetic languages and the properties of evolution such as convergence, diversity, selection pressure, the influence of mutation rate, or the population size. Advanced users can even try their own formulas for fitness, for example to maximize both height and speed simultaneously, or to add even more criteria.Some demonstrations are included as well that show the concepts of directed (external fitness) and undirected (internal fitness) evolution, mutation, swarming, and communication.This app is based on the Framsticks simulator. You can learn more at http://www.framsticks.com/