Mod Management Discussion
Now that many of you have your feet wet with modding, some are interested in ways of making their mods compatible with others' mods. Similarly, new builds will likely clobber IDs you've used in your mods, so it'd be nice if those IDs were safe.
I don't have a solution for this yet, and I can't guarantee this problem will be solved perfectly. (A proper solution might take serious dev time.) But some ideas have been floating around, and it's worth exploring our options.
One suggestion that a few have mentioned is some sort of "override" system. This could just be a special "override" folder from which the game loads data after the "vanilla" game is done loading. That's a good start, but there are a few gotchas:
- Modders will need a way to reference "vanilla" data. E.g. new recipe may refer to existing ingredient ID for "flame source."
- Modders will need a way to reference their new data. E.g. new recipe may need ID to new ingredient, "butterfly wing."
- Modders/players will need a way to specify load order, in cases where mods conflict.
One solution Rovlad proposed elsewhere was:
If a record has an id, it should be a replacement. If there's no id like that in a "master xml file", it's a new one.
I think this solves #1, and makes new content easier in general (no fussing with IDs!). However, I'm not sure if it'll work for case #2. Without IDs, the new data can't point to other new data.
Alternately, each new mod could start with ID=1, and the game could just increment the mod's IDs to start at the next available number. E.g. new item has ID=1, vanilla game has IDs up top 574, so mod loader just switches the new ID to 575.
This approach solves #2, but not #1.
Any thoughts on how to solve both #1 and #2? (#3 is probably an independent issue.)
Dan Fedor - Founder, Blue Bottle Games