5 (simple?) things to make modding better. (Frogboy's Ask)

To quote Frogboy in another thread:

"If someone wants to start up a thread with say 5 *simple* things we could do to make mods more robust and tradeable, please do so and I can ask Cari, our lead developer, to see how doable they are."

As (most likely) the longest running/surviving mod/modder, I feel a certain mantle of responsibility to try to answer this question. The challenge though, is knowing what is or is not simple... I'll do my best.

 

 

1) Move the "Enable Mods" button to the main screen. This occasionally gets turned "off" during various installs/updates, and players often forget it, and claim something is wrong with the mod when really... they are just not thorough.

2) Create a new DLC folder for "Crusade+Retribution+Intrigue+Mercs" duplicate ALL files the game is reading within it. This consolidates what files a player should reference when creating a new mod that is up to date. 

3) Documentation of what is and is not possible. For example... one cannot properly add new Ship Hull Types... the game lets you, but the side effect is any design you save with the new hull type reverts to a default when reloading said save. 

4) Fix the fleet editor. It is still missing ship types (drones, namely). Custom fleet editing via XML is ALMOST unnecessary, and is very time consuming because the Fleet Editor is too flawed.

4.5) With custom ship styles I have to add the "Preview" object file manually to the zip file for such inside the game's directory/designs... also I need to do similar for all the Merc Designs... this forces me to modify the game's actual directory... something I consider "barbaric".

5) Begin supporting Nexus Mods via your game launcher's ads. (I would also prefer you support Mod downloading via steam, but you asked for simple.)

 

 

 

Other specific items that would be nice...

 

6) One cannot modify home-system choices with an append file... one must use StarSystemDefs.xml    ... this creates conflicts between mods and forces additional updating. If we could create "MyMod-StarSystemDefs.xml" files and add to the

"<StarSystemGroup>

<InternalName>FactionStart</InternalName>"

Without using the core file, that would be nice.

6.5) Home System Editor.

7) Allow for the modification of Hull's various stats via triggers, techs, abilities, etc.

8) Separate technology additions from the abilities into their own category of abilities... IE you have "Racial Traits with X points, Abilities with 2 Points, and "Tech Selections" with X points for selecting the somewhat hidden "trees" you have embedded with abilities. This will help you in trying to balance the ability choices.

9) Allow the modding/creation of new ship hull types. So I can have "Gigantic" and "Worldship". You can make them visually identical to Huge if you like.

10) Fix the flavor text editor or remove it. It doesn't properly upload to steam, you can't download them from steam, you can't load them into a race... it's UI is pretty difficult... just kill the poor thing... it's a distraction.

11) Simple documentation on EXACTLY what files got updated by Steam with every update. (Should be automate-able)

 

I'm sure Horemvore will have his own list and his own perspective...

 

But honestly... if you really want to understand the problems... download and install GRM or Horemvore's Mod. Then think of what you could do to streamline it. 

Gauntlet's Race Mod at Galactic Civilizations III Nexus

 

Feel free to reach out to me privately if you'd like to discuss the issue more in-depth over Discord/Skype/etc.

48,140 views 28 replies
Reply #1 Top
  1.  Modding tools. This does not have to be a full sdk/toolset, I would be happy with a soultion for Visual Studio that loads up the games schemes/xmls, shows incorrect order/typos etc, similar to what modbuddy did for civ5. Or an addon for notepad++, xmlspy etc etc.
  2.  Modding Documentation. Comments in the xml/xsd files themselves would do.
  3. Offical Support via Steam/Nexus.
  4. Have Replace Mod and Append Mod folder's, that is added to the Mod folder when you check "Enable Mods" in game. Both folders should contain a few expamples of "how to".
  5. Fix the inconsistancies with modding, for example: Editing GraphicAssets.xml and say adding a new Intro movie or Color pallete. The game will not pick these up from the GC3 Crusade\Mods\My Mod\Gfx folder. We have to place our files in the base games Gfx folder.
  6. Mod compatability. The use of Update and Replace in your xml's. I am sure I do not need to explain this more.

@ Gauntlet - 7) Doable now. A few patches back HullType was added to the Prereq Table (I think with the Star COntroll DLC/Patch). Here is a bit of code I added into UCP_Combat (its with a tech):


        <Stats>
            <EffectType>HitPointsCap</EffectType>
            <Scope>Global</Scope>
            <Target>
                <TargetType>Ship</TargetType>
                <ShipHullType>Small</ShipHullType>
            </Target>
            <BonusType>Flat</BonusType>
            <Value>5</Value>
        </Stats>
        <Stats>
            <EffectType>Logistics</EffectType>
            <Scope>Global</Scope>
            <Target>
                <TargetType>Ship</TargetType>
                <ShipHullType>Medium</ShipHullType>
            </Target>
            <BonusType>Flat</BonusType>
            <Value>-1</Value>
        </Stats>

Reply #2 Top

Boy. I need to learn how to access/read things like the pre-req table lol.

Thanks a bunch, I had gone through this with Cari-elf and wasn't able to get it going. This makes my day!

Reply #3 Top

- Better support for modding world generation (resources, nebula size, star distribution, black holes and the like). There is something there but since there is no documentation it's pure trial and error to achive something (and crashes the game quite often, e. g. when I tried to change nebula shape and size). And some things are not accesible via modding.

- Use Artifact powers otherwise. I tried to make a "Aid Military" project by using the Artifact power that gives +500 military production to a shipyard, but to no avail.

 

Reply #4 Top


To quote Frogboy in another thread:

5) Begin supporting Nexus Mods via your game launcher's ads. (I would also prefer you support Mod downloading via steam, but you asked for simple.)


Feel free to reach out to me privately if you'd like to discuss the issue more in-depth over Discord/Skype/etc.

this could be something left to the Vortex team, to support Galciv3 the way they support other games with their own mod manager.

Reply #5 Top

Why would Nexus/Vortex bother?

GC mods number incredibly few and most are not updated for Retribution. Unfortunately the modding fruit died on the vine so-to-speak a long, long, time ago.

If SD would like to reinvigorate the modding community, they'll need to pick up the baton and get it rolling in my opinion.

Reply #6 Top

Quoting Gauntlet03, reply 5

GC mods number incredibly few and most are not updated for Retribution. Unfortunately the modding fruit died on the vine so-to-speak a long, long, time ago.

To many twists and turn on that vine, although a select few decided to keep climbing :)

Reply #7 Top

Broadly speaking, our focus for v3.7 is going to be all QOL both for players and making the data system more robust.p which should help modders.

Reply #8 Top

I agree with you guys re modding, You might have seen my post re Crusade should have been GalCiv IV instead of effectively supporting two games.

in our planning for v3.99 we might merge a ton of non major expansion features back into the base game just so there are fewer permutations (like the civ builder).

Reply #9 Top

It would be cool to be able to simply generate a new ship style from the editor in-game.

 

So after changing ship templates have a button "save shipstyle as XYZ" which you then could give to your custom races at will

The steam option that is there now does not seem to work for me, or I do something wrong.

However, when modding your own game going via steam to get a new ship style would seem not ideal anyway, so I think easiest would be just to combine templates you want, then save as extra style for further use.

 

 

 

 

 

Reply #10 Top

I hope commonwealths get a rework to increase the value of the feature. If we made a commonwealth feedback thread I'm sure many would be happy to share how they could be improved.

Reply #11 Top

I would like to add on a 6:

6. Mod compatability. The use of Update and Replace in your xml's. I am sure I do not need to explain this more :)

 

Reply #12 Top

I would like to echo Gauntlet and Horemvore generally but emphasize two items that are key to me (and a third that would be icing on the cake).

1) Documentation: Specifically, documentation about what is possible (particularly what triggers/actions pair with which targets/scopes, etc.) would be helpful. Also documentation for what files are changed in an update.

2) Append/Replace: I'm not sure this is simple... maybe it is. Allow data with duplicate internal names in mods to replace the data with the same internal name. For example, instead of forcing me to mod the MasterTechDefs.xml (replaces the whole thing), let me just modify a single tech via internal name reference.

3) Line-item Changes: This is probably much more complicated than 2, but making it possible to override specific values within an xml would be awesome. Some of my mods change a single value or a set of related values. For example, I change the MapSizeDefs.xml to slightly increase precursor world percentages for all map sizes. Every update, I have to check to ensure this file hasn't been changed and, if it has, go back through the new file and update it with the single values. This isn't a big deal, but sometimes I forget... it would be nice not to have to remember. If a mod could somehow target a single value, for example by referencing the internal name (e.g., "Tiny") and then the desired tag (e.g., "<PrecursorPlanetPercentOfHabitable>"), this would be immensely helpful.

Reply #13 Top

If anyone here is familiar with XCOM2's mod system, it allows you to specifically undefine things from the core game files so they can be redefined with mods.

Reply #14 Top

...

4) Fix the fleet editor. It is still missing ship types (drones, namely). Custom fleet editing via XML is ALMOST unnecessary, and is very time consuming because the Fleet Editor is too flawed.
...
Adding to this, it's missing the Knight (balanced tiny) design and the titan (huge balanced) design. And the "beam support" is actually all four types of support ship and while the standard civs correctly name them tactical, beam, missile, and kinetic; custom civs call all four of them "beam support". I think there's one I'm forgetting...

Reply #15 Top

Award ships probably...

Reply #16 Top

Quoting charlando, reply 13

If anyone here is familiar with XCOM2's mod system, it allows you to specifically undefine things from the core game files so they can be redefined with mods.

This is an interesting thing.  What is the syntax for that?

Reply #17 Top

Quoting Frogboy, reply 16


Quoting charlando,

If anyone here is familiar with XCOM2's mod system, it allows you to specifically undefine things from the core game files so they can be redefined with mods.



This is an interesting thing.  What is the syntax for that?

See https://steamcommunity.com/sharedfiles/filedetails/?id=956935800

Seems they use a .NET Application for modding, but what language the files are in I didn't find out in 5 minutes of searching the web.

Reply #18 Top

Here's something that's holding me back. Custom civ dialogue seems to not often work. I set up a lot of it and it often doesn't appear in game and I don't know why. Also it's hard to test because who knows if the situation necessary for the text will ever happen in a game.

I have a civ that's whole thing is illusion and mind control so their dialogue is not really making offers so much as telling you what they want is already what is and you either accept it or become confused/angry. Without that dialogue the idea doesn't work.

Reply #19 Top

Hey there... Gauntlet's Race Mod at Galactic Civilizations III Nexus - Mods and community

 

If you download my optional file here... it's a custom flavor text that works. I added virtually every conversation possible from the main flavortext files and tested repeatedly. It might not be 100% perfect (it is hard to field test these conversations) but it is much more thorough than the in-game editor and I spent probably 6 hours testing... 

Point is... makes a good template.

 

Reply #20 Top

As I have been modding ship design templates, I suggest this ship design templates improvement:

As is there are currently two options for a given weapon type. The enhanced(resource) version, and the cheaper version. However there are often times, especially early in the game, when the enhanced version is not more powerful and thus a waste of resources. So I propose a new option that would be like "BestKinetic" which would equip the highest damage Kinetic weapon rather than being locked to resource or non-resource type. The second available Kinetic weapon has no resource cost and is twice the power of the resource based one from before. This would prevent the AI from producing expensive and sub standard ships after researching a good cheap weapon.

Reply #21 Top

Quoting iRedEarth, reply 20

As I have been modding ship design templates, I suggest this ship design templates improvement:

As is there are currently two options for a given weapon type. The enhanced(resource) version, and the cheaper version. However there are often times, especially early in the game, when the enhanced version is not more powerful and thus a waste of resources. So I propose a new option that would be like "BestKinetic" which would equip the highest damage Kinetic weapon rather than being locked to resource or non-resource type. The second available Kinetic weapon has no resource cost and is twice the power of the resource based one from before. This would prevent the AI from producing expensive and sub standard ships after researching a good cheap weapon.

that's a very good idea!  I never thought of that from an AI perspective :)

Reply #22 Top

About modding.

1. I came up with the super mod idea. That is a great idea, but it was supposed to be with the other mod idea, not instead. In two you could select between the mods under the options menu, but in three all the mods worked together. I would like an option to do both. 

2. When I suggested being able to download races via. Something like steam I didn't think that would replace the ability to download mods in three. In two the multiverse would let you download mods from the main menu. In three steam replaced the multiverse. We should be able to download the stuff we have now, and mods too. 

3. Originally we had a editor in the ultimate edition at least in something like 2.0. I think it got done away with in 2.04. in three through several responses of mine they brought the map editor, but it's not enough we need a scenario editor like we had in two.

4. I miss the example mod we had in two. We need to bring that back. The one that was a working mod. Maybe a couple this time.

5. You need to take the mods that don't work anymore, and make them work again.

6. Modding is supposed to change the mechanics of the game it doesnt. How mods work right now the game is pretty much the same.

Reply #23 Top

FWIW I just found out my earlier post in this thread is moot since we can already save ship styles from within the game (without using steam) when we just rename them.

 

 

 

 

Reply #24 Top

Someone else linked to the modding guide. Heres a quick example of the syntax. The forum is stripping out newlines so here everywhere there is a space there should be a newline

[Sharpshooter X2SoldierClassTemplate] -NumInForcedDeck=1 -NumInDeck=4 +NumInForcedDeck=0 +NumInDeck=0 [Templar X2SoldierClassTemplate] -BaseAbilityPointsPerPromotion=10 +BaseAbilityPointsPerPromotion=50 [XComGame.X2SoldierClass_DefaultClasses] +SoldierClasses=UniversalSoldier [XComGame.X2ExperienceConfig] -RequiredXp[0]=0 -RequiredXp[1]=1 -RequiredXp[2]=70 -RequiredXp[3]=160 -RequiredXp[4]=305 -RequiredXp[5]=520 -RequiredXp[6]=825 -RequiredXp[7]=1250 +RequiredXp[0]=0 +RequiredXp[1]=1 +RequiredXp[2]=70 +RequiredXp[3]=160 +RequiredXp[4]=305 +RequiredXp[5]=520 +RequiredXp[6]=825 +RequiredXp[7]=1250 +RequiredXp[8]=1800

Reply #25 Top

I would also add an easy way to quickly unpack binary XML files as well (ex: edit .faction files).