The theme for this yearís competition was Emergent Behavior. Emergent behavior is behavior that looks complex and/or purposeful to the observer but is actually derived spontaneously from fairly simple rules. You can more information and the competition rules here.
Three competitors managed to find the time to program an entry for this competition. I think all three of them deserve a pat on the back as the theme was not an easy one.
The results, are as follows:
Winner: Armand Virgila's C-Balls (55 points)
(Note: Users of Win98 and 2000 may have to download the MS NET framework to view this demo. You can grab it here: http://msdn.microsoft.com/library/default.asp?url=/downloads/list/netdevframework.asp)
The winning entry was inspired by Stephen Wolfram's book "A New Kind of Science". Here's a description in Armand's own words (tidied up a little ;o) ):
"I took a cue from him and played around with the next generation being determined by the present state of an object and its 2 neighbors. The objects were points with a mass of 1, and the simple rules determined the points new position by assigning the attraction / repulsion via the laws of gravity between objects.
When I originally used Newton's law, I remembered it incorrectly as mass1*mass2/( distance ). The correct version is over distance squared, but I left it as is cause of interesting effects it produces. I also didn't use wrap around when calculating each point's next position again for the effect.
The unexpected result is that I got it all. A phase transition that occurs when the number of points is about 16. Below that number, and the points seem to be swarming around some unseen point very much like agitated bees. Populations above that number show a gathering that settles to a structure that looks somewhat like the letter C. (I'm not making this up) and even more surprising when a large number of points are used, is that the points seem to untangle themselves from any mess they display at the beginning to that 'C'. The best description is that of placing a tangled string on the ground, and watch in slowly untangle itself into the aforementioned C. The untangling itself is the sight to behold."
I concur with the judges that this should be the winner. The program is original, simple and fascinating. Armand will receive a hot of the press copy of AI Game Programming Wisdom 2 (out mid Dec) for his efforts.
Second Place: David Lotts' Stem Scaffolding (49 points)
"Architects say a major challenge with the next generation of massive buildings is creating the machines that can do the job. These structures are too large to be constructed by a traditional crew with hand tools. They need the construction equivalent of a sewing machine, something that can stay on the leading edge of the structure, and then push itself on top of its last stage, to start the next stage. Thatís what I had in mind for this project. I wanted to create a set of simple agents that would interact to create building-like structures. But instead of the building machines following a rigid plan, I imagine machines that obey simple predetermined rules for behavior, that interact as they build, creating an architecture that could not be predicted by understanding the machines themselves."
Third Place: Adrian Boeing's Fishy Behavior (44 points)
"This is a small program demonstrating fish flocking behavior. The flocking implementation is fairly similar to (and was based on) Craig W. Reynolds original "boids" model. However, the flocking model has been modified to include predator avoidance, and seeking food. This simulation differs from most flocking systems in that the behaviors of the fish are evolved via a genetic algorithm."