Compatability of Different Mods

wapamingo

Prince
Joined
Sep 19, 2006
Messages
399
So I really like the Balance mods by Th, but I also like the Economy mod done by Valk. And I trust everything Valk puts forth because of his uber rep from RiFE and I know the Econ mod contains some of the Balance mods but may not contain everything.

So, my question/concern is that with so many different mods and some mods may affect the same thing differently, what happens if I load all of them? (I did that with all Balance + Econ, and no issues) What gets modified if the different mods alter the same thing differently?

Also, with so many different people attempting to do similar things, can the modders get together and put forth a concerted output (and I see that with the Econ mod) so that there is less confusion?

Also, reservation of names: If Th picked "balance" as his/her mod prefix then please other modders don't use balance as well. It confuses me when I go update mods (but I know I can search by author, but still).

There is just a bit of chaos out there :)
 
So, my question/concern is that with so many different mods and some mods may affect the same thing differently, what happens if I load all of them?

If they edit the EXACT same entry, then I'd assume it'd change it for one mod and then change it again for the other. The bigger problem is when people change related entries. For instance, what happens if I delete the giant robot unit, and then you try to give it a new promotion?

Also, with so many different people attempting to do similar things, can the modders get together and put forth a concerted output (and I see that with the Econ mod) so that there is less confusion?

This assumes the modders in question can agree on what they're trying to do. This is NOT a given. For instance, let's say that two people are making mods that add more Ancient-era technologies. These would, most likely, be completely incompatible with each other for a variety of reasons. And yet, they're not going to get together and make a single mod that does this, because maybe person A is developing a military-oriented one while B wants more infrastructure, and then there's C who wants to add some fantasy elements. Even if they didn't directly conflict, people are going to want to be able to play one of these without being forced to use the others (which'd add so many early-game techs that the balance would be thrown completely off).

"Similar", but not identical enough that everyone would agree on a single result. This is going to be the typical situation for anything beyond the most basic mods.

Along those lines, I'm developing a future-tech mod based loosely on Sid Meier's Alpha Centauri ("loosely" in the sense that while I'm using many of the same tech names and wonder names, the effects, order, etc. will often be different). I'd bet that there's someone else out there doing the same, but attempting a more rigid translation, complete with editable units and the whole fungus/psi attack logics. And then there are probably going to be several other people making more "classic sci-fi" future tech packages, for people who don't want fifty new technologies in an era that people generally don't reach. There's just no way to reconcile these into a single mod, and no one would WANT to do so.

Also, reservation of names: If Th picked "balance" as his/her mod prefix

To me, the problem there is that someone is trying to reserve the word "Balance" for his own personal mod. Given that the point of most of the mods so far is to tweak the game's balance, that's pretty presumptuous.
That's why all of my mods will be something like "Crazy Spatz's Base Mod", "Crazy Spatz's Long-game Mod", or "Spatz's Mod for Alpha Centauri (SMAC)". No confusion.
 
To me, the problem there is that someone is trying to reserve the word "Balance" for his own personal mod. Given that the point of most of the mods so far is to tweak the game's balance, that's pretty presumptuous.
That's why all of my mods will be something like "Crazy Spatz's Base Mod", "Crazy Spatz's Long-game Mod", or "Spatz's Mod for Alpha Centauri (SMAC)". No confusion.
Absolutely agreed. If we're going to use words to indicate that mods are part of a series, they need to be proper nouns, or at least not generic words that are often applied to mods or other things in the realm of Civ.

On the issue of working together, of course, there are places where it makes a lot of sense. I'm working on a change to AssignStartingPlots.lua to make it possible to actually add resources in modular fashion, starting with Strategic ones. The idea then would be to encourage everyone else adding resources to make use of my mod as a base. This will be hard and confusing for everyone if there's a half-dozen attempts to do the same thing. That said, if there are several attempts to do the same thing, the community will eventually thrash out a de facto standard.
 
exactly why i just called my map Shiggs Earth... I knew there would be a dozen or so of them flying around within a month.
 
On the issue of working together, of course, there are places where it makes a lot of sense.

Sure, no argument there. And there are plenty of mods that can work together nicely without causing the major headaches. But the difference seems to be that there are a few categories of mods, IMO:

> Balance (like most of the ones made so far, that do things like tweak Wealth to 25% instead of 10%)
Balance mods are trivial to mix-and-match to get something you like. Thankfully, most people seem to keep theirs simple; tweak a few things, and be done with it. Make Bombers and B-17s upgrade to Stealth Bombers, make Cavalry upgrade to Helicopter Gunships, add back in the +1 movement for circumnavigation, change the default difficulty to Prince. These are the kinds of things that you'd play with every time, assuming you approved of the change in question.

> Technical (like your modular resources)
Technical mods might change something that an individual might like (like, say, adding Religions into the game), but it's unlikely two mods will affect the same thing. So while you might not WANT to use all of them at once, it won't break anything.
And if you implement it right, it becomes very easy to merge some of these together into a single "Core" mod that doesn't change gameplay but makes future modding easier. Especially if the coding has gone beyond XML to include implementing new abilities that others can use in their mods.

> Content (like my future-tech mod)
Content mods tend to be based on a single artistic vision, and really don't mesh well together. If person A thinks the future techs should be realistic, person B prefers a Mad Max apocalypse world, person C wants Alpha Centauri, and person D wants a Flash Gordon setting, then they really aren't compatible at all. Each will be trying to change the same things, use the same tech tree grid locations, and so on, and there'll end up being multiple units filling each niche. Even worse, if someone's adding in techs in older eras, this'd often require massive changes to the existing techs, and future mods wouldn't handle this well.

My point is just that while cooperation on mods sounds well and good, it's really only practical for a certain subset of the modding community.
 
I honestly didn't intend it to seem like a word was being reserved, it seemed logical to prefix a mod with sub-categories like the 3 you listed above.

This was brought about due to there not being any sub-categories under the Game Rules category for mods in ModBuddy, so it was an attempt to tag changes aimed at simply tweaking the vanilla game, compared to changing gameplay in a significant way (such as the gradual research mod, which does not include the sub-category label because it slows late-game research). It'd be like putting [ ] tags on threads in a mod forum, and a hyphen seems less intrusive than square [ ] braces. This is also why in the 'combined' thread I indicate to search for author name. I apologize if this came across the wrong way. I've altered the individual mod-component threads to indicate to search for author name instead of balance sub-category.

On the topic of compatibility, I would avoid combining mods that alter a similar gameplay mechanic, so if you like Valkrionn's excellent Economy Mod, then use that instead of the Terrain Improvements mod. The two are simply alternate philosophies of how to approach a problem we both agree on: the production/research ratio seems a little off in the vanilla game. Using both together would change gameplay too much. :)

On the other hand, using two mods together that don't affect the same part of the game is perfectly ok. For example, two great mods out there are killmeplease's Emigration and Elvince's Battle AI. I use them both (and some other mods), in addition to the other modifications I've made to the game. There's lots of good stuff out there, take a look through the Mod Components forum too!

Basically, just look at the effects of a mod and see if it alters the same game concept as another one you're using. Some mods also split up their effects into separate files within the mod folder, so sometimes you can just delete the sub-files you don't want. For example, the Mines and Lumbermlls.xml file from the Terrain Improvements mod folder is what alters production, so if you prefer workshops and an overall production-cost change like in the Economy Mod, simply delete the Mines and Lumbermlls.xml file.
 
If they edit the EXACT same entry, then I'd assume it'd change it for one mod and then change it again for the other. The bigger problem is when people change related entries. For instance, what happens if I delete the giant robot unit, and then you try to give it a new promotion?

Can anyone confirm this assumption? I've made the same one, but really don't know. And if so, is there a way to determine mod load order, to know what the final result would be?

For instance, if Mod A changes engineers from +1:hammers: to +2:hammers:, and Mod B changes it to +3:hammers:, how can you determine which will take precedence? Or will the game reject the mods as incompatible?

Edit: As a related question, does anyone know how ModBuddy handles multiple changes to the same XML tag? For instance, if I change all of the "attribute" type promotions (including the scout terrain move) to be lost with upgrade, but then later in the same mod file change the scout BACK to keeping it's promo on upgrade, does everything come out okay? I'm going to try it and see, I was just curious if anyone knew already.
 
Edit: As a related question, does anyone know how ModBuddy handles multiple changes to the same XML tag? For instance, if I change all of the "attribute" type promotions (including the scout terrain move) to be lost with upgrade, but then later in the same mod file change the scout BACK to keeping it's promo on upgrade, does everything come out okay? I'm going to try it and see, I was just curious if anyone knew already.

The last mod to be installed takes precedence.
 
The last mod to be installed takes precedence.

Mmm. Given that this exact same issue has come up in moddable games before though, it's a little silly to think that they didn't bother to implement a proper solution within the in-game mod manager itself. As it is, we're probably going to end up with a 3rd-party Oblivion-style mod manager, so that people can install just the mods they want, and then play with the exact features that they want from each mod. Which is rather less convenient than doing it in-game.
 
Mmm. Given that this exact same issue has come up in moddable games before though, it's a little silly to think that they didn't bother to implement a proper solution within the in-game mod manager itself. As it is, we're probably going to end up with a 3rd-party Oblivion-style mod manager, so that people can install just the mods they want, and then play with the exact features that they want from each mod. Which is rather less convenient than doing it in-game.
They did actually specify a system to help with it - mod associations. These allow you to require other mods (in which case they will be loaded first, and your mod won't load without them), or reference other mods (your mod will load without them, but if they are being loaded they will always be loaded first). You can also set to exclude specific mods, marking yours as incompatible with them. Of course, this will require modders to be organised and identify the mods they need to associate with in some way.

What would be really nice would be the ability to create (or have Firaxis define) some mutual-exclusion keywords. Responsible modders would then mark their mod with this keyword when it was appropriate, and the game would refuse to load more than one mod with the keyword.
 
Thats all fine and dandy SamBC, but you do know the mod associations currently don't work right?

it may be months honestly before they fix the modbuddy, there's literally thousands, maybe tens of thousands of bugs just in the game itself. I wouldn't hold your breath on it being fixed in the immediate future, we'd be lucky to have it functional in 3-6 months.
 
Thats all fine and dandy SamBC, but you do know the mod associations currently don't work right?

it may be months honestly before they fix the modbuddy, there's literally thousands, maybe tens of thousands of bugs just in the game itself. I wouldn't hold your breath on it being fixed in the immediate future, we'd be lucky to have it functional in 3-6 months.
That's why I said "specify". There's little point coming up with some more limiting system of our own if it's going to be fixed soon enough anyway.

They have indicated that it's supposed to be sorted 'soon', just lower priority than this upcoming patch.
 
The last mod to be installed takes precedence.

And to "uninstall" a mod, you have to delete (or move) the mod's folder, right? So if I want to change the order of precedence, I have to delete all my current mods, then re-install them one at a time in the order I want? That seems... unfortunate....
 
They did actually specify a system to help with it - mod associations. These allow you to require other mods (in which case they will be loaded first, and your mod won't load without them), or reference other mods (your mod will load without them, but if they are being loaded they will always be loaded first). You can also set to exclude specific mods, marking yours as incompatible with them. Of course, this will require modders to be organised and identify the mods they need to associate with in some way.

Oh, true enough. I guess I kinda forgot that existed because it's not implemented yet, haha. Ah well, I guess you're right, that system, when it comes, should work to a certain extent.

Still, even then it's not perfect. The system relies on the modder to define associations, which in turns requires that the modder is aware of the existence of any and all mods that would interact, and keeps the association list updated as new mods are released, and it then assumes that the user will actually download these updated association updates. Granted, a user could potentially fix such missing associations manually. But a robust mod manager should allow a user to define any arbitrary load order, thereby providing a quick and simple solution for any possible future incompatibilities, without having to resort to setting up a convoluted chain of dependencies in order to force a certain load order.
 
Back
Top Bottom