Jump to content
  • Advertisement
Sign in to follow this  
  • entries
  • comments
  • views

Universal Data Container

Sign in to follow this  


So, I spent three hours working on one of the core components for my engine... at least as far as data files are concerned. That would be the UDC, or Universal Data Container.

Basically, I'm stealing an idea from Bioware's Aurora engine. They use a format called the ERF, or Encapsulated Resource File. For the Aurora engine, this mostly contains files, like a package or zip (though, not compressed). The ERF structure is used for the games HAK, MOD, and SAV files (as well as raw ERF files, naturally).

My UDC, I'm hoping, will do the same thing, but on a much more generalized scale. I thought I had drawn out a good design for the UDC, being nodes of data that could, themselves, contain nodes of data. As I poked at it, though, my initial design was becoming quickly cumbersome when it came to calculating out node offsets, since one level of nodes would have to take into account sub-nodes, and those sub-nodes would need to take into account their sub-nodes and so on.

After coming to a moment of pure frustration, I started on a new tactic for tackling this problem. A branching structure where each element in the branch can contain a node and/or child branches. Haven't gotten far with this idea, yet, but tomorrow I hope to tackle some more of it.

What do I want to achieve with the UDC? A single file structure that can be adapted for various custom file-types. One UDC file type for packaging files, one UDC type for a 3D model format, and so on. I suppose we'll see if this idea ultimately holds water or not. I think it will, but I'd be willing to hear anyone's thoughts on the idea.

Thanks for the comments on my last post! Hope my journal stays interesting for everyone :)
Sign in to follow this  


Recommended Comments

There are no comments to display.

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

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!