Biomorphs are virtual entities that were devised by Richard Dawkins in his book The Blind Watchmaker as a way to visualize the power of evolution.

In this implementation there are 9 biomorphs: 1 parent in the center and its 8 children surrounding it. The children's genes are identical to its parent's genes except for a single mutation which changes its appearance slightly. You can select which child you want to become the parent in the next generation by clicking on it. By repeating this process, you can see how the biomorphs evolve over time.

If you'd like to guide your biomorphs towards some goal, pick a simple animal in your head ("I want to evolve a lobster") and keep choosing the child that most closely resembles that objective.

The appearance of each biomorph is determined by 9 genes: 3 that influence its width, 5 that influence its height, and 1 that influences its branching depth. You can directly modify the parent biomorph's genes by clicking on its DNA icon and tinkering with the 9 sliders. These 9 genes can be used to generate more than 118 billion different biomorphs. Humans, for comparison, have about 20,000 to 25,000 protein-coding genes.

The gradual change in the biomorphs' appearance in each generation serves as a simple model of biological evolution. Each biomorph is nearly identical to its parent, but after many generations the appearance of the biomorph can diverge wildly from the original. Biological evolution works in a similar way, though on a much longer time scale. For example, you closely resemble your parents, your parents closely resemble their parents, and so on, but if you go back tens of thousands of generations your distant ancestors would only bear a slight resemblance to you.

Because you select which child you want to survive, biomorphs are an example of artificial selection (similar to how humans have guided dog evolution over the past 15,000 – 30,000 years). In nature, however, evolution is based on natural selection: organisms that are best suited for their environment are the ones most likely to survive and pass on their genes. In future Emergent Mind projects, I plan to work on more projects that demonstrate natural selection (so stay tuned!).

If you come across any interesting biomorphs while playing around with this project, take a screenshot of its genes and send it to matthew.h.mazur@gmail.com and I'll add it to the examples.

For other JavaScript-based biomorph implementations, check out:

As always, if you'd like to chat more about this project or any others, please don't hesitate to reach out.