Developers' Diary

Animate Me

I just wrote some insane mathy code for doing complicated warmup, firing, and cooldown animations for enemies. We needed the ability to force an arbitrary frame based on when the enemy was supposed to be firing. Jules drew a ton of madly detailed little animation frames for a particular enemy, so I felt that I had to do it justice with a decent animation system.

Keeping track of which frame is supposed to be happening on which tick of the enemy’s clock is really hard. If my calculations turned out to be off by one tick, dozens of values could change. I ended up creating an OmniOutliner document with row numbering turned on. Then I typed in the animation frames I knew we needed, in the order we needed them. Then, as I dragged the frame numbers around to make sure everything flowed properly, the row numbering updated automatically to let me know which ticks they corresponded to. Then, I just translated the results into code. Awesome!

Numbers.png

One response to 'Animate Me'.

Comments and pings are currently closed for 'Animate Me'.
  1. 1 the2bears
    Posted on May 18th, 2007 at 13:50. About 'Animate Me'.

    Programming’s easy, innit? ;)

    Cool, though, I love it when an aesthetically pleasing idea in software translates to implementation well. Kind of like that one perfect shot in golf.

    Bill