Wow, thanks for all the replies!
Quote: "Did you implement you own regdoll system?"
Yes, its my own ragdoll system written specifically for this. Its also got angular restrictions on the joints, but they're left out at the moment as they can't turn around the y axis in 2D so would get stuck moving backwards. The ragdoll system is specifically designed for this. I had a look at Newton but wanted to retain full control over the ragdolls, so I wrote my own from scratch.
Quote: "250fps"
Think the sync rate was locked to about that point. Didn't realise it would actually get into the 200s. It was reaching about 130 on mine so it wasn't too fast with about 10 creatures.
Quote: "What are the bubbles for?"
They are just randomly moving targets which the creatures try to hit with their heads. I did have them all chasing the mouse but it meant all the creatures went towards the same target, which looked a bit less interesting.
Quote: "Although it adds loads of bodies at once when you press space - perhaps limiting you to only adding a body every 250ms would solve it?"
I'll put a restriction on how quickly it spawns bodies in the next version. At the moment it was left to show the speed of the engine, I'll put a lower sync rate (about 50) in the next version and put a delay on spawning bodies.
Quote: "Good work, my mind boggles as to how you did this"
The actual code is reasonably simple and efficient. The complicated part was actually designing the way it can work out how to walk.
Quote: "they remind me of Daddy Long Legs"
I noticed that as well. It can, however, generate ANY anatomy. It isn't based on a conventional limb system and the creature's joints and limbs are all seperate entities. This means I can have any creature, with limbs joining round in a circle. I can also add and remove limbs/joints on the fly and it won't get confused. They look like daddy long legs at the moment mainly because of that the joints have no angular restrictions turned on, even though I could if I wanted, since they can't turn round in the y_axis so would end up walking backwards for most of it.
Quote: "Can't wait to see the 3D version."
Most of the code will not have to be changed much to work in 3D and was written as 3D and then trimmed to 2D. The only difficulty with 3D is getting the zyx angles between 2 points (already knowing the y angle). I should be able to sort this out with simultaneous equations of some sort. The actual AI logic will work as it is already, just with an extra dimension added to it.
Thanks for the replies!
Simple... yet fun!