biogenesis − Biogenesis, an artificial life program focused
on evolution


This program imitates the evolutionary processes that
happens on unicellular organism populations in nature. It
has been tried to create an example of the elemental
bacterial processes, simplifying them a lot and presenting
them in a visual and comprehensible manner. Although it is
not scientifically exact, regular mechanisms on bacterial
evolution and life can be observed and it can be interesting
as a didactic approximation to concepts like mutation,
evolution or photosynthesis. It is also a good

The organisms that will populate this world are not
representations of natural unicellular organisms, but an
abstraction has been used to be able to look more clearly at
their virtual life. These organisms are formed by segments
of different colors and lengths. The organism’s segments
color and length establish its properties, so that we can
know what can an organism do only by looking at it on the
screen. Moreover, these segments’ configuration is a
representation in the world of its genetic code, which its
descendants will inherit in an identical form, with the
exception of random mutations that can happen in each

Organisms that obtain beneficial mutations will be the most
successful ones, on the reproductive point of view, and will
create a large number of descendants that will propagate its
genes and its mutation in the future. However, those that
suffer from a less appropriate mutation will not take a long
time to die without being able to extend their species’
lives longer than their own lives.

     This number determines the sequence of the random
     numbers that will be generated. This way it is possible
     to recreate several times the same scenario if the same
     number is introduced.

This program has a high CPU consumption. You need to set a
few parameters in order to adapt it to your hardware.

These are the parameters that you should configure. Remember
that you can do this by selecting the Parameters option


under the World menu.

 * OpenGL: The use of the OpenGL libraries greatly increases
program’s speed. This option is deselected by default
because it doesn’t work on all hardware and drivers
combinations. You should try to enable it and restart the
program. If it crashes or doesn’t work, OpenGL will be
disabled next time you run it.

 * Disable fbobject: Due to a bug in some graphic drivers,
it may be necessary to activate this option for the OpenGL
to work. If the first time that you try to activate them
they don’t work, try to activate them with this option.

 * Time per frame: This parameter controls the speed that
the program will try to reach. If it is consuming a lot of
CPU you should raise it, and if it is not and you want the
process to execute faster, you should lower it.

 * Initial carbon dioxide: The CO2 is the limiting factor to
life expansion. More CO2 means more organisms will populate
the world, and more CPU needed to calculate their moves and
draw them. If you change this parameter, it may be a good
idea to change the world size accordingly to keep the same
CO2 concentration.

Written by Joan Queralt Molina <>.
This manual page was originally written by Miriam Ruiz
<> and Joan Queralt.

Copyright © 2006−2011 Joan Queralt Molina
This is Free Software; this software is licensed under the
GPL version 2, as published by the Free Software Foundation.
There is NO warranty; not even for MERCHANTABILITY or

You can find more information about Biogenesis and a full
user manual on its homepage: