Posted by Data in Cortex Command - July 26th, 2006

Data Module DiagramImplementation work has finally been completed on the new data format system. Testing remains, though. What’s next is to make the concept of Data Modules work in code. Modules will enable modders and addon makers to create their own, freestanding packages of game content without modifying the original game’s stuff, and without disrupting data of other mods and addons.

On the file system, a module simply looks like a folder in the game’s directory, named “MyMod.rte” or something. It contains at least one .ini (index.ini) and whatever other resources like bitmaps and binary data files used by that module. For organizational purposes, the index ini can ‘include’ (IncludeFile = MyMod.rte/Weapons.ini) other ini files within the same module, like a ‘Scenes.ini’ or ‘Actors.ini’. All these ini files use the new data formatting system throughout (see earlier post).

In its ini files, a module can define instances of almost every object in the game engine. So, one could for example make a module with only weapons, or only effects, or only new scenes (maps/levels), or a combination of these. Gameplay logic is currently totally hard-coded, but eventually we’ll see how data driven we can make that too. This would mean modders could define their own gameplay styles as well, much like Unreal’s ‘mutators’.

There will always be at least a single module present called Base.rte, which will contain all the data of the basic game. Other modules can safely refer to data in the base module since it can be assumed to be there, but add-on modules should never refer to bitmaps and such in other (non-base) modules. This will ensure that each add-on module can be passed around to fellow CC players without a hitch.

After work is done on a module’s data, there will be a tool to compress its containing folder into a single file with the same name as the folder (e.g. MyMod.rte). Hopefully this will make it even easier for people to share their new weapons, actors, levels, etc. with the community.

I was going to draw a diagram to make this post a little more visually interesting, but I’ll spend that time on actually getting the code done instead. (Update: but then I drew one anyway!)

You can follow any responses to this entry through the RSS 2.0 feed.
Both comments and pings are currently closed.


14 Responses to “Data Modules!”

  1. gnat - # July 26th, 2006 at 11:20 pm

    Interesting entry. The diagram adds quite a bit to the post 🙂

    The moddability of CC is shaping up really well

  2. linongion - # July 27th, 2006 at 1:13 pm

    It seems we will have to partially relearn how to mod the game, but it will be easier.

  3. Fat Zombie - # July 27th, 2006 at 2:39 pm

    This sounds quite clever! Well done!

  4. Ryan A - # July 30th, 2006 at 1:55 am

    Good work 🙂

    I just got a shiney new PC and tested the latest build. It runs great! Looking forward to more progress…and finally seeing the GUI system in action?

  5. Data Realms - Dev Log » Blog Archive » CC Test Build 02! - # August 14th, 2006 at 2:25 am

    […] New data system… just poke around in Base.rte’s ini files if you’re interested. Is a LOT more modding friendly. More info here. […]

  6. s0m3 guy - # October 13th, 2006 at 12:17 am

    I don’t get it links are dead, files I don’t have, is there are newer version?

  7. Data - # October 13th, 2006 at 4:30 pm

    What links are you talking about?

  8. The Punisher - # November 2nd, 2006 at 7:31 am

    lol…

  9. dude guy - # December 15th, 2006 at 7:08 pm

    hwo do you add maps?

  10. ASH33 - # January 17th, 2007 at 7:07 pm

    This page was very helpful. Great job on making Modding so easy!
    Simply Awesome!

  11. Daniel Q - # January 27th, 2007 at 2:53 pm

    I don’t get it. HOw do we add mods and make them work?

  12. skulldude665 - # March 1st, 2007 at 5:12 pm

    i dont know how to add actors can someone show me my email is skulldude665@hotmail.com

  13. Zack - # March 18th, 2007 at 3:04 pm

    http://viewmorepics.myspace.com/index.cfm?fuseaction=viewImage&friendID=78278880&albumID=0&imageID=5011905 THIS IS A DROPSHIP IDEA FOR DATA

  14. guigui - # May 28th, 2008 at 8:16 am

    =FUCK YOU