Waffler - An asset pipeline tool for games

Waffler is an asset pipeline tool created for the Rockaway game engine. Rockaway is developed by Gamesys London and is a C++ based 2D engine that is scripted with Lua. It has cross platform support for HTML5, iOS and Android.


Waffler is an Adobe Air application that specifically works with Adobe Flash CS6/CC .fla or .xfl authoring files and .swf published files. It was primarily written as part of the asset pipeline for Rockaway, however it can be used for any engine or view logic. It processes the library symbols of a .fla or .xfl file with its accompanying .swf file and exports bitmaps and JSON data (view layouts, transform matrices, sprite sheet data, tween data, SVG data etc).

The tool is designed to be used manually by both designers and developers, with an edit (in Flash IDE), publish, process (with Waffler) and preview workflow. It can also be run from the command line.

The default functionality for Waffler can be customised by using a JSFL plugin in the Flash IDE called the Waffler Item Descriptor. This plugin is used to set persistant data values on Flash library items which are then interpreted by the main Waffler tool process.

Waffler features

  • Bitmap graphics (in PNG or other compression)
  • Sprite sheets (in TexturePacker data or custom data format)
  • Tween data
  • Multiple bitmap sequences
  • SVG data
  • Localisation and merging of asset libraries
  • Resizing layouts
  • Optimisation (frame-stripping in sprite sheets etc)
  • Fast previewing

Once a Waffler process has completed, the generated assets can be fast previewed in an HTML page, which is launched from the Air application.

See below for a view of the Flash IDE when editing a .fla file for Waffler processing. The Waffler Item Descriptor plugin is bottom right.


Click here to see Waffler generated assets in a fast preview HTML page.