• We are currently performing site maintenance, parts of civfanatics are currently offline, but will come back online in the coming days (this includes any time you see the message "account suspended"). For more updates please see here.

Writing feature about Civ 6 modding - want to chat?

ktek78

Chieftain
Joined
Jun 17, 2018
Messages
42
[EDIT: Here it is! https://www.pcgamesn.com/civilization-6/dll-source-release-modding-community]

Hi all, I've been reaching out to various individual Civ 6 modders about the state of Civ 6 modding, with a focus on the more limited modding possibilities in Civ 6, and the challenges of modding a game when the core DLL files are largely unavailable.

I'm doing this for a feature I'm writing for a major gaming site, as I've always been fascinated by the modding in Civ games - from the Fall from Heaven mods in Civ 4 to Vox Populi in Civ V. It's what's kept these games alive for me for so long, and I can see that it's a lot tougher to get really ambitious projects off the ground in Civ 6 (or am I wrong?).

I'm looking to chat to more Civ 6 modders about this topic, about your specific mods and how you 'work around' the limits imposed on the modding side of the game. (AI mods, total overhauls etc.).

In particular, I want to hear about/from:

Anyone who's modded older Civ games to compare their modding experiences with Civ 6
Creative workarounds to the modding restrictions on Civ 6
Speculation/thoughts on why the modding is more locked down than in previous Civ games, and what you'd say to Firaxis given the chance.

I'm happy to chat here and get a discussion going, but also feel free to DM me.
 
Last edited:
Hi ktek78,

I have done a small number of mods in Civ4 and Civ6. My Civ4 mods included DLL changes. DLL modding access made it more straight forward to change core rules or AI behavior in the game. For example, my Civ4 Super Forts mod made so forts could be built outside your territory and claim ownership of surrounding plots. I also updated the AI to take advantage of this and recognize strategic places to build forts to claim resources, block chokepoints, or create a canal. In Civ6 I have seen mods that add similar functionality to forts but they do not update the AI.

Now an example of a creative workaround. I expect to release soon (hopefully this weekend) a Civ6 mod that changes the maximum loyalty value of cities in certain circumstances. For example, a city that you captured from another player will always have a -10 penalty to maximum loyalty, so its loyalty can never go over 90. If I had DLL access the mod would probably only have to change one function (GetMaxLoyalty). Since I cannot, I have to rely on Lua Events to detect whenever city loyalty has been changed. Then I compare the city's new loyalty to the maximum loyalty calculated by my own function, and subtract loyalty if necessary to bring it down to the max. I also need to update some of the UI files to call my mod's ComputeMaxLoyalty function instead of the DLL's GetMaxLoyalty, so that players will see numbers that make sense. On top of all this the game actually has two different LUA contexts - gameplay & UI. Only the UI context has the functions to get the data I need to compute the max loyalty, and only the gameplay context has the function I need to change a city's loyalty. Some special handling is required to communicate between the two contexts, but this would not be an issue in the DLL.

There is one big advantage to avoiding DLL changes - mod compatibility. To combine two mods that both change the DLL, someone has to go merge the code changes of the mods together and compile a new DLL. You can use large numbers of SQL/LUA/XML mods at the same time and not have a problem, but try to use two mods that both change the DLL and it won't work. My point is that even if the DLL were released it might not make sense for a small mod like mine to be implemented as a DLL mod due to the compatibility issues when it can be done in LUA or SQL. I have been impressed with how much modding is possible in Civ6 with their system of modifiers & requirements in the SQL, and LUA also makes some interesting things possible. However, there are some mod ideas that cannot be implemented without DLL access and I wish Firaxis would release the DLL so players could see some of those.

I'm not sure what reason Firaxis has for not releasing the DLL. Maybe they don't want to give competitors like Amplitude's Humankind access to their code. Maybe they are working on more expansions to Civ6 and are worried that free total overhaul mods would compete with them. If it is this latter reason then I think it does not hold up. Dedicated modders usually move to the latest expansion and work from there to create their mods. Thus, the mods might drive even higher sales for the expansion if the mod only works on the latest expansion. To Firaxis I would say that mods keep players interest in the game going for much longer, which leads to more people telling their friends about Civ, and leads ultimately to more sales for them - so please release the DLL!
 
Last edited:
Thanks for the response! It's much appreciated.

So to clarify, the GetMaxLoyalty function in the DLL isn't currently accessible to modding, so you have to go through all that process you mentioned to create a similar effect, right?

Can you elaborate on why the modifiers system is so good? Is this something that evolved over time? I understand that various things were previously in boolean form. Did Firaxis change this at some point to be modifiers instead? Also, I read somewhere that the game has an option to attach modifiers, but not to detach modifiers. Can you explain in layman-ish terms what that means, and why this is the case?
 
The Modifiers system was introduced as a basic element of Civ6 Vanilla from day one of the game's release. I never played or modded the (Civ5) Beyond Earth game but my understanding is a very similar system was used in that game.

The Modifiers system was adopted for two basic reasons
  1. The system is directly implemented by the game's DLL engine and is much faster in execution in real-time than any code done in lua to achieve the same end result can ever be.
    • You might find some websites that compare execution times and conclude that Python or lua is faster than a DLL execution, but none of these websites are referring to applications that have any relevance to the Civilization franchise.
    • Complicated lua scripts are slow in Civ5 and Civ6 as compared to similar logic execution via the game's core engine (ie, implemented via the DLL sourcecode).
    • Complicated lua scripts that execute a high number of times each turn are memory and execution hogs and make the game laggy. They always did so in Civ5 and still do so in Civ6
  2. Nearly all the effects that are available from the Civ6 modifiers system were implemented in Civ5 via lua scripts, which required a mod-maker to first master the lua scripting language and also to understand and master that lua system as it was implemented in Civ5. People who were never really able to wrap their heads around the lua system in Civ5 are often in Civ6 able to code via simple XML or SQL commands the very complicated logic-effects they were unable to accomplish in modding Civ5. In my opinion this is the real reason Firaxis adopted the Modifiers system for Civ6 instead of the lua-heavy system used in Civ5 -- it opens opportunities for mod-makers who are at the beginning of the modding learning-curve which were not so easily achievable in Civ5.
What the modifiers system does is allow a mod-maker to create a new effect (say, a social policy-card ability) that borrows a similar effect from for example a World Wonder. In Civ5 this would not have been possible to any great extent because World Wonders were in the "Buildings" schema and everything available therein was specifically hard-coded to work a certain way and then only in relation to completing or owning a given building. You could not port any of it over to the Civ5 "Policies" system. In Civ6 however, this is usually quite achievable. There are still some limitations as to what can be adapted from one "system" of the game into another, but these limitations are not nearly so extensive as they were in Civ5.
Also, I read somewhere that the game has an option to attach modifiers, but not to detach modifiers. Can you explain in layman-ish terms what that means, and why this is the case?
This only applies to the ability to attach modifiers via an lua script, and to detach them via an lua script. It has no relevance beyond what is and is not possible via an lua script. We can as mod-makers attach a modifier to a game-object such as a City but we cannot de-attach any modifiers via an lua script.

Modifiers are attached in their normal usage by the code within the game's SQL database, and are essentially "always" attached to the relevant game object-types. Whether a modifier is actually active upon any particular game object-type such a Unit or City or Player entirely depends on the Requirements that are specified within the game database by Firaxis or a mod-maker. The Requirements system is an entire sub-system of the basic Modifiers system, and allows a great deal of fine-tuning as to when and under what conditions the effect of a modifier is to be applied. If no Requirements are included as part of a Modifier, then the effect of the Modifier are essentially always on for the appropriate type of game-object.
 
So to clarify, the GetMaxLoyalty function in the DLL isn't currently accessible to modding, so you have to go through all that process you mentioned to create a similar effect, right?

Yes. In less technical terms, there is no way to control the max loyalty directly. The maximum is always 100 because it is controlled by the DLL and no code function exists to allow modders to change the max. My mod is giving the illusion that the max loyalty is lower than 100 by subtracting back down to my "fake max" whenever the game increases the loyalty above the fake max. This all happens between turns so players will never notice. On top of this I further the illusion by changing the UI code to call my own function for calculating max loyalty instead of the GetMaxLoyalty function from the DLL.
 
Great, thanks for that! As a non-modder myself I'm just trying to digest all that's being said, so asking for clarity in some things I say below:

What the modifiers system does is allow a mod-maker to create a new effect (say, a social policy-card ability) that borrows a similar effect from for example a World Wonder.
So to sum up this system: modifiers allow for a kind of chopping-and-changing of effects between different systems in the game that wasn't possible in Civ V (are we talking Civ V without the core DLL released though?). So between things like wonders, social policy cards... advisors? That kinda stuff...

These modifiers exist directly in a part of the GameCoreDLL that's exposed to modders, and are edited via sql commands?

In my opinion this is the real reason Firaxis adopted the Modifiers system for Civ6 instead of the lua-heavy system used in Civ5 -- it opens opportunities for mod-makers who are at the beginning of the modding learning-curve which were not so easily achievable in Civ5.
You say the Civ V system is 'lua-heavy', but it sounds like more advanced modders still really a lot on lua scripting in Civ 6. When the DLL source was released for Civ V, did that decrease the dependency on lua scripting by allowing modders to directly tinker around in the GameCoreDLL? I understand that working directly in the GameCoreDLL leads to things working much faster as complex scripts don't have to be run...

Beyond that, I'm getting the feeling from various modders that the combined issue with the modding scene at present is uncertainty around a 3rd expansion, and uncertainty around whether the GameCoreDLL will ever be released. It seems that various modders are holding fire (or stopping work on Civ 6) until there's more clarity on these two things. In a way, would it be simpler if Firaxis just came out and said 'No, we won't release the DLL source' so at least the community knows where it stands? (this question is for anyone who cares to read it - looking for plenty of input here!)
 
I have been impressed with how much modding is possible in Civ6 with their system of modifiers & requirements in the SQL, and LUA also makes some interesting things possible. However, there are some mod ideas that cannot be implemented without DLL access and I wish Firaxis would release the DLL so players could see some of those.
So would you say that, on a small scale, Civ 6 modding even improves on Civ V thanks to these systems? It's just when it comes to the bigger-scale stuff - total overhauls, scenarios, major AI changes - it can never get to Civ V's level because of the lack of GameCoreDLL access.

Put another way: if the DLL source did get released, would this then become the best Civ game to mod?
 
So to sum up this system: modifiers allow for a kind of chopping-and-changing of effects between different systems in the game that wasn't possible in Civ V (are we talking Civ V without the core DLL released though?). So between things like wonders, social policy cards... advisors? That kinda stuff...

These modifiers exist directly in a part of the GameCoreDLL that's exposed to modders, and are edited via sql commands?
Yes before the DLL source, but at that time we had more workaround possible in scripting with civ5 than civ6, so we could replace most with scripts, and once the DLL was released, anything was possible.

But as LeeS pointed out, one of the advantage of the modifier system is that it allows modders to add effects to new objects (civilizations, units, buildings, etc...) in their mods without coding anything, they just need to add a new modifier in the game's database (the "database" is build based on the content of the game's XML files, then modified based on the contents of a mod XML or SQL file)

The issue with modifiers is that it's a swapping mechanism, every elements (object, requirement, effect, ...) must already be defined in the GameCoreDLL so you can use the system.

If you have a known object (say "an unit"), and a known effect (say "being better against another type of unit"), but the requirement doesn't exist in the GameCore because it's part of a custom mechanism in your mod (say the equipment stockpile and reinforcement mechanism of my overhaul), then you'll need scripting to link everything together.

Based on the example above, if for my mod I'd like to have "bazooka" as optional equipment for non-armored melee units, which would make them better against armored units, I couldn't use the modifier system alone because "armored units" can be defined in the game's database for GameCoreDLL, "non-armored melee units" too, but there is no way (using the database) to inform it of the new equipment mechanism, that why you need a way to attach AND detach (when your unit as lost its bazooka during combats) modifiers dynamically to objects (like units, cities, players...) using scripts.

Incidentally, the September patch finally added a way to add/remove modifiers to units using scripts, so it was a hidden (back to pointing at the lack of communication) but very important addition to the modding framework of the game for overhaul mods.

You say the Civ V system is 'lua-heavy', but it sounds like more advanced modders still really a lot on lua scripting in Civ 6. When the DLL source was released for Civ V, did that decrease the dependency on lua scripting by allowing modders to directly tinker around in the GameCoreDLL? I understand that working directly in the GameCoreDLL leads to things working much faster as complex scripts don't have to be run...
If you allow me, I can put our PM exchange in that thread too, as it may bring comments from other modders too.

On that part it allowed direct coding for faster execution, yes, but also to expose more events and methods to Lua (still depending on the Lua side to exploit them)

That way you can have a common custom DLL shared between multiple mods, because as LeeS pointed too, the advantage of Lua scripting (and now modifiers) is that you can have multiple scripts (and multiple XML/SQL) files loaded from multiple mods, but only one custom DLL activated for all mods.

In a civ6 environment, a shared DLL could also add new modifiers requirements and effects.

Beyond that, I'm getting the feeling from various modders that the combined issue with the modding scene at present is uncertainty around a 3rd expansion, and uncertainty around whether the GameCoreDLL will ever be released. It seems that various modders are holding fire (or stopping work on Civ 6) until there's more clarity on these two things. In a way, would it be simpler if Firaxis just came out and said 'No, we won't release the DLL source' so at least the community knows where it stands? (this question is for anyone who cares to read it - looking for plenty of input here!)
I hope I'm wrong, but my fear is that we're past the recovery point for civ6, whatever they do.

They released the DLL source 6 months after civ4 release date, and look at all the overhaul/total conversion for that game.

They released it 18 months after civ5 release date and look at all the... ha, well, look at Vox Populi.

They've not released it 40 months after civ6 release date...
 
Last edited:
So to sum up this system: modifiers allow for a kind of chopping-and-changing of effects between different systems in the game that wasn't possible in Civ V (are we talking Civ V without the core DLL released though?). So between things like wonders, social policy cards... advisors? That kinda stuff...
  1. It does not really matter whether we are talking about the Firaxis-supplied version of the DLL packaged into for example Brave New World or the custom version of the DLL created by William Howard for his Various Mods Components system. Release of the DLL to the modding community really had no effect on this issue. What could be used for a Building was still largely restricted to use with Buildings, and what was usable for a Social Policy was still largely restricted to use with Social Policies. No customized version of a DLL would be able to get around many of these "porting" issues because the fundamental underlying structure of how Civ5 worked was simply not created to allow this sort of direct porting.
  2. What access to the DLL did was allow in Civ5 copying an effect only available within the SQL Schema of the social policy system into the SQL Schema of the Buildings systems, but each of these "ports" of an effect from one system to another in Civ5 had to directly be coded into the altered version of the DLL code.
These modifiers exist directly in a part of the GameCoreDLL that's exposed to modders, and are edited via sql commands?
  • Yes
  • The only things we cannot directly do at the moment without access to the DLL sourcecode is to add new types of effects to the Modifiers system because the list of available effect-types have to be coded into the game's DLL
    But once an Effect-Type has been added into the game's DLL sourcecode to tell the realtime game engine what to do when it sees Effect_X can almost always be used by a modder for something that the game should do when a player completes a World Wonder, or one of her Units converts another player's city to her religion, or when a player adopts a social policy card, and is not as a general rule limited by the nature of the Effect-Type to use with only one of these game mechanics.
  • Mod-Makers can theoretically as a group add 1000 or 10,000 new modifiers to the game all using Effect_X in slightly different ways (ie, how much of Effect_X to implement or under what conditions to implement Effect_X) by adding them to the game's SQL database, and the game's core operating engine handles all these additional Modifiers as an inherent ability of the expanded modding system that Civ6 has largely succeeded in adding into the Civ franchise.
  • We can as a community also add 1000 or 10,000 new modifiers to the game all using an assortment of different Effect-Types that have been pre-provided by Firaxis, and we can very often use an a single effect-type from numerous different "occurance" sources within the game. The "occurance" sources would be such things as finishing a World Wonder, Adopting a Policy Card, assigning a Governor a new promotion, building a terrain-improvement, having a unique unit gain a combat victory, etc.
You say the Civ V system is 'lua-heavy', but it sounds like more advanced modders still really a lot on lua scripting in Civ 6.
No, actually relatively few mods use lua in Civ6. For 90% of everything a mod-maker needs to achieve an effect, the modifiers system will accomplish the task so lua is not necessary.

When the DLL source was released for Civ V, did that decrease the dependency on lua scripting by allowing modders to directly tinker around in the GameCoreDLL?
No, for numerous reasons.
  1. There can only be one DLL running at one time, but there can be 10,000 mods all using lua scripts running at the same time (well, assuming you had a computer powerful enough to handle the extra computation load),
  2. DLL modding requires a knowledge of C++ level coding -- most mod-makers who worked in Civ5 did not have that level of coding capability.
  3. What the release of the DLL sourcecode did was allow people like Gedemon and William Howard to fix little annoyances within the game such as there being no lua event that fired when a player completed a Building or World Wonder. But the altered DLL did not do anything in and of itself except send out the trigger to the lua API that a Building or World Wonder has been completed. It was still up to the individual mod-maker to write an lua script that monitored whether or not the Building or World Wonder that was just completed was the one they were interested in, and then have their lua script take the needed actions to mimic/create an Effect for having completed a particular building or World Wonder.
  4. The customized versions of the DLL that were arguably most popular in Civ5 (William Howard's VMC and Gezebo's CP for Vox Populi) also cured certain annoyances with how certain SQL game-tables worked as coded within the DLL supplied by Firaxis. The most infamous of these annoyances was that Culture and Faith were very often not usable in certain game-tables, but were available to use in other gametables. But as mentioned earier, the custom DLL in and of itself did nothing -- a mod-maker still had to use these yields in their mod's XML/SQL code in the corrected game-tables in order for the improvement of the DLL code to have any effect within a player's game and that player also had to have the required DLL-altering mod enabled at the same time.
Personally I think that release or non-release of the DLL sourcecode is something of a red herring discussion whenever the current state of Civ6 modding is conducted. It was also something of a red herring issue for Civ5 for the plain and simple reason that 95% or more of mods created with use for Civ5 did not use nor were able to use nor needed an altered version of the game's DLL. Even if we get access to the Civ6 DLL, this will not fundamentally alter the nature of how Civ6 modding as a whole is implemented. Only a minor fraction of all mods that have been created or will ever be created for Civ6 will need or use an altered DLL:
  • They won't need to
  • There can only ever be one DLL version running at the same time, so requiring a given DLL mod in order for another mod to operate correctly is by definition limiting the number of users a given mod will ever have
Civ6 is also being as we speak designed and implemented to be a multi-platform game. Civ5 was essentially a PC game which was ported over for sale to users of Macs and Linux. Custom DLL is not relevant to Mac Users or Linux users or Xbox users etc. Mac Users can use Cic6 mods but my understanding is that Xbox and users of the other platform systems cannot. Mac Users could use mods in Civ5 as well but as I understand it they had to jump through a few extra hoops to get the mods running on a Mac because of Mac-poo, but no Mac User could make use of a DLL mod unless they ran their machine in PC emulation mode.
 
Beyond that, I'm getting the feeling from various modders that the combined issue with the modding scene at present is uncertainty around a 3rd expansion, and uncertainty around whether the GameCoreDLL will ever be released. It seems that various modders are holding fire (or stopping work on Civ 6) until there's more clarity on these two things.
I would say so far as there is "waiting" going on the first of these is the more impactful of the two possible reasons. Gedemon for example cannot do a lot of things he wants to be able to do with his TC mod, and therefore really wants release of the DLL sourcecode, but I don't think the average modder is really in much of a waiting mode because of DLL issues.

Another possible reason for an apparent (or actual) slow-down of Civ6 modding is that mod-makers are currently awaiting and hoping for a Patch in the near future that will cure some of the unintended consequences of the most recent patch(es). Currently from being active on several modding discords it's apparent to me that quite a few people are having numerous problems getting the Asset Previewer, Asset Editor and the Asset Cooker systems to execute since the most-recent patch, and are therefore stuck and unable to proceed.
 
Pure speculation here, but it's possible that the average civ5 and civ6 modder doesn't need the DLL source because most if those that need it stayed on civ4.
 
Incidentally, the September patch finally added a way to add/remove modifiers to units using scripts, so it was a hidden (back to pointing at the lack of communication) but very important addition to the modding framework of the game for overhaul mods.
Did Firaxis not announce that this was in the patch then? Why would they make what seem like pro-modding changes but not announce them? Just bad communication?

That way you can have a common custom DLL shared between multiple mods, because as LeeS pointed too, the advantage of Lua scripting (and now modifiers) is that you can have multiple scripts (and multiple XML/SQL) files loaded from multiple mods, but only one custom DLL activated for all mods.
This seems like it could almost be a viable technical reason for why Firaxis hasn't released the GameCoreDLL, because at least within the current restrictions all mods can work with each other, which makes the whole thing much more accessible for the casual mod user downloading them from Steam Workshop. It's perhaps more about accessibility than about depth. Viable theory?
 
Did Firaxis not announce that this was in the patch then? Why would they make what seem like pro-modding changes but not announce them? Just bad communication?
Because that addition was made to support the scenario released with the patch, not directly to fulfill a need in the modding community I suppose.

A real interrogation, is why they've done a lot of marketing on the internal WorldBuilder that they've tried to fix step by step all of 2019 (but is still broken on some aspect from the bug report I read), and AFAIK never spoken of the fact that they have made map creation possible with an external free map maker ("Tiled")

Well, they mention it in the documentation (added in the SDK at some point as I mentioned in PM), but the release of the documentation itself was silently done (but that documentation was most welcome anyway)

This seems like it could almost be a viable technical reason for why Firaxis hasn't released the GameCoreDLL, because at least within the current restrictions all mods can work with each other, which makes the whole thing much more accessible for the casual mod user downloading them from Steam Workshop. It's perhaps more about accessibility than about depth. Viable theory?
You could try to contact one of the PR guys on social media, I'm curious on the answer myself...

Another theory is cross-platform modding (maybe including consoles), DLL modding is PC limited.

Or maybe they just don't feel that the benefits of total conversions/overhaul for the franchise is not worth the resources used for a public DLL source release.

Maybe it's a 2K veto.

Maybe they just don't like me :cry:

But in truth I have no idea.
 
What access to the DLL did was allow in Civ5 copying an effect only available within the SQL Schema of the social policy system into the SQL Schema of the Buildings systems, but each of these "ports" of an effect from one system to another in Civ5 had to directly be coded into the altered version of the DLL code.
Which is basically what the modifiers system in Civ 6 does, right?

Personally I think that release or non-release of the DLL sourcecode is something of a red herring discussion whenever the current state of Civ6 modding is conducted. It was also something of a red herring issue for Civ5 for the plain and simple reason that 95% or more of mods created with use for Civ5 did not use nor were able to use nor needed an altered version of the game's DLL.
An interesting opinion, and a bit of an outlier based on the people I've spoken to so far (though admittedly I'm speaking to the more 'hardcore' modders rather than the 'average' ones on here, so I appreciate they may not account for the majority either. Why do you think that the Civ 6 modding scene hasn't taken off as much as previous ones?
 
A real interrogation, is why they've done a lot of marketing on the internal WorldBuilder that they've tried to fix step by step all of 2019 (but is still broken on some aspect from the bug report I read), and AFAIK never spoken of the fact that they have made map creation possible with an external free map maker ("Tiled")
Bit confused here. What is this map editor? It seems to be an indie project, not something by Firaxis. Can you elaborate?

Well, they mention it in the documentation (added in the SDK at some point as I mentioned in PM), but the release of the documentation itself was silently done (but that documentation was most welcome anyway)
When did the documentation come out? I thought someone - not you? - said that the documentation was pretty threadbare and should really be more detailed.

You could try to contact one of the PR guys on social media, I'm curious on the answer myself...
I know some of the PR folk at Firaxis, but their lips are officially sealed on talking about this stuff. Of course, I'll shame them for it in the article ;)
 
Bit confused here. What is this map editor? It seems to be an indie project, not something by Firaxis. Can you elaborate?

There are instructions in the documentation about how to set up Tiled and create a map with it then save it as a "tmx" file that can be imported in civ6 WorldBuilder (Everyone reading this will finally notice that "Import Map" button next time they'll launch the civ6 WorldBuilder...)

When did the documentation come out? I thought someone - not you? - said that the documentation was pretty threadbare and should really be more detailed.
Nov 15, 2017

Yes, it's originally an internal documentation and it lacks a section presenting the modifiers system and the list of functions (and their arguments) exposed by GameCore to the Lua scripts. But at least it's something.
 
An interesting opinion, and a bit of an outlier based on the people I've spoken to so far (though admittedly I'm speaking to the more 'hardcore' modders rather than the 'average' ones on here, so I appreciate they may not account for the majority either. Why do you think that the Civ 6 modding scene hasn't taken off as much as previous ones?
Personal opinion here again, but usually you mod a game that you like.

Civ5 and Civ6 targeted audience is wider, more "casual" than Civ4, and "hardcore" modders may not be part of that audience anymore.

It's clearly my case with Civ6, I've started modding it anyway because I was expecting to be able to change the parts that I don't like in it at some point, but sadly those parts (1UPT, diplomacy and AI behaviors) are the exact parts still currently locked behind the DLL.

Modders wiser than myself may have not even started to make plans with Civ6 after testing it, and that was surely a thing during the Civ4 to Civ5 transition (I don't remember if they had promised to release the DLL source for Civ5 at that time).
 
Which is basically what the modifiers system in Civ 6 does, right?
Correct
An interesting opinion, and a bit of an outlier based on the people I've spoken to so far (though admittedly I'm speaking to the more 'hardcore' modders rather than the 'average' ones on here, so I appreciate they may not account for the majority either.
Not sure whether you mean the hardcore modders are the ones on CFC or the modders on CFC are the average ones. But I would think I would tend to be categorized as one of the more hardcore modders of Civ6 even though I've only released two or three playable mods so far: my attention has been, as it was for Civ5, focused on teaching modding, modding documentation, and helping other modders to fix their broken mods.

If the definition of 'hardcore modder' is only those who want to mod the game's DLL, then I think the definition has gone awry and all the conclusions drawn therefrom will be statistically skewed in the direction of this curve-biasing.
Why do you think that the Civ 6 modding scene hasn't taken off as much as previous ones?
The learning curve for Civ6 modding is steep. The overall system is far more complicated than for Civ5. For art modding, especially 3d art modding, the learning curve is really steep.

The payoff for this steeper learning-curve and more complex overall modding system is that we are able to accomplish much more with Civ6. It took multiple years for the modding community to become adept at adding new unit-model art to the game in Civ5, it took multiple years for the modding community to create the first modded truly 3d leader in Civ5, and the modding community of Civ5 was never able to create in any meaningful sense 3d rendered World Wonder mods, nor "wonder completed" World Wonder movies.

All of this is already possible in Civ6, and has been from very early after the release of the SDK and Art Assets:
  1. Sukritact published a fully 3d leader within about a year of the release of the SDK and the Art Assets.
  2. Deliverator and others have added multiple 3d-rendered World Wonder mods, which play the correct movie when the wonder is contructed, though so far none of us have been able to crack the animations showing the various states of a World Wonder's construction, either on the main map or during the play of the wonder movie.
  3. People who could never really do much more art-wise in Civ5 than add new static though beautiful icons and leader backgrounds were able soon after the release of the SDK and Art Assets to add new units with different equipment such as shields or helmets or whatever, and by selecting different elements of different units create entirely new units that are properly 3d modelled within the game. I know this to be true because I know who a couple of these people are, and what they were able to accomplish in Civ6 as opposed to Civ5. I will not be mentioning names other than to say take a look at Anno Domini in its current state and understand that Rob made a large chunk of the new units himself, something he was never able to do on his own in Civ5.
    • I know Rob will forgive me for name naming him because he is a pal and a co-host of the current version of the modcast team and we've talked about this very thing on previous editions of the modcast.
  4. There are multiple mods that add new Districts to the game that are correctlty 3d-animated
  5. There are multiple mods that add new Buildings as Unique Replacements for standard buildings, and which are correctly 3d-animated in-game
 
If the definition of 'hardcore modder' is only those who want to mod the game's DLL, then I think the definition has gone awry and all the conclusions drawn therefrom will be statistically skewed in the direction of this curve-biasing.
There is no definition as such. It was just a shorthand way of saying 'those who want to work with the DLL (and therefore have C++ skills)'. I don't need to use that terminology in the article, and I appreciate that could trivialise the good work done by - for example - modders working with creating art/assets/units/wonders etc, where I understand the system here is more robust (if complex) than before.

Is it the that the big overhaul projects like Vox Populi, Fall from Heaven, New Dawn etc. would be much more difficult to achieve in Civ 6? That these kinds of things ARE more dependent on the DLL?

Sukritact published a fully 3d leader within about a year of the release of the SDK and the Art Assets.
Amazing work! Guess it shows the (largely untapped) potential of Civ 6 when someone really goes for it.

So from what I'm gathering, it seems that art/graphics/buildings/leaders etc, combined with the fairly flexible modifiers system which allows for relatively easy allocation of effects and stats is actually pretty good in Civ 6 (and largely independent of the need for DLL access). It seems to be more the AI/tactics/rules/total overhaul work that's been having to come up with creative workarounds to things.
 
Is it the that the big overhaul projects like Vox Populi, Fall from Heaven, New Dawn etc. would be much more difficult to achieve in Civ 6? That these kinds of things ARE more dependent on the DLL?
That would be a fair assessment. Because TC mods and Total Balance Overhaul mods generally need to be able to create entirely new systems in order to achieve their design goals.
So from what I'm gathering, it seems that art/graphics/buildings/leaders etc, combined with the fairly flexible modifiers system which allows for relatively easy allocation of effects and stats is actually pretty good in Civ 6 (and largely independent of the need for DLL access). It seems to be more the AI/tactics/rules/total overhaul work that's been having to come up with creative workarounds to things.
Again, I think that would be a fair assessment.

Although one of my mods which I have been reworking since the release of Rise and Fall (which killed off the methods I was using as work-arounds) is not a TC or Balance Overhaul yet I had to go to pretty extensive lengths in terms of work-arounds to achieve the goal of the mod in the Vanilla version of the game. DLL access would have streamlined the work on this mod, but would have created incompatibility with other mods that also re-wrote the game's DLL. But even with DLL access the mod incompatibility would still arise because what I needed to do to make the mod work in the way I desired required that I rewrite six of the game's User Interface files -- and like DLL replacements, User Interface files in both Civ5 and Civ6 adhere to what I call the Highlander Rule -->
  • in the end there can only be one operating at one time, and the survivor of the mod loading process will be the one the game uses.
But the reason I have been reworking the mod ever since the release of Rise and Fall has really nothing to do with issues regarding no DLL access requiring extensive work-arounds in my case, but rather that I am both lazy at times and I have been much more active at working on the Modding Guide I have created and am still working on.
 
Back
Top Bottom