My friend and I one night spent about 2 hours in front of my laptop live-commentating the BreveCreatures screensaver, in which procedurally generated polygonal creatures attempt to walk, and pass on patterns and configurations to the next generation.
"Looks like we've got another flopper here. That might have flown a couple generations ago but you know, we've been seeing some really effective writhing lately."
"I totally agree. The bipedal taildraggers were a force to be reckoned with in season 56, but — oh my god! Look at that one go!"
"Almost got as far as that three-legged galloper we saw just a few minutes back. This is a heck of a race, my friend!"
For hours. We were drunk.
I bring this up because these things are really entertaining, and with a bit of witty commentary and nice graphics, I would probably end up spending hours watching these. Like all stories, you have to have an 'arc', themes, etc, but these come later.
In college, I must have spent thousands of hours watching let's play for SimCity and Minecraft. My friends were always amused how I enjoyed watching the gameplays more than actually playing those games.
On the other hand, you don't need me at all.
Edited for clarity.
Are you sure you were not also stoned
Bunching and spreading out are two different behaviors which both have their pros and cons. I wonder if the neural net is complex enough to enable them to switch between these behaviors depending on the age and ability to reproduce.
1. The kinds that clump and are subject to rare mass extinctions, but get along well enough otherwise.
2. The kinds that are really good at avoiding converging obstacles by avoiding clumps.
Edit: I just realized that the clumps are kind of a communication network and eventually you might be able to get a kind of clump that either is able to quickly evade converging obstacles or be self-sacrificing to save a part of the whole.
I had to balance between having it run well in js and the computation complexity of each creature.
Have you ever looked at https://github.com/karpathy/reinforcejs ? Karpathy already has demos similar to yours which you could build on. The trained agents might be better.
Although for a simple task like this demo, I stand by simple conventional neuroevolution as they would work best and are easy to train as the nets are quite small.
They may be easy to train but I'm not sure about 'work best'. Watching your final trained agents, I see a lot of dumb obvious mistakes where the agent runs right into a line; and I see little higher-level strategic planning like trying to maximize free space around one or run away from a incoming line.
And this is with Firefox, which usually renders fonts a bit fatter than competing browsers.
Can you let me know the resolution of your device? I'm trying to play around with the CSS for blog.otoro.net, and trying to find a good balance for different resolutions.