Coincidentally, a library called ODE had just been released, which did (still does) very nice physics modeling. After a year I had a sort of "robot construction kit" / 3D world editor and simulator GUI for ODE. I had so much fun building that app, and building random stuff in that virtual world, I didn't even start on the physical robot. Bipeds, centipedes (there's a dialog box to build N-pedes), snakes, a motorcycle, a couple cars, etc, etc.
If anyone remembers sodaplay from back in the day, I cloned and extended their GUI for controlling simple oscillating motions. And added a smooth waveform for "up, pause, down, pause, repeat" in addition to just sine waves.
There's a simple visual programming language for configuring the data flow from those simple wave functions to motorized joints in your contraption.
There's multilevel undo/redo for everything, because I had just bought the GoF patterns book, and the CommandHistory chapter seemed like such a great idea that I couldn't NOT use it.
It turned out really nice, I was super proud for a while... life moved on.
I dusted it off a couple years ago and got it to build with a modern version of Visual Studio. The C++ standard has evolved, and there are now a billion warnings, but it does build and run. Unfortunately I wasn't able to get the MPEG library and terrain library to work. And the screenshots and MPEGs from 2002 are long lost, so I haven't got much to show for it today.
But it is on GitHub if anyone wants to play with it: https://github.com/natewaddoups/juice