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), details of the selected location, and details of the selected agent in the location.

The exercise of crafting a basic visualization teased out some more flaws in the system that had not been caught by unit tests, so this wasn’t just wasted work on window dressing.  The ‘Run Generation’ code is all written and ready to go, however before I actually try it out I have two other bits and pieces that I want to implement:

  1. History tokens.  I want to be able to attach a series of events to agents that will chronicle its activities within the simulation over time.  This will help for analysis of the overall system behavior.
  2. Serialization.  I would like to be able to save and load the an entire simulation so that I don’t need to keep the interface running 24-7.  The easiest thing to do is probably to dump the state of the simulation at the end of each generation.  I’ll use basic .NET serialization for this at first, but may need to be a little fancier down the road.

Things are getting close!  Once I can run for a prolonged period of time using my test implementation I will be ready to start creating the Twitter-specific Web Critters classes.

2 Responses to “On the cusp of life”

  1. Void says:

    It’s really interesting reading your posts about Web Critters, I’m excited to see the end product.

    • Andrew says:

      Thanks! I’m always wondering who, if anyone, is reading these posts and what they think about it all.

      Truth be told, I’m a bit nervous about flicking the switch, so to speak. I’ve seen one working CAS simulation before, and it was no where near as complex as what I’m aiming at in the end.

      I’m also trying my damnest to no codify functionality into the system, and let everything be emergent but it’s tough to do, and I have to constantly inspect everything I write to make sure that it does not dictate behavior.

Leave a Reply



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