Thoughts on Modular Animation | Game Dev
Dan Fessler is an artist and independent game developer currently working on Chasm. He writes about art, technology, and game dev. You can follow him on twitter @DanFessler
Recently there's been a surge in interest for what I call "modular animation tools" in 2D game development. That is, tools that enable you to animate sprites composed of many pieces by transforming, rotating, and translating those pieces on a timeline; also known as puppet or bone animation. With games like Rayman Origins and Dragon's crown popularizing the technique and successful Kickstarters such as Spriter and Spine, game developers are scrambling to get their hands on tools that enable them to accomplish similar results. I thought I'd take some time to write about the history of these tools and my experiences with them.
Metal Slug Boss Fights
Interestingly, this technique is nothing new to gaming and is about as old as sprites themselves; gorgeously-exemplified in 16 bit boss fights such as in the Metal Slug Series. Mostly it derived from necessity due to the system's limitations (sprite size restrictions, memory limitations, etc.) but became a valuable tool to those who could harness it most creatively. Sadly, as games shifted more away from 2D and into 3D these techniques were largely forgotten, that is until recently.
My personal experience with these tools was fairly recent in terms of video game history when I joined Gameloft in 2008 near the tail-end of the pre-iPhone era of mobile gaming. It was an interesting time to be a game artist because although I had missed the boat for the golden age of pixel-art (I was still a kid when the super Nintendo came out), mobile platforms were stuck back in the 80's in terms of graphics, but accelerating fast. I felt like a time traveller moving in fast forward through my career, catching up on the last 20 years of game development in only 7.
During my time at Gameloft we made use of proprietary tools that gave us rudimentary ability to animate modular sprites on a timeline. It wasn't anything fancy; no tweens, rotations, hierarchy, or bones - just pure x-y translation on a per-frame basis. But it was truly a godsend. We used it for characters, environment pieces, characters, FX… literally EVERYTHING.
New York Nights 2 using modular animation technology Metal Slug Boss Fights
Although I have no evidence or examples of it, I'm certain that these tools have existed for quite a long time in some form or another. (if you have additional historical knowledge of these tools, I'd love to talk to you – shoot me an email) All that I know for sure is that the technique was used extensively, and based on the complexity of these animations in old school games I can only conclude that they developed their own internal tools much like Gameloft did. There certainly weren't any commercially available solutions to accomplish what they did. The impression I got was these tools were passed on in the form of secret knowledge from company to company as developers shifted around, and at each place they emerged they were guarded as a proprietary advantage over their competition. This proved to be true when I began work for Glu Mobile in 2009 to discover they had recently developed their own version of the tool. And it certainly was an advantage! I was told estimates that cost of development decreased by roughly half when utilizing the new technology. This meant faster development with projects of greater scope.
More important than the cost and memory savings, in my opinion, is its benefit on creativity. Without these tools an artist and engineer would have to work closely together to pull off any artistic flourish that didn't fit in a nice little package such as a flip-book style sprite-sheet which can be far more costly on system resources. If you wanted a fluid motion tween for the menu screen buttons or perhaps wanted to the explosion particles to behave in a specific way, you'd have to convey your vision to an engineer and hope nothing gets lost in translation... and usually it does. But with a proper tool it decouples the creative aspects from the technical - enabling the artist to be creative within the limitations of the system and without being blocked by engineering. Just author it the way you want it. This is the real beauty of it all. I've seen some amazing things done with these tools that simple never could have been done if you left it to the artists to interface directly with the engineers.
Lastly, there are inherent benefits to using a modular based system in games; Things like hit-box authoring per-frame, sprite mapping different graphics to the same animations (different heads, clothes, guns, etc), per-frame scripting events, and much more. The benefits here are sort of endless and is the major place of innovation with modern versions of this tool; everything from using bones, to mesh deformation.
It was at Glu Mobile that I met Michael Parent of Spriter. We had talked about these tools at length and began planning to make our own commercially available option. Unlike in 3D gaming which saw a standardization of its format and toolsets, 2D gaming was stuck behind proprietary red tape. Nobody had access to these fantastic toys - and at the time it was clear to us that the Indie scene would probably embrace such a thing with open arms. The closest thing to it was flash which was in a sort of walled garden that was great for web-games but nothing else, not to mention clunky to use and not intended for gaming in the first place. Unfortunately Michael moved to France and I got busy with work, so he continued the project without me. I still check in on the project and was later involved in the form of an investor unrelated to the Kickstarter.
While frame by frame animation can *always* be more visually appealing as it is purely freeform without inherent limitations, the practicality of doing it for games is another story. It takes exponentially more time to author, more memory resources, ram, etc. The benefits of using modular animation tools are mostly those of practicality, but also that of creativity within the confines of a game engine. Depending on the complexity of your project it becomes a no-brainer to utilize these tools.
But I'd argue it can be a good idea to use it for everything, simple and complex alike. Here's why: Using tools like Spriter doesn't limit you. You can still do frame-by-frame redraw in spriter if/when you need to, but now you have access to the other benefits it gives you which may be useful such as hitbox authoring, sound scripting, etc. By adopting the system for all things, you now have the choice of how you author within the system. For some elements you may use it a lot, perhaps for UI transitions and animations, and some elements very little - it's up to you, and by having a common foundation they will all play nice with each other in the end.