A 2D Sprite Animation System

One of the things I decided late into the production of Another Star was that, in the future, I would stop skimming on production tools. In Another Star I hard coded virtually everything in the game, other than the maps. I never really liked working on tools, so I always looked for work-arounds to weasel my way out of making them. But as I got closer and closer to finishing Another Star, things got more and more tedious to change.

The one bright spot was that I’d made a map editor. No big deal; I’ve made dozens of them over the past twenty or so years I’ve been programming games. But it really did make a difference, as simple as it was. Tweaking maps was a simple affair whenever I ran into an issue, even moreso because the map editor ran in-game and all I had to do was press a single key to toggle in and out of it. I almost—almost—tried hard coding the maps. I’m so glad I didn’t.

In any case, as a consequence of this I’m finally getting around to something I should have worked on five years ago: a 2d animation system for sprites.

The Flipbook Application

Here’s the application in action, selecting areas in a sprite sheet.

I actually did the bulk of predesign work for this back in 2009, but never got around to actually programming more than a couple buttons and a file menu. But for my next game, I really wanted it to look good, and I knew I’d need more than some basic grid-based sprites to pull it off. I’m hoping that this application, dubbed “Flipbook”, will do as much good for future projects as that map editor did for Another Star. And, to top it all off, I’m actually sort of enjoying working on this.

I’m trying to make Flipbook as easy and natural to use as possible, because I’d like to release it in some form, even if it’s never properly finished. I don’t expect it to be popular or anything, but it uses a fairly generic sprite system, so I think more than a few people could probably make use of it for their own projects.

In fact, I’d like to share several things I’ve developed, both for this project and Another Star. I’m planning to release these through the Vision Riders website starting here in the near future, but in the meantime you can read up on my latest draft of the underlying sprite system and its file structure. It’s not quite finished or finalized yet, but you should get a general idea of how the thing is supposed to work.