• Advertisement
  • entries
    503
  • comments
    1888
  • views
    334250

Open Sheet Format?

Sign in to follow this  

74 views

I had a thought I wanted some feedback.

The .sheet format that S3Engine uses is very flexible, simple and general, couple this with tool support, and you've got a perfect candidate for other people to integrate this functionality in their own projects.

So the question is:

Is there anyone who would use the .sheet format and tool in their games?

Before you can answer this you probably need to know more about the .sheet format.


The Format

A .sheet file uses the XML format to represent a logical grid of animation frames for a sprite, the general use of which serves as each row being a compass direction (but this is not set in stone), where the columns of each row act as the animation frames, each frame has 5 parameters:

Texture - image file name
OffsetX - unit value for horizontal offset
OffsetY - unit value for vertical offset
FlipX - horizontal flip flag
FlipY - vertical flip flag

Given the nature of XML, other implementation specific properties can be added, without breaking backwards compatibility.

Given that the use of the sheet file is up to the developer (they must write code to read the format), the actual meanings of the columns and rows is app specific.

Sample (may differ slightly from final release):


"1.0"?>



data/tex1.png
0.5
0.5
false
false


data/tex2.png
0.5
0.5
false
false




data/tex3.png
0.5
0.5
false
false


data/tex4.png
0.5
0.5
false
false








The Tool

The current tool for making .sheet files is called the Sheet Editor.
It's primary function is to import raw, uncropped image files (png at the moment), allow the developer to arange them in a rectangular grid, using simple
functionality such as copy,paste and delete, and to manipulate them using algorithims such as reverse and flipping vertically or horizontally.

Finally the new sheet can be exported, where options for file renaming (to create a single linear set of images from a potentially mixed source) and croping with offset (to eliminate unneeded whitespace on a per-frame basis, and to apply base left-top origin offset).

The result is a list of files with a single associated .sheet file, which provides the path linkages and additional offset information.

This format is ideal for 2D sprite based games, which do not have fixed sized sprites (such as all sprites being 32x32 which would allow for easy atlasing), and where using a per-frame solution will allow for massive amounts of white-space to be cut. In short, most 2D isometric games.

Anyone interested?
Sign in to follow this  


3 Comments


Recommended Comments

It just looks like a texture atlas to me, and I have one of those that works at load time in my new engine, which is more portable than your tool.

Sorry, but I probably won't end up using this. Cheers to you for offering it, though.

Share this comment


Link to comment
Thanks for offering, but I'm planning on writing up a tool to do a similar task for myself.
Given for my present game I'm planning on using Inkscape and SVG (which is already XML) as my raw data format before converting to PNG, it makes more sense for me to create the bounding boxes within Inkscape and then simply strip out their locations using a dirt simple conversion tool - no GUIs required.

But thanks for offering; I could see this being useful if I were using a raster file format.

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Advertisement