Hypothetical: better data structure than resources

what would it be?

I’m looking for recommendations.

We all know the Macintosh resource fork is an outdated concept. The architecture that Escape Velocity games rely on hasn’t been a serious part of software development to my knowledge since OS X came out almost 10 years ago.

So, hypothetically, if the Nova engine were updated, and if that update involved making a new structure for storing game and plug-in data, what could/should/would that structure be?

Principles to keep in mind when making suggestions include:

Simplicity: the format needs to be easily editable by non-programmers.

Cross-platform support: just what it sounds like.

Versatility: the format needs to be able to store all the different types of resources used by EV games (except possibly graphics and sounds, which could be stored by separate means. Ideas for storing graphics and/or sounds are also welcome.)

Read speed: the game engine would need to read these data structures quickly (possibly on the fly if the game doesn’t hold everything in memory all the time.)

Again, this is entirely hypothetical. I look forward to reading your ideas for replacing the resource format.

This post has been edited by Qaanol : 16 December 2010 - 09:20 PM

The way that things have gone recently, it would almost certainly be XML data, with the images, sounds, and (if applicable) 3D models stored as separate files in standard formats. The entire bundle might be compressd as .zip file to save space and make it manageable on non-Macintosh systems. I doubt loading speed would be an issue, since it was assumed even in the days of the original Escape Velocity that the entire thing would be loaded into memory at launch.

Have a look at what Xsera's using. Its pretty good right now, mostly xml-based, and you can use lua to script your missions.

https://github.com/xsera/xsera