When I was in my first or second year of high school I read about Craig Reynolds' "boids" software which simulated the flocking behavior of birds through, effectively, cellular automata. Every once in a while I would take a stab and doing an implementation but never got all that far (easy enough to get distracted).

Anyhow, I have been working on a little ant simulation (another of those "emergent" systems) and also reading Richard Dawkins' "The Selfish Gene" which had a little bit about group behavior that emerges. That re-sparked my interest and so I did some modifications to my ant engine and finally got a "working" Boid system up and running.

I knew the general rules, but ended up looking at the pseudocode at this site about boids. My wife doesn't see the point, but I think it's sort of cool. I've added some obstacles as well.

After a while you are better off just closing the tab, as it will start slowing down (I need to look into that) and I don't have any buttons to restart it.

Your browser is completely ignoring the <APPLET> tag!