I spent this weekend putting together a rough draft of the creature editor. Inspired by the drag-and-drop editors of Spore and Kerbal Space Program, I made a simple interface where pieces automatically snap onto the edges of others. Besides primitive shapes, I’m going to eventually add a number of pre-built “limbs” consisting of multiple shapes and muscles (and allow players to save their own). I also want to add an option for automatically mirroring your placements.
There are a number of different joint types that can be used to attach shapes. Weld joints hold things in place (but not with absolute stiffness, I’ve learned — I may need to experiment with adding them just all be in the same body as different fixtures). Hinge joints keep the two shapes attached at a single point, but allow them to bend some amount (right now they flop about freely, but I might try to make a springy version). Revolve joints will keep them touching, but freely orbit one another.
Also, I discovered that it would be pretty easy to make a live test mode where you can see the physics in action.
The next step was adding muscles. These will be the main points of control for your creature. They will tense when their controlling neuron fires, and relax otherwise. The editor will have a test “tense/relax all muscles” function so you can test the movement. The trick to making a beautiful, functional creature is setting up your body and brain so they work in harmony. Thus, behold! :
Ah, ehm, OK. Some physics troubles. Gimme a second…