• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

CK2 Dev Diary #49: Mods and mod telemetry

Good evening, everyone. I’m Magne “Meneth” Skjæran, one of the programmers on CK2. In the past I’ve written dev diaries about modding, optimization, and quality of life improvements, and I'm writing this somewhat belated (due to technical issues) dev diary.

Today, I return to the topic of modding, and how we work to make life easier for modders. As a former modder, this is a topic I care quite a lot about.

If you’re anything like me, what you really want is statistics. How many people use mods, and which mods are the most popular. Luckily I come armed with exactly that.

As you might know, whenever you play CK2, the game collects some pieces of information about your setup. Things like what version of the game you’re playing, if you’re playing single player or multiplayer, what mods you’re using, and similar. This is all aggregated so that we can see overall trends and consider what areas might need some extra attention.

For mods, the main thing the telemetry provides is how many people use mods overall, and what mods these people use. My data will all be from users who played yesterday; anyone who during yesterday started the game with one or more mods is counted exactly once as a “mod user”, and counted once for each mod they used.

All told, 42% of everyone who played the game yesterday was using at least one mod. This could be anything from a small UI tweak, to a total conversion mod.
On average, anyone using a mod was using 4.24 mods. Once you start using mods, most people are not content with just one.
Further, here’s the 20 most popular mods, and how many percent of mod users (not overall users; multiply by 42% to get that number) that use them:
  1. A Game of Thrones - 45.4%
  2. Ruler Designer Unlocked - 30.2%
  3. Your Personal Castle - 24.9%
  4. Sketchy Cheat Menu - 18.1%
  5. CK2 Russian Localisation - 13.7%
  6. Historical Immersion Project - 11.3%
  7. A Sensible New Family - 10.7%
  8. CK2Plus - 10.6%
  9. Bigger Interface - 9.0%
  10. Purchase Claims - 8.8%
  11. Patrum Scuta - 8.6%
  12. Unique Buildings - 8.4%
  13. Novus Graphicus - 8.3%
  14. A Revolutionary Borders Mod - 8.0%
  15. Shattered World - 7.5%
  16. Korean SingleByte Patch - 7.2%
  17. CK2Plus - India - 7.1%
  18. Damascus Steel + Ancient Swords - 6.5%
  19. Better Looking Garbs - 6.3%
  20. Abdication - 6.2%
Combined, these 20 mods represent 60% of all mod usage. Since people who use mods on average use more than just one, it also adds up to more than 100% of mod users.

That AGoT comes first is unlikely to be a surprise to anyone; it has long been the most popular CK2 mod. Fun fact: AGoT is so popular, that its most popular start date is the 4th most popular overall startdate, after 769, 1066, and 867.

What is more interesting is that in the top 5 mods, two are “cheat” mods. Since they can’t be used in multiplayer unless everyone has them enabled, the idea of “cheating” doesn’t make all that much sense of course, and should instead be seen as achieving more of a sandbox experience than what the vanilla game provides.

Beyond that, there’s two localisation mods in the top 20; one for Russian language and one for Korean. The sheer amount of work that goes into translating an entire game is impressive, and it is great to see the modders’ work recognized to such an extent. Localisation modding is actually something we recently improved; in the 2.7 patch we moved custom localisation out of the “common” folder and into the “localisation” folder, meaning that it is now possible to use the custom localisation system without changing the checksum. This is especially important for languages with more complex grammar than English, such as the gender rules in French. The official French translation has for a while made use of custom localisation to change a number of words based on whether they’re referring to men or women, but doing similar in a mod would mean changing the checksum, making it impossible for the mod’s users to obtain achievements and play multiplayer with people not using the mod. This is something I know the Russian localisation mod has had problems with, and is a change I hope will lead to even better localisation mods.

There’s also a number of graphics and interface mods, plus several other mods that change the graphics or UI as a part of a larger package (E.G., the optional revamped interface in the Historical Immersion Project). People have done a lot of interesting things with the UI, but I know from experience it can often be somewhat tedious work. In the hopes of making it a bit less tedious, we’re making a console command that’s before only worked in the debug version of the game (which is not publicly available) available to everyone in a future patch (not 2.7.1). This console command is simply called “guibounds”, and what it does is that whenever you hover over a UI element, the area it covers is highlighted, and the name of the element, its size, and the file and line it is defined on is shown. This functionality is actually available in the release version of the game right now in a somewhat obscure fashion: if you try to open the console while on the main menu, it’ll be enabled. However, once you get into the campaign there’s no way to actually disable it since the console command isn’t available.
Below is an image showing what the guibounds functionality does:
6va1zOmzsv2jlOkOICKd7p9r7PW1RH9fZRdLCMjbqG6EB8RmfYNdUKvfsWDbyxO6EaNeFQwXjFgJ9M7cwiAp1hZ84Zkrn_ts2K2mo9KTDPU9r0pNeJcjtWVl43NE9nHutqggErii


There’s also a few large mods beyond AGoT in the top 20. CK2Plus even manages to take two spots on the list by including a mod that toggles the existence of India, while being pretty much tied with the Historical Immersion Project; some days HIP leads, other days CK2+ does.
The rest of the mods are smaller, adding small pieces of focused functionality.
Both types of mods we’re always trying to help by making the game more moddable. One changelog entry I think a lot of modders will find useful is this, which will be included in 2.8:
- Most effects and triggers that take a number can now take a variable name instead, and will grab the variable from the current scope. E.G., "wealth = test_variable"
This should allow mods to do far more interesting things with variables than is currently possible.

As a final note, modding is something we on the CK2 team take very seriously. Mods have the ability to add a lot of interesting alternative ways to play the game, and therefore helps keep the game fresh even for veteran users. In general, improvements to moddability also opens up new possibilities for our content designers, or can save them time by making their work simpler.
We’re therefore constantly considering how we can ensure new additions to the game are moddable, and we often go back and tweak existing functionality to open it further to modding.
We would love to hear your thoughts on what we could do better in this regard.
 
A hard coded element of the marriage AI (which doesn't need to be hard coded) currently makes it so that if matrilineal marriages are disabled, women will still be reluctant to marry people of a different dynasty. It would be very nice if that were disable-able in the defines or elsewhere.

Similarly, being able to impact the weight on other marriage values (like political concerns) would be amazing. While many weights make sense in vanilla, in a mod they may not. It would be very nice to be able to change (or at least toggle off) some of these weights.

Similarly, the weights on papal actions like excommunication and marriage annulment.
 
9. Bigger Interface - 9.0%

Meneth, you just made my day!
I would never have guessed that my mod would ever be this popular.

A big thanks to PDS for their awesome support for the modding community.
 
Very interestign data, thank you !

One thing that could be done for mod makers and users (espcially total conversions) is removing the hard coded society limit of one at the same time.

(EDIT : @KamufN Your mod is magic, I would use it with every other conversion mod if I could)
 
One thing that could be done for mod makers and users (espcially total conversions) is removing the hard coded society limit of one at the same time.
Major data structure changes like that are unlikely to happen unless vanilla has a need for it, I'm afraid. There's code all over the place that assumes characters can belong to at most one society.
 
Major data structure changes like that are unlikely to happen unless vanilla has a need for it, I'm afraid. There's code all over the place that assumes characters can belong to at most one society.

Well, too bad, I'm sure they will figure a way around that eventually. I had to ask, thank you for replying ! :)
 
@Meneth ,

Will it be possible for you all to integrate the moddability of all versions of Mercenaries and expand their modability?

Also, how about expanding and integrating the moddability of retinues so as to allow easy assignment of multiple cultural retinue and other types of retinues?

Defining their size and even their cost?
 
Part of the reason for this is likely that mods are still getting updated for 2.7. Another aspect is probably that some users go back to mods after having tried out the new vanilla changes for a while.
Absolutely. I have tried new vanilla feature and now am waiting for a 2.7 version of Geheimnisnacht.
 
Absolutely. I have tried new vanilla feature and now am waiting for a 2.7 version of Geheimnisnacht.

OMG I'm so beyond excited for Geheimnisnacht to be M&M compatible. I think I end up checking the forum page once a day to see if there's any news. Has to be soon now, I would think, what with the new additions in 2.7.1 they were probably waiting for.

I can't believe that one didn't make the list, can't remember if it's on Steam, but if not, it would 100% explain why. I found it by accident while lurking the PDX forums.
 
One thing I would like to request as modder: allow dependent submods to overwrite single events in the main mod instead of whole files. This would make development and maintaining a lot simpler.
 
I think that the current level of modding support is very good, and it is always great to see the large number of new modding features or new moddable features that have been added with a patch. The only thing I can think of that could be improved is that it would be nice if we got a bit more continuous updates about modding features being added in the next patch than we currently do.

We get some updates right now, but the "Captain's Log" thread updates relatively infrequently and we currently tend to get a huge chunk of patch notes at once very close to release, and, while these updates are helpful, it could possibly be useful to be able to ask questions about features as they are added and to possibly ask for related features to be added in the same patch if we are lucky. While modding features related to unannounced DLC features obviously cannot be announced ahead of that feature being revealed, and not every requested modding feature related to something would be posible to add (due to time constraints or other reasons), this could make things easier for modders as some modding features that normally would be discovered to be needed after something was added possibly could be discovered before release and, if discovered early enough, might be added in the same patch instead of in a later patch.
 
I'm honestly surprised Ruler Designer is that high (I didn't think anyone really used the ruler designer that much). I would have figured if anything HIP and CK2 would have had that percentage.
That mod has the advantage of being extremely simple and can be updated in a few minutes after every patch, many people will likely have downloaded it years ago and never turned it off.
 
Cool.
While I'm still feeling uncomfortable with forced non-opt-out data collection, I'm fine if they are collected somewhat reasonably (e.g. data about mod usage/game rule usage as opposed to tracking the entire gameplay session). Thus, I am fine with this data, it's interesting and sensible.
I'm most happy that it confirms my suspicion that HIP and CK2+ were on about the same level of usage, so the never-ending popularity debate can now be stopped with some official data :)
 
Major data structure changes like that are unlikely to happen unless vanilla has a need for it, I'm afraid. There's code all over the place that assumes characters can belong to at most one society.
Well, I hope there is someone at Paradox taking notes on all these tiny bits that could have been made better (The Republic, I am looking at you), so these mistakes can all be avoided in CK3 ;)
 
I'm very happy that Patrum Scuta has become popular, since I have a long time been annoyed by random CoAs, and I have been wanting more CoA DLCs.
Naturally, I subscribed to it when I first saw it a month ago.
 
Now, if only you would do the right thing and increase the workshop size limits so Gehimisnacht could get back on there, and we would prove that we truly are the best!