USim, a live java application, below, simulates the evolutionary development of two-dimensional artificial lifeforms that move in a liquid environment. At the beginning of the simulation there are randomly generated individuals and a number of food-squares distributed at random. The number of food-squares is determined by the number of existing individuals. This means that the biomass of the whole system is constant. Each individual has a treelike structure defined by a simple genetic code. When an individual encounters a food-square it eats the square, leading to an increase in the indivdual’s life-energy. When an individual reaches a certain age, the statistical probability of reproduction increases along with its life-energy. The asexual reproduction consists of laying eggs, symbolized by yellow squares. Each egg reduces the life-energy of an individual and has to be recharged by consuming additional food-squares. Every new individual inherits the genetic code from its parent, eventually including some minor mutations. An individual dies when it reaches a certain age or when its life-energy has decreased to zero.