This is the kind of shit I really want to do.
Just take a look at the video below. It’s fucking great. What it comes down to, is an evolutionary algorithm. It builds creatures from blocks and joints, and runs a simulation to see how far and/or quickly it can move around of perform a certain task. You obviously start out with random and wonky designs, but as you bundle the features of the most successful ones, and mutate them a little each iteration, you’ll eventually end up with a very efficient mover. Ladies and gentlemen: evolution.
It’s really damn cool, I kind of want to make something like that. There’s tons of projects like it already though. Boxcars2D is a great example. Randomly generated car-like structures, selected on their ability to traverse a track, after a couple of generations you can get a pretty nice car!
Seems kind of complex though, because you may need a better way to figure out a species’ “strength” other than just the distance it travels. I’ll have to look into this further, and probably start by doing it in 2D, because hey, dimensions are hard.
Some just look hella wonky, too, but they work so well.