The design and implementation of an Open Source animation tool.

July 1, 2007

The Philosophy of Moing

  1. Words are Cheap
    I keep finding myself with a really spiffy idea for a piece of software, then I find myself bogged down implementing specific ideas that never really work out, rewriting code again and again until I find an idea that works. I'm not one to underestimate the value of prototyping, but often that prototyping can be done at a much earlier stage. Words are cheap, and they're a lot easier to take back than code. This time around, "paper prototyping" is the order of the day.
  2. Haskell, Why Not?
    At this point in my life, I'm pretty sick of doing application-level programming in C and C++. My minimum requirements for a new project these days are automatic memory management and lambda, but once you have those most languages look pretty much the same. Haskell's one of the exceptions. If you choose to take advantage of the type system, you can replace a lot of run-time assertions with compile-time checks. That means a lot to me.
  3. Shape Tweening is All Wrong
    Perhaps tweening's not inherently a bad idea, but on the evidence of extant implementations, doing it well is a Hard Problem. Usually the results of shape tweening are painfully distinctive and not at all appealing. Synfig does better than nearly any other application I've seen, but it still requires a lot of work to get a good result; the problem of a good user interface for tweening is still very much unsolved. So, I'd like to look at alternate approaches: armatures and non-rigid shape manipulation.
  4. Performance, Performance, Performance
    The thing behind the wrongness of most computer animations is the fact that the problem animation is the end product of a long series of tweaked parameters. The trouble with tweaking is that you become blind to your own work if you stare at it long enough. If you want to be able to stop tweaking before you lose the ability to see your own work, you need have a decent performance to build on up front. That means performance capture. No need to break out the bodysuit and ping-pong balls, however -- for 2D animation, I think we can get pretty far with just a mouse.
  5. Animation is not Drawing
    The truth is, unless you're committed to traditional animation techniques (not our target audience), you're doing your drawing and your animation as separate steps. Most animation packages try to be the best ever drawing package and the best ever animation package at once, inevitably failing on both fronts. We've got plenty of decent drawing tools out there already, so let's just focus on animation. Make the parts of your puppet in Inkscape; give them life in Moing.

No comments: