I started dabbling with my Web Critters project again yesterday, and had some fun analyzing early “meat eater” strategies.  It looks like successful early-run omnivores and carnivores are cannibalistic, whereas those that evolve later in a simulation tend to specialize in predating species other than themselves.  This makes a lot of sense.  It’s easy to eat your own kind, however you run the risk of eating yourself to extinction, whereas it’s tougher to find a stable second species to chew on, but once you do you can expand without worrying about your own population quite as much. It’s little insights [... read the rest ...]


Web Critters Comments Off
Feb 172011

I haven’t posted an update on the Web Critters project since October 16th last year, in large part because I have done precious little development on the code base since then.  My last commit was January 25th, and the previous one was all the way back on November 2nd.  There are two main factors that combined to grind work to a halt:  Christmas season, and an office shuffle at work.  The holidays need no explanation, however the office move is a little more interesting.  Up until late last year I had a single office, and so felt comfortable dabbling with [... read the rest ...]

Oct 162010
Grisly advantage

I only had time for a small amount of work on the Web Critters project last week, however the change that I implemented had dramatic and unexpected ramifications for the state of the simulation. On Monday and Tuesday I implemented the notion of a corpse into the simulation logic.  Instead of simply disappearing when they run out of resources, agents now leave behind a corpse object containing resources equal to the genetic material that was locked away in their tags.  (At present, offence, defence, and exchange.)  Once fully consumed, corpses are removed from the environment, just like any other resource [... read the rest ...]

Building the perfect killer

The last couple of weeks of Web Critters development have been among the most fascinating and intellectually challenging to date.  After nailing down the implementation of a level one ECHO simulation and observing the agents in my little complex adaptive system in action I set about trying to understand exactly what they were and how they acted. The first step in that process was to model the concept of a “Species” that could stand apart from the actual agents.  My first implementation of species, while technically correct, absolutely annihilated the performance of the simulation and leaked memory like a sieve.  [... read the rest ...]


Web Critters Comments Off
Sep 232010

Development on the Web Critters project has been rolling along briskly these past few weeks, with the brunt of the work having shifted from perfecting the abstractions to ironing out kinks in the algorithms and observing how the system behaves in very early trials. The results have been fascinating and have proved that even a level two ECHO simulation (attack + defense) can exhibit a startling amount of intelligence. As I’ve run different interactions of the Web Critters code, I have turned to observing the behaviors of the agents that evolve to point towards weaknesses in my simulation.  The process [... read the rest ...]

Sep 182010

I have added the source code for my Web Critters project to github.  Anyone interested in keeping up with my progress at a lower level than what I write on my blog can feel free to explore the source code at their leisure.  If you choose to follow the project on github, I believe that you can choose to receive emails whenever I push new code up to the repository, and even dive in to see exactly what was changed. Also, feel free to download the full source tree and build the application on your own.  Be warned:  you’ll need [... read the rest ...]

On the cusp of life

This week I have been spending most of the time that I usually set aside for blogging to bolt together a basic interface for my Web Critters test implementation.  Since I am not a GUI guy, the end product took far longer than expected and is rather utilitarian.  One of these days I will have to cook something up that allows for easy visualization, but for now I have lists and text boxes. Click to enlarge From left to right the GUI contains: controls to customize a new simulation, a list of the locations within the environment (currently a grid), [... read the rest ...]

Aug 102010
The agent conundrum

Have you ever experienced one of those moments of clarity when you realize that one of the fundamental assumptions that you had been making is false, and that if you’re going to have to do a lot of work to make up for your mistake?  If so then you can relate to what has been going on with the Web Critters project over the past few weeks. When I last wrote an update I was on a roll, pushing through the final stages of a level two complex adaptive system (or so I thought) with my generic CAS engine.  I [... read the rest ...]

Reproduction, and other exchanges

I have made significant process on the Web Critters project over the past couple of weeks and am rapidly approaching a state in which I will be able to test my generic complex adaptive system (CAS) engine within the context of a flat grid.  All of John Holland’s level two ECHO interactions are in place and tested, however the main generation logic remains to be completed.  I also need to craft some sort of GUI to visualize the simulation, as well as inject some code to track the types of interactions that take place between the agents and environment for [... read the rest ...]

Sample cells and interactions

I have written up some fairly wordy posts about the Web Critters project recently, describing topics like cell structure and interactions.  It strikes me that the gigantic wall of text format, while thorough, may not be ideal for promoting understanding of the project.  To try to rectify that shortcoming, here are a series of rough sketches that depict agents within a level one ECHO system, and the basic calculations that go into an attack interaction. Click to enlarge Figure 1.  Here are three basic cells (agents) with the level one tags: offense and defense.  Each tag is a series of [... read the rest ...]

© 2004-2010 - Systemic Babble is created and maintained by Andrew Anderson. Suffusion theme by Sayontan Sinha