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 ...]

Zombie snails

Nature never ceases to amaze me.  The sheer volume and diversity of living things is an astounding example of a complex adaptive system in all of its glory:  creatures of all sorts have evolved to fill an ecological niche, often specializing their physiology and behaviors to unbelievable lengths in the process. In the most recent episode of Quirks & Quarks, Dr. Ryan Hechinger discusses a species of trematode flatworms that lead lives that are almost stranger than fiction. A reproductive trematode morph surrounded by soldier morphs The little worms in question start their life cycle by invading the body of [... 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 ...]

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 ...]

Eliminating dependencies and defining interactions

I haven’t posted an update about The Web Critters project lately because every time that I have felt the urge to sit down and work on it I have actually written code instead of typing out a blog post.  While overall forward momentum has been relatively minor, I did spend a good couple of hours reassessing my initial design, and decided that I had to refactor a few key interfaces and classes before I could move forward. Progress has been spread into three main categories:  removing unwanted code dependencies, implementing Tag and Resource parsing, and defining the basics of an [... read the rest ...]

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