• 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.

MHC

Second Lieutenant
74 Badges
Apr 16, 2017
147
235
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Cities: Skylines - After Dark
  • Stellaris: Apocalypse
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Conclave
  • Europa Universalis IV: Golden Century
  • Stellaris: Megacorp
  • Stellaris: Humanoids Species Pack
  • Stellaris: Galaxy Edition
  • Crusader Kings II: Jade Dragon
  • Europa Universalis IV: Cradle of Civilization
  • Pillars of Eternity
  • Europa Universalis IV: Rights of Man
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Cities: Skylines - Natural Disasters
  • Crusader Kings II: Monks and Mystics
  • Stellaris - Path to Destruction bundle
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis IV: Third Rome
  • Surviving Mars
  • Stellaris: Synthetic Dawn
  • Cities: Skylines - Green Cities
  • Imperator: Rome - Magna Graecia
  • Europa Universalis 4: Emperor
  • Stellaris: Lithoids
  • Imperator: Rome
  • Stellaris: Necroids
  • Europa Universalis IV: Dharma
  • Cities: Skylines - Campus
  • Europa Universalis IV: Rule Britannia
  • Europa Universalis IV
  • Crusader Kings III
  • Cities: Skylines - Parklife
  • Crusader Kings II: Holy Fury
  • Cities: Skylines Industries
  • Stellaris: Ancient Relics
  • Victoria 2
  • Prison Architect
  • Stellaris: Distant Stars
  • Cities: Skylines
  • Stellaris: Nemesis
  • Europa Universalis IV: El Dorado
  • Stellaris: Federations
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
As far as the game actively helping players that are doing less well, it should be possible. You would just need to figure out a proper metric to measure, such as tier or realm size. You can then have positive events that trigger only for players below a certain threshold and negative events that trigger only for players above a certain threshold. You can also have hidden events that give say +/- 20% fertility and +/- 1 health, which wouldn't be immediately noticeable, but would have a tangible effect over a longer period.

This is a really solid idea. Thanks.

That said, I'd still like the ability to do the more elaborate stuff that's going to require hooking in to an external library. (The dynamic event generation thing for example.)

It occurred to me this morning that as modable as the games are already, they could probably just let modders have access to the source-code under something like the GPL with Paradox keeping the right to incorporate any changes they like. The engine itself is pretty pointless without all of the actual game assets.
 

Cardolam

Lt. General
3 Badges
May 14, 2018
1.444
16
  • Crusader Kings III: Royal Edition
  • Crusader Kings II
  • Europa Universalis IV
Also I wonder if there still will be random events even without MTTH. Some things like a natural disaster are not triggered by actions.

Without any internal knowledge of the game, I am pretty sure random events are still possible and aplenty in the game. Otherwise there would be no game to start with. What was probably cut was the mean_time_to_happen section of the events, something Paradox event coders were not using in most circumstances for the second half of the development cycle. But those events can still be declared in the on_actions and made random there.
This is just an educated guess, but I suppose with a very high chance of being true.
 

blackninja9939

Experienced Programmer - Crusader Kings 3
Paradox Staff
78 Badges
Aug 28, 2013
2.401
7.847
  • Crusader Kings III
  • Stellaris: Federations
  • Battle for Bosporus
  • Stellaris: Nemesis
  • Hearts of Iron IV: No Step Back
  • Europa Universalis IV
  • Crusader Kings III: Royal Edition
  • Europa Universalis 4: Emperor
  • Stellaris: Necroids
  • Crusader Kings II
  • Crusader Kings II: Holy Fury
  • Imperator: Rome - Magna Graecia
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Old Gods
  • Europa Universalis IV: Rights of Man
  • Europa Universalis IV: Cradle of Civilization
  • Stellaris: Synthetic Dawn
  • Surviving Mars
  • BATTLETECH
  • Europa Universalis IV: Mandate of Heaven
  • Crusader Kings II: Monks and Mystics
  • Tyranny: Archon Edition
  • Europa Universalis IV: Rule Britannia
  • Crusader Kings II: Reapers Due
  • Hearts of Iron IV: Colonel
  • Stellaris Sign-up
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Apocalypse
  • Stellaris: Lithoids
  • Stellaris: Distant Stars
  • Europa Universalis IV: Dharma
  • Shadowrun Returns
  • Imperator: Rome Deluxe Edition
  • Prison Architect
  • Imperator: Rome Sign Up
  • Stellaris: Ancient Relics
  • Age of Wonders: Planetfall
  • Crusader Kings II: Conclave
  • Crusader Kings II: The Republic
  • Victoria 2
  • Cities: Skylines
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Way of Life
  • Stellaris
  • Mount & Blade: Warband
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Sunset Invasion
Is there a reason that the engine only supports static changes via the Paradox scripting language? I get that full plug-in support is too much to ask, but I'd really like a way to run another program asynchronously that could read the game state, adjust the game scripts on the fly, and run console commands (to trigger events or change the game state).

There are mods I'd like to try making that aren't really feasible without that capability. E.g. I'd like to try generating events dynamically using computational narrative intelligence.

On a more basic level, I'd like to be able to generically keep things "interesting" or otherwise have the game respond to what the players are doing in fairly sophisticated ways. I can go into the console manually and make changes to do this temporarily. But there's no generic way to do a "Mario Kart" type thing in multiplayer where the game actively helps weaker players and hinders stronger ones.

Is this something that is even possible to add in principle? (Or is there a way to do this sort of thing already that I don't know of?)

This is a really solid idea. Thanks.

That said, I'd still like the ability to do the more elaborate stuff that's going to require hooking in to an external library. (The dynamic event generation thing for example.)

It occurred to me this morning that as modable as the games are already, they could probably just let modders have access to the source-code under something like the GPL with Paradox keeping the right to incorporate any changes they like. The engine itself is pretty pointless without all of the actual game assets.

I mean the main reason is because it would be a huge undertaking on our part with no benefit for the people internally who work with it of a dubious benefit to modders imo.

One of the big draws of our script is that is is, generally, quite easy to use. It is all in plain text so only requires that you have a text editor and understand the game concepts, which one will from playing, to be able to then script something. You do not need any knowledge about memory management, thread based and server based synchronization or a more formal programming language syntax.

Like sure every now and then you will hit a wall if you try to do something outside the confines of the script system in which case those with computer science and programming experience will be annoyed and wish they could just do what they wanted using a real language, but I am doubtful of that being too much of a negative and people invariably mange to find some work around for their problem.

Would be cool, but definitely too much work to really make it viable imo
 

MHC

Second Lieutenant
74 Badges
Apr 16, 2017
147
235
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Cities: Skylines - After Dark
  • Stellaris: Apocalypse
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Conclave
  • Europa Universalis IV: Golden Century
  • Stellaris: Megacorp
  • Stellaris: Humanoids Species Pack
  • Stellaris: Galaxy Edition
  • Crusader Kings II: Jade Dragon
  • Europa Universalis IV: Cradle of Civilization
  • Pillars of Eternity
  • Europa Universalis IV: Rights of Man
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Cities: Skylines - Natural Disasters
  • Crusader Kings II: Monks and Mystics
  • Stellaris - Path to Destruction bundle
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis IV: Third Rome
  • Surviving Mars
  • Stellaris: Synthetic Dawn
  • Cities: Skylines - Green Cities
  • Imperator: Rome - Magna Graecia
  • Europa Universalis 4: Emperor
  • Stellaris: Lithoids
  • Imperator: Rome
  • Stellaris: Necroids
  • Europa Universalis IV: Dharma
  • Cities: Skylines - Campus
  • Europa Universalis IV: Rule Britannia
  • Europa Universalis IV
  • Crusader Kings III
  • Cities: Skylines - Parklife
  • Crusader Kings II: Holy Fury
  • Cities: Skylines Industries
  • Stellaris: Ancient Relics
  • Victoria 2
  • Prison Architect
  • Stellaris: Distant Stars
  • Cities: Skylines
  • Stellaris: Nemesis
  • Europa Universalis IV: El Dorado
  • Stellaris: Federations
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
I really appreciate the reply blackninja9939!

I totally get where you are coming from. That's why the GPL thing occurred to me, but even that's an undertaking. So I get it.

But hopefully this will plant a seed. If I can think of some cool uses for dynamic event generation, ya'll can probably think of a dozen more. So maybe it will make its way into the scripting system eventually. (And you guys already do some stuff in Lua; so maybe it's already doable and just not currently exposed to modders due to the complexity.)

FWIW, the narrative AI work I've seen is impressive stuff. I immediately thought of CKII when I saw it. Your games are a much better use-case for the tech than the RPG stuff they are currently trying it with. (Hence my wanting to try adding it via a mod.) I've gotten to know a few of the major researchers. So if ya'll ever want to look into the tech for yourselves, message me and I'll make an introduction.

P.S. I occasionally visit friends in Stockholm. And I love to meet other smart people doing interesting work. So next time I'm in town, let's meet over drinks or something. I think ya'll are pretty close to my friend's hair salon, Hårgänget. And that denim store down the street, Second Sunrise, is to die for.
 

Dragatus

Knight of the Toxic God
35 Badges
Jul 29, 2015
6.448
6.234
  • Crusader Kings III
  • Stellaris
  • Crusader Kings II
  • Age of Wonders III
As a hacky workaround, how much trouble would it be to add a script command to create a save with a specific name and a script command to re-load a specific game file? That would allow for having an external program that can read a specific save to get information about the game state and generate events that it puts into a specific event file that the game re-reads to get updated information. A clever way of implementing this would be to hide the inevitable speed bump with an event window that pauses the game anyway. If you make the game first read the file and then save the game on a yearly pulse that will give the external program a game year's worth of time to do it's thing.

Beyond hacks to make dynamic events, reloading game files on the fly is something that could significantly speed up the testing of events, decisions, and so forth, so it would benefit modders in general.
 

MHC

Second Lieutenant
74 Badges
Apr 16, 2017
147
235
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Cities: Skylines - After Dark
  • Stellaris: Apocalypse
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Conclave
  • Europa Universalis IV: Golden Century
  • Stellaris: Megacorp
  • Stellaris: Humanoids Species Pack
  • Stellaris: Galaxy Edition
  • Crusader Kings II: Jade Dragon
  • Europa Universalis IV: Cradle of Civilization
  • Pillars of Eternity
  • Europa Universalis IV: Rights of Man
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Cities: Skylines - Natural Disasters
  • Crusader Kings II: Monks and Mystics
  • Stellaris - Path to Destruction bundle
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis IV: Third Rome
  • Surviving Mars
  • Stellaris: Synthetic Dawn
  • Cities: Skylines - Green Cities
  • Imperator: Rome - Magna Graecia
  • Europa Universalis 4: Emperor
  • Stellaris: Lithoids
  • Imperator: Rome
  • Stellaris: Necroids
  • Europa Universalis IV: Dharma
  • Cities: Skylines - Campus
  • Europa Universalis IV: Rule Britannia
  • Europa Universalis IV
  • Crusader Kings III
  • Cities: Skylines - Parklife
  • Crusader Kings II: Holy Fury
  • Cities: Skylines Industries
  • Stellaris: Ancient Relics
  • Victoria 2
  • Prison Architect
  • Stellaris: Distant Stars
  • Cities: Skylines
  • Stellaris: Nemesis
  • Europa Universalis IV: El Dorado
  • Stellaris: Federations
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
As a hacky workaround, how much trouble would it be to add a script command to create a save with a specific name and a script command to re-load a specific game file? That would allow for having an external program that can read a specific save to get information about the game state and generate events that it puts into a specific event file that the game re-reads to get updated information. A clever way of implementing this would be to hide the inevitable speed bump with an event window that pauses the game anyway. If you make the game first read the file and then save the game on a yearly pulse that will give the external program a game year's worth of time to do it's thing.

Beyond hacks to make dynamic events, reloading game files on the fly is something that could significantly speed up the testing of events, decisions, and so forth, so it would benefit modders in general.

I love this idea.
 

2333Vladimir

Second Lieutenant
3 Badges
Mar 9, 2019
101
18
  • Crusader Kings II
  • Crusader Kings III
  • Crusader Kings III: Royal Edition
It would be too marvelous if I can put Saxon faces with German hairstyles & beard pattern together without any visible flaw.
 

Karl244

Major
100 Badges
Sep 3, 2012
510
429
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Call to arms event
  • For the Motherland
  • Hearts of Iron III
  • Hearts of Iron III: Their Finest Hour
  • Heir to the Throne
  • March of the Eagles
  • Europa Universalis IV: Mare Nostrum
  • Europa Universalis IV: Res Publica
  • Crusader Kings II
  • Semper Fi
  • Sengoku
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
  • Rome: Vae Victis
  • Stellaris: Synthetic Dawn
  • Europa Universalis IV: Third Rome
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Art of War
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Darkest Hour
  • Dungeonland
  • Europa Universalis III
  • Europa Universalis III: Chronicles
  • Europa Universalis III Complete
  • Divine Wind
  • Arsenal of Democracy
  • Europa Universalis IV: Conquest of Paradise
  • Cities: Skylines - Snowfall
  • Stellaris
  • Crusader Kings II: Conclave
  • Europa Universalis IV: Cossacks
  • Cities: Skylines - After Dark
  • Hearts of Iron IV Sign-up
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Victoria 2 Beta
  • Europa Universalis IV: El Dorado
  • Hearts of Iron IV: No Step Back
  • Hearts of Iron IV: Cadet
  • Europa Universalis III Complete
  • Europa Universalis III Complete
As a hacky workaround, how much trouble would it be to add a script command to create a save with a specific name and a script command to re-load a specific game file? That would allow for having an external program that can read a specific save to get information about the game state and generate events that it puts into a specific event file that the game re-reads to get updated information. A clever way of implementing this would be to hide the inevitable speed bump with an event window that pauses the game anyway. If you make the game first read the file and then save the game on a yearly pulse that will give the external program a game year's worth of time to do it's thing.

Beyond hacks to make dynamic events, reloading game files on the fly is something that could significantly speed up the testing of events, decisions, and so forth, so it would benefit modders in general.

Problems will arise when there are people who love to make many external files and then start to forget to code efficiently. I can imagine that people with some holder hardware are going to have a really bad time if this becomes the standard.
 

Dragatus

Knight of the Toxic God
35 Badges
Jul 29, 2015
6.448
6.234
  • Crusader Kings III
  • Stellaris
  • Crusader Kings II
  • Age of Wonders III
No doubt that is true. But I don't think external programs will ever become the mainstream of modding as they won't have the same distribution support as regular mods, which will be distributed through the Steam workshop or PDX own mod repository. I see no harm in making it possible for those who really want it though.
 

MHC

Second Lieutenant
74 Badges
Apr 16, 2017
147
235
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Cities: Skylines - After Dark
  • Stellaris: Apocalypse
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Conclave
  • Europa Universalis IV: Golden Century
  • Stellaris: Megacorp
  • Stellaris: Humanoids Species Pack
  • Stellaris: Galaxy Edition
  • Crusader Kings II: Jade Dragon
  • Europa Universalis IV: Cradle of Civilization
  • Pillars of Eternity
  • Europa Universalis IV: Rights of Man
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Cities: Skylines - Natural Disasters
  • Crusader Kings II: Monks and Mystics
  • Stellaris - Path to Destruction bundle
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis IV: Third Rome
  • Surviving Mars
  • Stellaris: Synthetic Dawn
  • Cities: Skylines - Green Cities
  • Imperator: Rome - Magna Graecia
  • Europa Universalis 4: Emperor
  • Stellaris: Lithoids
  • Imperator: Rome
  • Stellaris: Necroids
  • Europa Universalis IV: Dharma
  • Cities: Skylines - Campus
  • Europa Universalis IV: Rule Britannia
  • Europa Universalis IV
  • Crusader Kings III
  • Cities: Skylines - Parklife
  • Crusader Kings II: Holy Fury
  • Cities: Skylines Industries
  • Stellaris: Ancient Relics
  • Victoria 2
  • Prison Architect
  • Stellaris: Distant Stars
  • Cities: Skylines
  • Stellaris: Nemesis
  • Europa Universalis IV: El Dorado
  • Stellaris: Federations
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
No doubt that is true. But I don't think external programs will ever become the mainstream of modding as they won't have the same distribution support as regular mods, which will be distributed through the Steam workshop or PDX own mod repository. I see no harm in making it possible for those who really want it though.

FWIW, if you went slightly further and had some flags for only writing pieces of the save file instead of the whole thing, you'd literally have what I originally asked for.

I doubt anyone is going to make a major mod that requires external programs, but it would make *developing* mods and scenarios a lot easier. (Because conceptually that's what is happening: the AI is looking at your game situation, seeing that you need the mod to do something here, and then providing it for you.)

I mostly make mods when my friends and I want to try something weird in a multi-player game but can't find an existing option.

It's conceptually pretty easy to say "I want to change the game to explore X" but actually making all of those changes by hand can be tedious and error-prone. And there's also a limit to what you can change for a throw-away thing you slapped together in an hour or so. (Especially if you are new at it.)

That's why I'd like some tool that makes this easier/better/faster. I've thought about trying to make a bunch of structural regular expressions (for vis) that you could string together to automate changing the game scripts, but it seems daunting and impractical.

So I'd like to try using newer AI techniques. But I can't build a full AI library in the scripting code. I can't use an existing library to auto-generate content without already having a model for the entire game either. And even if I could, doing it dynamically means I don't need advanced notice and lots of forethought.

Ideally, it would work so well that it wasn't just producing one-offs, but things worth uploading as normal mods or scenarios; and that the devs of the major mods could use to create content during development.

Caveat: In theory, anything the AI comes up with could be turned into game script for a normal mod; but some things might require more entries than the game can handle, or the scripts might be too complicated for the game to run efficiently.

In other situations, this doesn't usually crop up in practice, but if there was something cool that required a companion program, we'd have a pretty solid idea of how to change the script language to fix it.
 

Andrelvis

The Last Ghibelline
76 Badges
Apr 30, 2006
5.598
9.962
  • 500k Club
  • Majesty 2 Collection
  • March of the Eagles
  • Europa Universalis III Complete
  • Europa Universalis IV: Res Publica
  • Victoria: Revolutions
  • Rome Gold
  • Semper Fi
  • Sengoku
  • Victoria 2
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
  • Rome: Vae Victis
  • Europa Universalis III Complete
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Pre-order
  • Rise of Prussia
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Conclave
  • Europa Universalis IV: Mare Nostrum
  • Stellaris
  • Stellaris: Galaxy Edition
  • Crusader Kings III
  • Europa Universalis III Complete
  • Crusader Kings II
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Darkest Hour
  • Deus Vult
  • Europa Universalis III
  • Hearts of Iron II: Armageddon
  • Divine Wind
  • Europa Universalis IV
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Call to arms event
  • For The Glory
  • For the Motherland
  • Hearts of Iron III
  • Hearts of Iron III: Their Finest Hour
I mean the main reason is because it would be a huge undertaking on our part with no benefit for the people internally who work with it of a dubious benefit to modders imo.

One of the big draws of our script is that is is, generally, quite easy to use. It is all in plain text so only requires that you have a text editor and understand the game concepts, which one will from playing, to be able to then script something. You do not need any knowledge about memory management, thread based and server based synchronization or a more formal programming language syntax.

Like sure every now and then you will hit a wall if you try to do something outside the confines of the script system in which case those with computer science and programming experience will be annoyed and wish they could just do what they wanted using a real language, but I am doubtful of that being too much of a negative and people invariably mange to find some work around for their problem.

Would be cool, but definitely too much work to really make it viable imo

The way Firaxis did for Civilization IV worked really well IMO. They put the game logic in its own DLL (separate from the rendering engine and the like), and then released the source to that DLL. That opened up a huge amount of possibilities for modding the game, and the community benefitted a lot from it.
 

MHC

Second Lieutenant
74 Badges
Apr 16, 2017
147
235
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Cities: Skylines - After Dark
  • Stellaris: Apocalypse
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Conclave
  • Europa Universalis IV: Golden Century
  • Stellaris: Megacorp
  • Stellaris: Humanoids Species Pack
  • Stellaris: Galaxy Edition
  • Crusader Kings II: Jade Dragon
  • Europa Universalis IV: Cradle of Civilization
  • Pillars of Eternity
  • Europa Universalis IV: Rights of Man
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Cities: Skylines - Natural Disasters
  • Crusader Kings II: Monks and Mystics
  • Stellaris - Path to Destruction bundle
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis IV: Third Rome
  • Surviving Mars
  • Stellaris: Synthetic Dawn
  • Cities: Skylines - Green Cities
  • Imperator: Rome - Magna Graecia
  • Europa Universalis 4: Emperor
  • Stellaris: Lithoids
  • Imperator: Rome
  • Stellaris: Necroids
  • Europa Universalis IV: Dharma
  • Cities: Skylines - Campus
  • Europa Universalis IV: Rule Britannia
  • Europa Universalis IV
  • Crusader Kings III
  • Cities: Skylines - Parklife
  • Crusader Kings II: Holy Fury
  • Cities: Skylines Industries
  • Stellaris: Ancient Relics
  • Victoria 2
  • Prison Architect
  • Stellaris: Distant Stars
  • Cities: Skylines
  • Stellaris: Nemesis
  • Europa Universalis IV: El Dorado
  • Stellaris: Federations
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
Has anyone here done modding for games using the newer engine? If so, is there any improvement in modularity?

Like right now, it would be pretty difficult to mix and match elements from CK2+ and HIP. But I can see how you could change things to make it much easier to combine elements and make your own mods more compatible with other people's.

Is that something the newer engine provides?

The way Firaxis did for Civilization IV worked really well IMO. They put the game logic in its own DLL (separate from the rendering engine and the like), and then released the source to that DLL. That opened up a huge amount of possibilities for modding the game, and the community benefitted a lot from it.

Per above, if they can add the "command to save things to a file" and "command to reload game file", that'd resolve my specific problem.

But also per above, @blackninja9939 said that having the game logic in its own library was too much work and not in the cards.

I'd be willing to kickstart it, especially if the stretch goals would make it happen for all of the current Paradox games. (It'd be cool to see what people could come up with by combining elements from all of them in their mods.)

It could be a good way for Paradox to justify any refactoring or otherwise paying down any technical debt.

But the devs say it isn't happening, I'm not going to hold my breath or harass them about it.
 
Last edited: