Building file formats

Yes, I’m still alive. Yes, I’m still working on the TURBU project. No, it’s not vaporware.

I’ve been saying that too much lately.

What I’ve been doing for the last couple weeks is working on establishing a new system of file formats to store TURBU project data.

One of the things I’m doing differently from RPG Maker’s system is the files’ style. In RPG Maker, the database, for example, was all one large file. All the database information for the entire project was kept in RPG_RT.LDB. This posed a real problem for synchronization among teams: if one project member changes a hero’s stats, and another adds some battle animations, they’ve got some work to do to make sure their copies of the database end up containing both sets of changes.

TURBU will store the data files as archives containing a bunch of smaller files. This has two advantages. First off, archives can be compressed. This means smaller overall file sizes and shorter downloads. Second, since each entry will be its own archived file, synchronization becomes simple: there will be an option in the editor to keep track of which files get added or changed and automatically create a .cap (capsule) file at the end of the session containing all the changes, which can then be sent around to other team members and merged in. You’ll still have to make sure two people don’t modify the same individual entry (the same hero, for example) at the same time–and the capsule merge routine will point out these conflicts if they are found–but aside from that, anything goes in terms of team development!

Oh, and I also created a new way to store certain images that’s many, many times smaller than PNG or XYZ files. Unfortunately, it only works for sprite sheets. But with sprites, the results are dramatic: In one file, the original PNG was 11.5 Kb; the converted version turned out to be less than 250 bytes!

3 Responses to “Building file formats”

  1. hero_bash says:

    That’s really nice… the image compression sounds like a very neat thing

  2. Jack says:

    This is great news!

  3. Robert says:

    So, what are you basing the file formats on? Is it XML or something? If not, you should consider XML, simply because of it’s utility.

    http://en.wikipedia.org/wiki/XML