Wednesday, March 18, 2009

Artificial Life

My latest iPhone / iPod Touch app - called Artificial Life - is now available for purchase on iTunes. You can buy it here if you are interested. You can read many more details about it at my company web site:

This app has a somewhat long history. It's based on a program I was tinkering with about 7 years ago.

(Actually, there's a blog post about it buried in the archives here and another here back when I was revisiting the project and porting the code from my PC to my Mac.)

When I was first working on this, I had been inspired by the ideas of genetic algorithms. The idea behind genetic algorithms is to apply evolutionary techniques such as inheritance, mutation, and selection to computing problems. I thought, why not go full circle and apply these techniques to a basic biology simulation?

Anyhow, at the time, I had grand ideas for the program. I wanted to write it for the Palm Pilot PDA (remember those?) and thought it would be something neat to play with while killing time, and also, since the Palm has an infrared port (like a TV remote control), I thought it would be really cool to be able to "beam" the critters from the world to a friend nearby who was running the same program on their Palm PDA. As it turned out, my ideas were way too ambitious for the technology at the time - the Palm was just too slow. But now, fast forward 7 years and this is a feasible idea. And now, the screen is in color even!

So, this app represents my first pass at having the simulation on the iPhone. I have lots of ideas for future free enhancements to the app, including the ability to "beam" critters to other people running the app. But now, rather than using line-of-sight with IR, I will be able to send them across the world using the Internet! I haven't yet finished the "world-wide" sharing feature, but it's definitely on the TODO list for upgrades.