🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Open Sheet Format?

posted in A Keyboard and the Truth for project 96 Mill
Published September 22, 2006
Advertisement
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?
Previous Entry Tools
Next Entry T -5 Days
0 likes 3 comments

Comments

Sir Sapo
This is actually very similar to the system we use in Angels 22, albeit without the fancy GUI tool.
September 22, 2006 11:02 AM
Ravuya
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.
September 22, 2006 11:15 AM
Trapper Zoid
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.
September 22, 2006 10:57 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement