What is Fanny Pack?

Fanny Pack is a suite of tools that I developed for my game programming students. There are certainly better products out there, but I wanted my students to have access to free tools and, more importantly, access to the source code for those tools. I also didn’t want the tools to look like poop that was designed in the 80’s.

Sprite Sheets

A tool to merge several art assets (objects
within the game) into a single image, saving
memory and reducing CPU-to-GPU chatter.

Show Features

Sprite Sheets

A tool to convert public domain TTF & OTF
fonts into bitmap fonts - a format that is
more easily consumed by game engines.

Show Features

Sprite Sheets

A tool that manages the placement of a fixed
set of tiled images. By painting these tiles
into place, entire game worlds can be made.

Show Features

What Makes Fanny Pack So Special?

It’s certainly not its features. The commercial offerings provide options and functionality that aren’t (yet) supported in this suite of tools. The biggest benefits of Fanny Pack are that it’s open source, and that it doesn’t require you to install anything. Everything runs in your browser.

Everything Runs in Your Browser

You read that right. Everything runs in your browser. The technology that drives Fanny Pack is vanilla HTML5 and JavaScript. That means that you can use the app from any operating system, using any modern web browser.

You don't have to be an administrator on your computer. You don't have to worry about updates.

At least, that's the idea. I've been developing on my MacBook Pro, using Google's Chrome web browser. I'll be doing more extensive testing in the near future.

Your Assets, on Your Computer

There is no server component to FannyPack. Assets are loaded into your browser from your local file system. Project files are loaded from and saved to your computer. Published resources are generated on and saved to your computer.

Your data is never transmitted to the server. I don't need to see it, and I don't need to pay for dedicated servers that churn through data or bandwidth for that data to travel to and from those servers.

In fact, if you really want to be cautious (*cough* *cough* tinfoil hat *cough*), you can download the static HTML and Javascript and run them on your computer - even without an internet connection.

Stop, Collaborate, and Listen! (Share Your Work)

Project files and published resources are generated as self-contained plaintext or compressed (ZIP DEFLATE) files. Just share the file via email, DropBox, or however you normally share files with teammates.

Resources are embedded in the project file, not linked. FannyPack embeds the source image data and configured options. Once assets have been added to the project, they're never referenced from your filesystem again. Share away.

What’s Up with the Name?

Fanny Pack was initially intended to simply be a sprite sheet packer. Texture Packer (by @CodeAndWeb) was the inspiration, so I chose a name that included “pack”, but was less likely to get me sued. Since its inception, though, the project has grown to become a suite of tools. I decided to keep the name. It’s a geeky representation of a utility belt. (Think Schneider or Batman.)

Besides, I like it.

Want to Work in the Cloud?

The beauty of FannyPack is that there are no dependencies on the client. It’s OS and, to a great extent, browser independent. Also nice is that your data need never leave your computer. That is, until you want to work with a team. If you think emailing ZIP files is clunky (I certainly do), then there’s a new option coming your way soon!

You’re probably already using one of the many popular cloud storage providers. If so, you can tell FannyPack to reference assets as file links rather than embedding those resources in the project files. That makes the project files smaller, and it makes it easier to edit an asset without having to remove it from the project and add it back.

I know what you’re thinking … Hey! GitHub and BitBucket aren’t cloud storage providers!

You’re absolutely right. But, after the cloud storage support is in place, I hope to provide GitHub & BitBucket integration for the ultimate in team collaboration.