Skip to main content

Artificial Life: The Island of Bacteria


This page is for other projects that may be interested to many people. The first project I put here is about Artificial Life, one of most intriguing branches of Artificial Intelligence. Cyborgs and humanoids are not so far future, i believe. How to create a digital brain? I've got one solution. The idea was to find the way of creating a simplest possible form of a virtual digital brain acting somewhat like a natural brain. The brain must have neurons connected in a network which processes input and generates output data which control a behaviour of the organism. If a life itself was first created just by chance, a structure of that very first organism could not be complex.

First version of the program was created in 2003. There is an article about it that I have published on an international conference, organized by IEEE. "Visual Data Processing and Action Control Using Binary Neural Network", WIAMIS 2007. In the article there is a description of inner structure and functions of virtual neurons and a brain. See description of the program below. Play with it, experiment with a virtual life. How is that related to WinProgressX? Initially I used a Delphi version of the WinProgressX in that program too :)

Gameplay

The Island is a rectangle on a screen of some size set by user. Inhabitants of the Island are grass and bacteia. Grass grows automatically with some rate of growing by gemmation. Bacteria eat grass to live and give birth to children. Each bacteria has an eye, a square region around its point location. A bacteria "sees" the grass, a border of the Island an other bacteria too. If it knows how to find a food well - it will survive, because every move takes some energy. And when the amout of energy is 0 bacteria dies. When some beast gets enough food, it produces a copy of itself. But owing to the "natural" conditions, the child organism mutates, slightly changing its brain and a size of its vision. As time passes on, the most successful ones stay alive producing more and more sophisticated brain owners.

Interface


UI element Description
Button "Initialize..."  
Shows up a window with initial settings of the Island such as field size, initial grass amount. 
Initialization must be performed before pressing the "Start" button.
Mutation Intensity
A probability of new mutations on newly born bacteria brains. 
1000=100% probability.
Grass growth rate An informal rate of grass growing. Higher value means faster.
Leaders Shows current bacteria population statistics. Individual leader bacteria is assigned its color. The number value describes the particular leader's parameter. For example, on the screen shot, a green color is assigned to sbacterium which has produced 158 mutations.
Bacteria total A total amount of bacteria in the Island.
Show field of view Shows gray square vision area around every bacteria. Mutations may increase the eye size of bacteria (in pixels). Always odd number (1, 3, 5, 7, ...) 
Beasts max limit The limit of population.
Reset level Amount of population after the "Beast max limit" was reached.
Initial eye size Square size of the vision area. Must be odd.
Frame delay, ms The minimum delay value between each frame of animation. Lower value gives more natural animation. Higher value increases computation speed.
Auto growth % Sets the limit of grass growth in % of the Island square size.
Simple view Shows simplified view of bacteria as color points. Increases computations per second (CPS) rate.
Vis Off Turns off visualization. Increases computations per second (CPS) rate.
Grass value Energy equivalent of each grass point. When a bacteria steps on a grass point, the grass is eaten. The bacteria increases its energy by that value.
Birth threshold The maximum value of the inner energy of an individual bacteria when it gives birth to a child (copies itself) with some brain and/or eye mutations.

By default, an ordinary bacteria color is red. Click the white rectangle on the right of the "Bacteria total" value to change the bacteria color on the map. Press Stop button before exiting the program. The green cirle over the Exit button means calculations are being performed, the red circle means calculations are stopped.
Sometimes a new population of bacteria quickly dies. It's because their initial mutations were not successful. Well, in a probabilistic world it happens. Just check settings, reinitialize and try more. Bacteria with successful brains will start a brand new generation of virtual lives.

Download the Island of Bacteria (347Kb). Total downloads: 24