Author’s Note: Since publication, the Stellar Alchemy website has closed, and the program 3DVCE is no longer (apparently) under development. I’ve posted a copy of the latest version (AFAIK) as a zip file you can download from here. Log in with the username guest@lettersquash and the password lettersquash, click on “Program Share”, then “3DVCE Files”.
The zip file latest3Devolution can be downloaded (just click on it and save it to your system) and extracted to any convenient directory on your computer. Then navigate to the subdirectory …/bin/ and run the file creatures.exe. (I haven’t been able to find the User Agreement, but I believe it’s open source – please let me know if you know different.)
3-Dimensional Virtual Creature Evolution
There’s an alien in my PC. In fact there’s a whole race of them in there…and what’s more, they’re evolving. There’s no need for alarm, though, they’re just virtual creatures. I’m running a neat little stand-alone program called 3DVCE (3-Dimensional Virtual Creature Evolution) from Lee Graham at Stellar Alchemy. I was looking for some new games to download for the duller moments over Christmas and meandered into the strange and beautiful world of virtual evolution. It’s a world that is itself growing and evolving fast – there’s a lot more available now than the last time I looked a few years ago. There are many different ways of approaching the subject. 3DVCE shows a virtual world, some land underneath a day or night sky, on which a strange “creature” is moving. The creature is made up of jointed pieces, each a rectangular block that can move in relation to its neighbours. At first, the shape and movement appear quite random, and within certain limits they are, but in time, without any intervention from an intelligent user, just by following elementary rules, this will evolve into something that looks much more lifelike in both appearance and, most startling of all, behaviour. There’s a whole Zoo of these critters being collected from enthusiasts, like this one:
I often wonder what more the scientific world can do to educate people about evolution, and I’m often saddened by the number of people out there who either disbelieve evolutionary theory altogether or underestimate its wider significance. As this programming phenomenon blossoms and processing power increases on tablets and phones, this might be a big help, teaching people the fundamentals of evolution by letting them play around with it themselves, like gods. It might improve people’s understanding of biology, or they might get an even deeper insight into one of the most awesome features of physical reality itself, emergent behaviour (the spontaneous development of complex behaviour out of the application of simple rules).
Programs like this “model” evolution or some aspect of it. Some have a community of creatures running about on a 2D surface interacting with each other, some involve molecules, others have various graphic line drawings or branching shapes, and some model bacteria. There’s also a wide range of user-friendliness, graphical interest, beauty, speed, etc., suiting different functions. The most popular ones tend to be the richest in graphical detail and fun, ones that look like actual living organisms or systems, but there are no doubt a lot of boffins out there doing the most advanced investigations into evolutionary theory whose programs spit out only numbers and graphs. A balance has to be struck in designing these programs between entertainment and education.
Games of Life
This area of programming was largely spawned by Conway’s Game of Life, which has an interesting wikipedia page, or if you prefer just the low-down, I’ll explain it. Imagine a two-dimensional grid, like squared paper, in which each square can be either “on” or “off” (coloured in or left blank, “alive” or “dead”). We begin with some random live and dead squares, then repeat the following rules at each turn to each square, based on the 8 squares surrounding it (I’m going to simplify the description of the usual 4 rules, but all I’m doing is combining them logically – I’m not changing anything):
1. For any square that’s alive:
(a) if it has exactly 2 or 3 live squares adjacent, it continues to live to the next round (as though the population density is just right),
(which means it has exactly 2 or 3 dead squares next to it) – whoops, my bad 😦 – it dies (as if from over- or under-population).
2. Any dead square with exactly 3 live squares next to it comes alive (ok, that’s a little odd, but we can think of it as “reproduction”, the birth of a new organism in a vacant space).
Other mathematical rules have been devised, with different consequences, but Conway’s was one of the first to be investigated on early computers. What happens is that all manner of unexpected shapes are generated, which move about on the grid, combine and split, reorganise themselves and produce offshoots with recognisable shapes. Sometimes very compex systems develop, involving “guns” firing pulses of objects like “gliders”. Systems stabilise, or collapse and disappear. The point is they appear to evolve, albeit in a theoretically predictable way, and they look for all the world like something living, as much as black and white squares on a grid can. This was quite a shocking discovery at the time, and even now, I imagine, not many people know about it or understand the significance. It’s rather close to the simple and mathematical end of the spectrum compared to what’s available after 33 years, but if you want to play about with it, the easiest way might be to go to here, click the button that says “Enjoy Life” (always good advice), draw some random (or non-random) stuff by clicking (and dragging to make lots of “live” squares), and click Go. You can also mess with the various parameters and see what happens. It runs as a Java applet, and most people have Java installed, so it saves you bothering to download and install a program.
Of course, these hardly model life, or evolution through natural (or artificial) selection. But the more sophisticated ones do. All they have is some simple rules of behaviour (feeding, using energy, reproducing, dying), perhaps some environmental physics, and the rest is down to the twin pillars of evolution: mutation (copying with “errors”) and selection (fitness for some task or quality).
If you’re more into actual Earth biology, there are a few to choose from, and no doubt a lot more in the pipeline. Follow the links from the wikipedia page above to find out more, do an online search or browse the youtube videos. Useful search terms are some combination of “virtual evolution life simulation biological genetic algorithm”, and I’ve just noticed the word “biot” used, but not searched on yet. I’m new to the lingo, although I wrote something like this myself called “Colony” about 25 years ago on my Acorn Electron. Nothing evolved in that, but it allowed me to explore issues of population dynamics (demographics). Those are other terms you could search for.
There’s something called Evoversum available from sourceforge, which means it’s open source and free. It looks a bit early in its development, but interesting to see how tweaking parameters affects the little creatures moving about on the screen (there’s a video link from that page if you want to get an idea).
There’s a free demo and a full version (for the extortionate price of 99 cents!) of Bacterium, which is a strategy game combined with (approximate) principles of bacterial behaviour and evolution.
Hey, I’m not going to go out there hunting and gathering for you! But I might have a play with some others and I’ll report how I get on. My critters have been trying to walk for most of the day now, and aren’t much better at it. This 3DVCE isn’t going to be quick – be warned – you need to let it run for hours or days or maybe even weeks to get good results. Lee’s other projects at Stellar Alchemy look interesting too, and he has lots of skeptical offerings and educational materials.