Category: Bioinformatics  ·  Originally posted December 22, 2009  ·  Last updated February 1, 2011

Artificial Life Simulator (in VB6)

This is what the Artificial Life Simulator looks like in action

The Short Description:

Here you have it: the largest, most complex programming project now available on tannerhelland.com. Originally a final project for a university bioinformatics course, my artificial life simulator has now been completely retooled as a full-blown lesson in evolution and population genetics.

As with most artificial life simulators, a set of simple artificial creatures compete for limited resources.  Each creature has a strand of pseudo-DNA that determines three basic attributes: size, speed, and range (how far it can see).  When the little critters reproduce (asexually… unfortunately), mutations may occur.  Over time, this can lead to remarkable changes in gene frequency throughout the population.  Typically the creatures with a balance of speed and range tend to win out over bigger, slower creatures and smaller, faster ones.

The code is well-optimized, so it should run decently on any hardware.   As a bonus, the simulator can be surprisingly addicting – my longest simulation to date ran for over 500,000 cycles before all the creatures died.  For further analysis of a particular simulation run, all data can be saved to a tab-delimited text file compatible with any major spreadsheet software.

The Long Description:

As you can imagine, a project of this magnitude warrants a fair amount of documentation.  I am currently working on a “how to use this software to teach evolution and population genetics” tutorial that educators – or anyone interested in biology – can read to see how things like genetic drift, population equilibrium, the “bottleneck” effect, and other aspects of a small, closed population work.

Unfortunately, a document like that takes some time to create… so rather than holding off until I’ve finished it, I’ve decided to upload the project for people to start playing with.  If you have any comments or questions, let me know and I’ll see if I can’t work answers into the final version of the tutorial.

(If you’d like to be notified when the documentation is finished, please let me know via the contact form.  I plan on sending out an email once all updates have been posted.)

This site - and its many free downloads - are funded by donations from visitors like you.
Please consider a small donation to fund server costs and to help me support my family.
Even $1.00 helps. Thank you!

 

bookmark and share this article

Email this article to a friend Print a copy of this article Subscribe to article comments Bookmark this article on Delicious Submit this article to reddit Submit this article to Digg Submit this article to StumbleUpon Share this article on Facebook Tweet this article

related articles

Discussion (Only one comment so far)

Public comments are closed for this article. Private comments may be submitted using this link.
  1. Look at http://www.darwinbots.com this is what you’re creating.

    By Somebody | April 9, 2010, 8:14 am |