Separating Mods from Rulesets

The problem with the current modding system is that you can only add stuff to the game, but you can never remove and replace stuff.

In FreeCiv, I think there was a concept called Rulesets. Since everybody wants to play with their own custom rules, the concept of rule set allow to start a game using a set of infomation (XML data) used for determining the rules of the game.

Now it could be interesting that the concept of rule set could be implemented in elemental to remove the trouble of installing a mod that change rules of the game.

For example, you could have somewhere in the XML file a definition of the ruleset. It would define name, various properties and the files to include. For example:

Code: xml
  1. <RuleSet internal="Elemental">
  2.    <name>Elemental : Basic Game</name>
  3.    <file>FilenameA.xml</file>
  4.    <file>FilenameB.xml</file>
  5. etc...
  6. </RuleSet>

Then I could add my mod definition in another file like

Code: xml
  1. <RuleSet internal="mymod">
  2.    <name>My Mod : normal </name>
  3.    <file>FilenameA.xml</file>
  4.    <file>FilenameB.xml</file>
  5. etc...
  6. </RuleSet>

 

Then each rukle set could have it's binary blob.

Finally, when you start the game, a small window could appear (like the Play game-update-manual windows) and ask you which ruleset you want to use.

You could also have command line parameters that would skip that window like for example:

elemental.exe /ruleset mymod

What do you think?

4,609 views 6 replies
Reply #1 Top

A little clarification:

Why select the rule set before the game start?

Because according to the concent of the XML, the files loaded in memory will not be the same because each rule set could use different tiles, models, graphics, etc. So when you know the rule set beign used, you can only load the files the ruleset will need.

Reply #2 Top

This seems targeted towards those who never mix mods and only use total conversion mods instead of a fix here and another tweak there.
Use "the one mod" and call it good.

With a mod manager like with WOW where you can click multiple installed mods on/off this makes more sense.
Then this "shell" for each mod would definitely be useful.

Reply #3 Top

Quoting Robert, reply 2
With a mod manager like with WOW where you can click multiple installed mods on/off this makes more sense.
Then this "shell" for each mod would definitely be useful.
End of Robert's quote

It would also be good to pick the order they are applied to the game, and provide tags for how each element will modify the existing resources (e.g. modify (default, the way it is now), replace (ignores the original and just uses the mod's version), and create (is ignored if it already exists)).

Reply #4 Top

The current "modding" is a crude crutch and only partially functional.
It's supposed to get streamlined with 1.1, meaning real solutions to things like the awkward "countering" of pre-existing objects and values.
I wouldn't worry too much about specific details before seeing what it will be like.

Reply #6 Top

It's supposed to get streamlined with 1.1, meaning real solutions to things like the awkward "countering" of pre-existing objects and values
End of quote

I did not know that. If that is the case, waiting could be indeed a good thing.