Generic Animation Format

Daniel Sperl on December 5, 2013

After a long pause, we’ve got the next entry in our “User’s Corner” blog series! Today, I give the word to Denis Balon from gafmedia.com. He and his team created an extremely promising solution that allows users to import their Flash CS animations into Starling easily. Thanks a lot for taking the time to show this tool to our users, Denis!

Generic Animation Format

Something we all have been waiting for has finally arrived. What is that? GAF is here! I’m excited to let you know about our amazing new tool. Find out all about it below!

Overview

GAF stands for “Generic Animation Format”. GAF is designed to store Flash animations in an open cross platform format and play it back in a multitude of different frameworks — including Starling!

A while ago, we decided to port our popular Facebook social game to iOS. We faced a simple yet tough to solve problem. The game included more than 4000 unique flash animations. There were no online solutions able to convert these Flash animations into a size-effective format and at the same time offer a high performance playback. Converting into frame sequences was not an option because full code control over animations and the resulting file’s size were crucial.

But even more important was the fact that our developers needed a reliable tool to continue using Flash CS as animation editor and Starling as their game dev framework without any limitations. This is how GAF Converter was born.

Technical Details

Here is an overview about what GAF is all about. It’s designed to be simple yet very powerful!

The GAF Converter is a fully featured set of tools supporting the conversion of 99% of what you create in Flash CS:

Main Features:

  • Support for nesting without any limitations
  • Shape tweens conversion
  • Animated masks support
  • Blur and Glow filters supported

Unique Features:

  • All visually identical symbols inside the swf are changed into a single sprite.
  • Symbols forming a static object are joined into one single static sprite.
  • When forming texture atlas scales of symbols are taken into account. Spites saved are never larger than needed for the playback. Texture atlas is highly optimized.
  • Animations can be saved into a bundle. Texture atlas will be shared between animations saving a lot of disk space.
  • HD version of texture atlas is automatically created.

Limitations

  • Main animation timeline length should be the same as the desired animation playback length in frames.
  • Animation always has to be finite. In case of using code to control animations playback make sure it does not run endlessly.
  • The converter does not support animation inside mask symbol, however mask itself can be animated in any way.

Examples

Below, you can see GAF in action. We took this nice Flash Animation, which resulted in this GAF file. And here we have the Starling based GAF preview. Make sure you check out all the features!

Summary

The main concept of the GAF Converter is to enable artists and animators to use Flash CS, the most popular animation development environment, for creating complex animations and have little to no friction using them with game dev frameworks and Starling in particular. GAF feels like a breakthrough solution and we hope you will enjoy it. Everyone is welcome to get started right away — visit us at gafmedia.com!