A few weeks ago, when JFD asked me if I wanted to write an article about the "enduring frustrations of civ6 modders", I thought "ho, yes, that's an easy one, and I'll even be able to vent a bit!"
Because I am frustrated modding civ6, that's a fact. Yes, it really has been made from the start with modding in mind, there is no doubt about that, and yes, I still believe in its potential for massive mods, but on the other hand there are a few things I'd really like to do now (and would have been able to do with civ5 and civ4 at this stage of their development cycle) but have to postpone again and again until more methods are available for gameplay modding.
Sometime I really feel like moving away and don't look back. But then I have a "just one more patch to decide" syndrome.
So, yes, I was going to vent here, until a few days ago, when Humankind was announced and my first reflex was to try to learn about the modding capabilities of the previous games made by Amplitude Studios.
Because competition is good for us, and hoping that this new "historical" 4X would push Firaxis to accelerate the release of the DLL source code for civ6, I had a quick look at their games forums, at the workshops of the Endless series, and I asked around what other modders knew on the subject. And was disappointed by the answers.
And now I'm feeling a bit like a child wanting too much, too fast, but, hey, I suppose I just have to blame civ4 for having spoiled me on that aspect !
I still think this may give an incentive for Firaxis to further open gameplay modding for civ6, as an additional selling point, but I'll be surprised (in a good way) if there is a competition on the modding capabilities side.
Anyway, at this point, nothing has changed about my frustrations. It may even make things worst if Humankind provide big features I'd love to add in a Civilization game (and by the look of it, it will) while I can't mod them in civ6 on one side and at the same time can't mod basic but mandatory stuff for my gaming pleasure in Humankind...
What has changed is that I can now take a step back, a deep breath, and, instead of making a spoiled child tantrum, simply provide a small list of fourth points that are frustrating me with civ6 modding.
First, the most obvious and already mentioned point: it's limited compared to civ4 and civ5 because the DLL source code controlling the gameplay aspect has not been released.
As a reminder, the source code does not only allow core modifications outside the scope of the methods exposed to Lua scripting, it also provides a better debugging framework, is faster if you can code your mod's gameplay features in c++, and, finally, it's a direct documentation on how to mod everything that's already opened to modding (except the graphic/sound modding)
I would have listed the lack of documentation here BTW, but a good portion (graphic, UI, ...) has been released a few months back in the SDK folder and is sometime updated with new sections.
Second point, the one that makes every modder shivers in anticipation: I call it the Fatal Error Patch, the one you feel has been designed to specifically target and kill your most precious mod.
A special thought for UI modders here: all patches do that to them. And I know your pain guys, as since Gathering Storm, I've that feeling too thanks to every new patch breaking something in an unexpected and sometime very creative way in YnAMP.
Of course it's normal for patches to break mods, but there is two kind of mod-breaking patch: the good one and the bad one.
The good one is simply solved, you just need to identify the changes in the code (I've setup a local git on the game's folder to check those as we don't have full patch notes) and update your mod (sometime a 3 way merge is enough), and voilà, everything is back to normal.
The bad one is, well, bad. It either introduces a new bug or it makes a hardcoded change to a feature you were using. Sometime you can find a way to circumvent the issue, but it's time consuming. And sometime you simply can't.
I don't want to go into the details, but a short and partial list of things that have turned all my modding time into support time since February: separating LuaEvents from gameplay and UI context, heavy instability on larger maps, removing an exposed method from the vanilla DLL used to change plots ownership (fixed in a later patch, thanks), no method to set river IDs for custom maps, crashes to main menu without logged error if any AI civ or CS is not given a starting position, ...
That point about patches breaking mod is deeply linked to the first, I mean, when you know that you could fix a "bad patch" issue in a few minutes if you had access to the source code and it takes instead hours or even days of "free" time to do it (when you can do it, else it's months or years before the official patch fixing the issue. I'm still waiting for the one bringing back early 2017 stability on very large map), let me tell you, "frustration" is the extremely polite way to express your feelings at those times.
Third, the (general) lack of communication, and more specifically the lack of a public road map relative to modding. I mean I wouldn't have spend time to help code things and make tutorials about making mods to load a custom map if I had knew that the WorldBuilder was going to be updated to do just that for example.
Fourth, something mentioned already, but that you may not expect to be listed here: civ6 has a great potential for modding.
Let me explain, it's quite simple: it's very, very frustrating to see that potential, to think how you could use it creatively but are stopped because you can't truly exploit it. Yet.
Maybe I have to wait a little bit longer, yes, surely, just one more patch...