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

Dsingis

Lt. General
97 Badges
May 8, 2014
1.305
2.289
  • Europa Universalis 4: Emperor
  • Stellaris: Federations
  • Surviving Mars: Digital Deluxe Edition
  • Stellaris: Nemesis
  • Hearts of Iron IV: By Blood Alone
  • Hearts of Iron IV: No Step Back
  • Europa Universalis IV
  • Crusader Kings III
  • Battle for Bosporus
  • Stellaris: Necroids
  • Europa Universalis IV: Rights of Man
  • Tyranny - Bastards Wound
  • Hearts of Iron IV: Death or Dishonor
  • Europa Universalis IV: Mandate of Heaven
  • Crusader Kings II: Monks and Mystics
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Tyranny: Archon Edition
  • Age of Wonders III
  • Hearts of Iron IV: Colonel
  • Hearts of Iron IV: Cadet
  • Stellaris Sign-up
  • Crusader Kings II
  • Stellaris: Galaxy Edition
  • Stellaris
  • Crusader Kings II: Conclave
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Dharma
  • Imperator: Rome - Magna Graecia
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Imperator: Rome Sign Up
  • Imperator: Rome Deluxe Edition
  • Europa Universalis IV: Golden Century
  • Shadowrun Returns
  • Hearts of Iron IV Sign-up
  • Stellaris: Distant Stars
  • Cities: Skylines - Parklife
  • Europa Universalis IV: Rule Britannia
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Cradle of Civilization
  • Cities: Skylines
  • Europa Universalis III Complete
  • Europa Universalis III Complete
  • Victoria 2
  • Warlock: Master of the Arcane
  • Europa Universalis IV: El Dorado
I'm no programmer, and I'm no game designer, so if this is a stupid question, excuse me :D

But, I've heard the game devs say, that CK2's performance issues, and instability comes from the engine being so overloaded with features, which was never intended.


Now, I was asking myself, is it theoretically possible to update CK2's engine to make it able to handle so many things easier, without basically programming CK3?

I mean IF it was possible, I think many players here would agree that rather than a new content update, we would love to have an engine update DLC.

But, like I said, I'm no game dev, so I'm asking, is this even possible?

Cheers!
 

HandicapdHippo

General
63 Badges
Jul 26, 2012
1.935
1.283
  • Crusader Kings II: Charlemagne
  • Victoria 2: Heart of Darkness
  • Victoria 2: A House Divided
  • Sword of the Stars II
  • Heir to the Throne
  • Divine Wind
  • Europa Universalis III Complete
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Stellaris: Digital Anniversary Edition
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Conclave
  • Stellaris
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Crusader Kings III
  • Stellaris Sign-up
  • Crusader Kings II: Reapers Due
  • Stellaris: Megacorp
  • Stellaris: Leviathans Story Pack
  • Crusader Kings II: Monks and Mystics
  • Stellaris - Path to Destruction bundle
  • Surviving Mars
  • Stellaris: Distant Stars
  • Crusader Kings II: Jade Dragon
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Stellaris: Ancient Relics
  • Prison Architect
  • Stellaris: Nemesis
  • Europa Universalis IV
  • Imperator: Rome Sign Up
  • Crusader Kings II: Holy Fury
  • Stellaris: Federations
  • Stellaris: Lithoids
  • Europa Universalis III Complete
  • Europa Universalis IV: Common Sense
  • Europa Universalis III Complete
  • Crusader Kings III: Royal Edition
  • Victoria 2
  • 500k Club
  • Europa Universalis IV: El Dorado
  • Mount & Blade: Warband
  • Mount & Blade: With Fire and Sword
Engines aren't static things, especially ones created by the devs themselves like Paradox's engine is, CK2 and its engine has been contentiously improved by the developers the whole time and even had improvements developed by the teams working on other paradox games ported over to it. A lot of the optimizations that came with the Reaper Due patch and other patch's are basically exactly what you are asking about.
 

Rags17

Ludere Ludum
62 Badges
Dec 11, 2014
5.953
3.631
  • 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
  • Crusader Kings II
  • Europa Universalis IV: Rights of Man
  • Cities: Skylines - Mass Transit
  • Steel Division: Normandy 44
  • Stellaris - Path to Destruction bundle
  • Crusader Kings II: Monks and Mystics
  • Hearts of Iron IV: Together for Victory
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Surviving Mars
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Mandate of Heaven
  • Crusader Kings II: Holy Fury
  • Crusader Kings Complete
  • Stellaris: Distant Stars
  • Europa Universalis IV: Cossacks
  • Hearts of Iron IV: Death or Dishonor
  • Europa Universalis IV: Cradle of Civilization
  • Battle for Bosporus
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Europa Universalis IV: Rule Britannia
  • Imperator: Rome Sign Up
  • Crusader Kings III
  • Stellaris: Megacorp
  • Cities: Skylines Industries
  • Europa Universalis IV: Dharma
  • Victoria 2
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Expansion Pass
  • Cities: Skylines
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Conclave
  • Hearts of Iron IV: La Resistance
  • Stellaris
  • Europa Universalis IV: Pre-order
  • Europa Universalis IV: Call to arms event
  • Stellaris: Synthetic Dawn
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
The game as it stands now includes hundreds if not thousands of events and decisions that only appear if a DLC is active, or is inactive or whatever. The game still has to check these things every single cycle, so if these were all specifically included or excluded then this alone would save a good chunk of processing time.

There is also lots of "orphan code" that is no longer used but which was necessary for earlier versions and or earlier patches. Things like old style assassinations, old versions of landed titles (eg Papacy, Caliphate) etc.

Finally, all of the game's events and decisions use their own unique custom flags, modifiers and opinion_modifiers. These could be cleaned up and amalgamated to streamline event handling and minimize clashes and weird outcomes. For example, there must be half a dozen opinion modifiers that all amount to "Disappointed" "Angry", or "Upset", all of which have the same or similar modifier effects.

In short - even without changing the engine I am certain that there are lots of ways the game could still be optimized further.
 

klopkr

Chief suggester at the suggestion factory
106 Badges
Aug 12, 2013
8.775
15.318
  • Europa Universalis IV: Common Sense
  • Europa Universalis IV: Call to arms event
  • Rome: Vae Victis
  • Warlock: Master of the Arcane
  • Crusader Kings II
  • Europa Universalis IV: Mare Nostrum
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Monks and Mystics
  • Hearts of Iron IV Sign-up
  • Stellaris Sign-up
  • Hearts of Iron IV: Cadet
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Rights of Man
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Cities: Skylines - Natural Disasters
  • Hearts of Iron IV: Together for Victory
  • Humble Paradox Bundle
  • Europa Universalis IV: Dharma
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • Crusader Kings Complete
  • BATTLETECH
  • Surviving Mars
  • Hearts of Iron IV: Death or Dishonor
  • Crusader Kings II: Holy Fury
  • Cities: Skylines - Green Cities
  • Europa Universalis IV: Rule Britannia
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis III Complete
  • Hearts of Iron IV: No Step Back
  • Hearts of Iron IV: Expansion Pass
  • Crusader Kings II: The Republic
  • Prison Architect
  • Imperator: Rome Deluxe Edition
  • Europa Universalis IV
  • Cities: Skylines - Parklife
  • Stellaris: Apocalypse
  • Europa Universalis III Complete
  • Stellaris: Distant Stars
  • Crusader Kings II: Conclave
  • Surviving Mars: First Colony Edition
  • The Showdown Effect
  • War of the Roses
  • Cities: Skylines
  • Europa Universalis IV: El Dorado
  • Magicka: Wizard Wars Founder Wizard
  • Mount & Blade: Warband
  • Crusader Kings II: Way of Life
  • Stellaris: Humanoids Species Pack
Paradox updates the clawitzengine all the time on the fly. Usually they do it between games though.

Can you name one thing they can add to the engine to make the game run faster? I'm pretty sure they prefer that much more than just 'make game better'.
 

Rags17

Ludere Ludum
62 Badges
Dec 11, 2014
5.953
3.631
  • 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
  • Crusader Kings II
  • Europa Universalis IV: Rights of Man
  • Cities: Skylines - Mass Transit
  • Steel Division: Normandy 44
  • Stellaris - Path to Destruction bundle
  • Crusader Kings II: Monks and Mystics
  • Hearts of Iron IV: Together for Victory
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Surviving Mars
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Mandate of Heaven
  • Crusader Kings II: Holy Fury
  • Crusader Kings Complete
  • Stellaris: Distant Stars
  • Europa Universalis IV: Cossacks
  • Hearts of Iron IV: Death or Dishonor
  • Europa Universalis IV: Cradle of Civilization
  • Battle for Bosporus
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Europa Universalis IV: Rule Britannia
  • Imperator: Rome Sign Up
  • Crusader Kings III
  • Stellaris: Megacorp
  • Cities: Skylines Industries
  • Europa Universalis IV: Dharma
  • Victoria 2
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Expansion Pass
  • Cities: Skylines
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Conclave
  • Hearts of Iron IV: La Resistance
  • Stellaris
  • Europa Universalis IV: Pre-order
  • Europa Universalis IV: Call to arms event
  • Stellaris: Synthetic Dawn
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
Paradox updates the Clausewitz engine all the time on the fly. Usually they do it between games though.

Can you name one thing they can add to the engine to make the game run faster? I'm pretty sure they prefer that much more than just 'make game better'.

The ability to "turn off" great chunks of the map. This alone would yield a HUGE improvement in speed.

The mechanic is relatively straightforward too - simply add a (player inaccessible) routine that turned all "switched off" provinces into unplayable terrain and remove all holdings from these spots. The instant permanent destruction of 20-50-90% of all characters in game and suddenly the game will FLY.

I think that the problem is that game as it stands now WANTS to keep repopulating courts all over the map - the trick would be to add the functionality to tell it so not do this for the targeted areas. It seems straightforward to me but what do I know, there must be something making it hard to implement.
 

klopkr

Chief suggester at the suggestion factory
106 Badges
Aug 12, 2013
8.775
15.318
  • Europa Universalis IV: Common Sense
  • Europa Universalis IV: Call to arms event
  • Rome: Vae Victis
  • Warlock: Master of the Arcane
  • Crusader Kings II
  • Europa Universalis IV: Mare Nostrum
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Monks and Mystics
  • Hearts of Iron IV Sign-up
  • Stellaris Sign-up
  • Hearts of Iron IV: Cadet
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Rights of Man
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Cities: Skylines - Natural Disasters
  • Hearts of Iron IV: Together for Victory
  • Humble Paradox Bundle
  • Europa Universalis IV: Dharma
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • Crusader Kings Complete
  • BATTLETECH
  • Surviving Mars
  • Hearts of Iron IV: Death or Dishonor
  • Crusader Kings II: Holy Fury
  • Cities: Skylines - Green Cities
  • Europa Universalis IV: Rule Britannia
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis III Complete
  • Hearts of Iron IV: No Step Back
  • Hearts of Iron IV: Expansion Pass
  • Crusader Kings II: The Republic
  • Prison Architect
  • Imperator: Rome Deluxe Edition
  • Europa Universalis IV
  • Cities: Skylines - Parklife
  • Stellaris: Apocalypse
  • Europa Universalis III Complete
  • Stellaris: Distant Stars
  • Crusader Kings II: Conclave
  • Surviving Mars: First Colony Edition
  • The Showdown Effect
  • War of the Roses
  • Cities: Skylines
  • Europa Universalis IV: El Dorado
  • Magicka: Wizard Wars Founder Wizard
  • Mount & Blade: Warband
  • Crusader Kings II: Way of Life
  • Stellaris: Humanoids Species Pack
The ability to "turn off" great chunks of the map. This alone would yield a HUGE improvement in speed.

The mechanic is relatively straightforward too - simply add a (player inaccessible) routine that turned all "switched off" provinces into unplayable terrain and remove all holdings from these spots. The instant permanent destruction of 20-50-90% of all characters in game and suddenly the game will FLY.

I think that the problem is that game as it stands now WANTS to keep repopulating courts all over the map - the trick would be to add the functionality to tell it so not do this for the targeted areas. It seems straightforward to me but what do I know, there must be something making it hard to implement.
This is already possible in two ways.

The first is just simply making all the lands you don't like into wasteland and the second is simply using a mod or dlc that changes the map. The second one is actually literally what happens when you go back some patches. It has nothing to do with the game engine.

The ability to change the map on the fly would be nice but would require immense work for a tiny feature as the map is loaded on game start up and not in game. To change it would ether move the loading screen to in game which would remove the players ability to just pick a start on the map or double the loading screens. I don't think anyone wants to do this for you to remove a region that hasn't effected game speed since a few patches ago.

Regardless of all of that Pdox has said many times they want to avoid anymore 'versions' of the game to update. Keeping the game balanced without a certain area is significantly more work to make a very small community happy through what is pretty much a placebo. They rely on modders and old patches to do that for free.

Name something else that could be added to the engine to improve the game.
 

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'm no programmer, and I'm no game designer, so if this is a stupid question, excuse me :D

But, I've heard the game devs say, that CK2's performance issues, and instability comes from the engine being so overloaded with features, which was never intended.


Now, I was asking myself, is it theoretically possible to update CK2's engine to make it able to handle so many things easier, without basically programming CK3?

I mean IF it was possible, I think many players here would agree that rather than a new content update, we would love to have an engine update DLC.

But, like I said, I'm no game dev, so I'm asking, is this even possible?

Cheers!

It is possible, but to change fundamental parts of the code would take a lot of work. And quite significantly, it would likely need extensive QA. So it should be possible, but at the same would require a significant investment from Paradox. It depends if they think investing in the game for the long term is worth it or not; or if financially it would be better for them to make CK3 instead.
 

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 think what CK3 engine needs is a way to have modular map, so that they can expand it however they want without encumbering those who don't want the new stuff.

That would be great indeed. My computer wouldn't be able to handle China AND everything else, but I would be glad to have China in the game in that way, so I could choose to play there OR in Europe/etc.

It would be better if they did that only for a select few regions, though, as modularity also increases code complexity (and thus maintenance cost). Being able to choose the current map, or a map of China+India (and other adjacent areas), or both together would be optimal IMO.
 

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
Paradox updates the clawitzengine all the time on the fly. Usually they do it between games though.

Can you name one thing they can add to the engine to make the game run faster? I'm pretty sure they prefer that much more than just 'make game better'.

One thing I can think of is offloading parts of AI-decision making to other threads. For example: AI character decision evaluation could be moved to a separate thread. If the AI character decides to take the decision, then they send a command to the game that is processed in the same way as when players click decision buttons.

There is an RTS game that did this (I can't recall the name ATM, I read an article about it a while ago), but it is certainly not a common feature in strategy games; it was something innovative in their case. How feasible it would be for CK2 in particular depends on the engine's code, and how much change would be necessary.
 

Serenity84

Field Marshal
31 Badges
May 11, 2016
4.861
3.890
  • Stellaris
  • Stellaris - Path to Destruction bundle
  • Stellaris: Apocalypse
  • Stellaris: Megacorp
  • Stellaris: Federations
  • Stellaris: Nemesis
  • Stellaris: Synthetic Dawn
  • Stellaris: Distant Stars
  • Stellaris: Ancient Relics
  • Stellaris: Humanoids Species Pack
  • Crusader Kings II
  • Crusader Kings II: Holy Fury
  • Crusader Kings II: Jade Dragon
  • Crusader Kings II: Monks and Mystics
  • Crusader Kings II: Reapers Due
  • Crusader Kings II: Conclave
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Way of Life
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • BATTLETECH
  • BATTLETECH: Flashpoint
  • BATTLETECH: Season pass
  • BATTLETECH: Heavy Metal
They've done a lot of optimization already. After the map was expanded to India things obviously got slower. But they sped up the game later on.

That said, there is only so much you can do. And this is something other Paradox games suffer too. Stellaris for example. Checking so many variables each month just takes its toll.
 

SvartVind

Private
95 Badges
May 27, 2013
10
0
  • Sword of the Stars
  • Heir to the Throne
  • King Arthur II
  • Knights of Pen and Paper +1 Edition
  • Leviathan: Warships
  • Magicka
  • Majesty 2 Collection
  • Knights of Honor
  • Naval War: Arctic Circle
  • Pirates of Black Cove
  • Europa Universalis IV: Res Publica
  • Victoria: Revolutions
  • Cities in Motion
  • Sword of the Stars II
  • Supreme Ruler: Cold War
  • Europa Universalis IV: Mare Nostrum
  • The Showdown Effect
  • Victoria 2
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
  • Knights of Pen and Paper 2
  • War of the Vikings
  • Cities: Skylines - After Dark
  • Crusader Kings II: Sunset Invasion
  • A Game of Dwarves
  • Cities in Motion 2
  • 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
  • Gettysburg
  • Crusader Kings II: Sword of Islam
  • Darkest Hour
  • Dungeonland
  • Europa Universalis III
  • Europa Universalis III: Chronicles
  • Europa Universalis III Complete
  • 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
  • War of the Roses
  • Age of Wonders: Planetfall Deluxe edition
  • Cities: Skylines
  • Europa Universalis IV: El Dorado
Mechanics of Crusader Kings II were designed with a specific game in mind. Also, the game had targets in regards to hardware it had to run on, at the time.
The game had some budget and some time it could be in developement. In the end, it had to sell well enough. And it did. That's why we are here right now, on this forum, 5 years later.

The problem is, the game wasn't designed for all the additional content and mechanics that we have right now. They were added one by one, usually by using mechanics from the base game, redesigning single systems when they could no longer handle what they should handle right now.

Expanding the game out of what it is designed to do is more costly than it would have been to implement it from the scratch.
Any software, including game engines, including CK2 engine, could be modified to serve some other purpose, or to be improved, or to be optimised. The issue is: how much time would that take, and therefore, how much it will cost? And it has to earn the money back, and more - so there's a limit on what's feasible.

And one might think that we'd appreciate a game update focused on optimization and lacking in content... but no. We wouldn't. ;]
The player base as a whole wouldn't. Especially if you want them to pay for it. And, as mentioned before, you don't develop for free.

So, all mechanics, no matter how great they are, have to pass the "Can we do this in CK2, or do we keep it in the backlog for CK3?" test.


A theoritical CK3 would be a different matter entirely, because it would be informed by what went well and what went wrong in CK2.
Many systems that were added on to the previous systems and use mechanics of these previous systems could be redesigned from the scratch, not having to worry about "how do we change the current game that also has thousands of possible combinations of DLC?"
 

Meneth

Crusader Kings 3 Programmer
153 Badges
Feb 9, 2011
10.056
5.378
www.paradoxwikis.com
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Holy Knight (pre-order)
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: The Republic
  • Hearts of Iron IV: Expansion Pass
  • Steel Division: Normand 44 Sign-up
  • Stellaris: Digital Anniversary Edition
  • Crusader Kings II: Way of Life
  • Mount & Blade: With Fire and Sword
  • Mount & Blade: Warband
  • Magicka: Wizard Wars Founder Wizard
  • Hearts of Iron IV: Death or Dishonor
  • Europa Universalis IV: El Dorado
  • Hearts of Iron IV: Colonel
  • Hearts of Iron IV: Field Marshal
  • Surviving Mars: Digital Deluxe Edition
  • BATTLETECH: Flashpoint
  • Crusader Kings II: Conclave
  • Surviving Mars
  • Cities: Skylines Industries
  • Stellaris: Galaxy Edition
  • BATTLETECH
  • Hearts of Iron IV Sign-up
  • Stellaris Sign-up
  • Hearts of Iron IV: Cadet
  • Stellaris: Humanoids Species Pack
  • Prison Architect
  • Crusader Kings II: The Old Gods
  • Cities: Skylines - Campus
  • Hearts of Iron IV: No Step Back
  • BATTLETECH - Digital Deluxe Edition
  • Crusader Kings Complete
  • Cities: Skylines - Parklife
  • Europa Universalis IV
  • Age of Wonders III
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Cradle of Civilization
  • 500k Club
  • Stellaris: Leviathans Story Pack
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis III Complete
  • Cities: Skylines - Mass Transit
  • Europa Universalis III Complete
  • Cities: Skylines - Green Cities
  • Teleglitch: Die More Edition
  • Europa Universalis IV: Rule Britannia
One thing I can think of is offloading parts of AI-decision making to other threads. For example: AI character decision evaluation could be moved to a separate thread. If the AI character decides to take the decision, then they send a command to the game that is processed in the same way as when players click decision buttons.
This is already the case. Only a vanishingly small part of the AI is done serially.

(Also, basically nothing mentioned in this thread has anything to do with the engine; it's all game code)
 

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
This is already the case. Only a vanishingly small part of the AI is done serially.

That's interesting to hear, thanks for explaining. I suppose that is true for the AI evaluating decisions as well? That seems (but of course, I can't be entirely sure) to be an important performance bottleneck.
 

Meneth

Crusader Kings 3 Programmer
153 Badges
Feb 9, 2011
10.056
5.378
www.paradoxwikis.com
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Holy Knight (pre-order)
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: The Republic
  • Hearts of Iron IV: Expansion Pass
  • Steel Division: Normand 44 Sign-up
  • Stellaris: Digital Anniversary Edition
  • Crusader Kings II: Way of Life
  • Mount & Blade: With Fire and Sword
  • Mount & Blade: Warband
  • Magicka: Wizard Wars Founder Wizard
  • Hearts of Iron IV: Death or Dishonor
  • Europa Universalis IV: El Dorado
  • Hearts of Iron IV: Colonel
  • Hearts of Iron IV: Field Marshal
  • Surviving Mars: Digital Deluxe Edition
  • BATTLETECH: Flashpoint
  • Crusader Kings II: Conclave
  • Surviving Mars
  • Cities: Skylines Industries
  • Stellaris: Galaxy Edition
  • BATTLETECH
  • Hearts of Iron IV Sign-up
  • Stellaris Sign-up
  • Hearts of Iron IV: Cadet
  • Stellaris: Humanoids Species Pack
  • Prison Architect
  • Crusader Kings II: The Old Gods
  • Cities: Skylines - Campus
  • Hearts of Iron IV: No Step Back
  • BATTLETECH - Digital Deluxe Edition
  • Crusader Kings Complete
  • Cities: Skylines - Parklife
  • Europa Universalis IV
  • Age of Wonders III
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Cradle of Civilization
  • 500k Club
  • Stellaris: Leviathans Story Pack
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis III Complete
  • Cities: Skylines - Mass Transit
  • Europa Universalis III Complete
  • Cities: Skylines - Green Cities
  • Teleglitch: Die More Edition
  • Europa Universalis IV: Rule Britannia
That's interesting to hear, thanks for explaining. I suppose that is true for the AI evaluating decisions as well? That seems (but of course, I can't be entirely sure) to be an important performance bottleneck.
Yes, AI evaluation of decisions happens in parallel.
Most script evaluation in general is done in parallel, including both events and decisions. Execution is done in series.
 

Meneth

Crusader Kings 3 Programmer
153 Badges
Feb 9, 2011
10.056
5.378
www.paradoxwikis.com
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Holy Knight (pre-order)
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: The Republic
  • Hearts of Iron IV: Expansion Pass
  • Steel Division: Normand 44 Sign-up
  • Stellaris: Digital Anniversary Edition
  • Crusader Kings II: Way of Life
  • Mount & Blade: With Fire and Sword
  • Mount & Blade: Warband
  • Magicka: Wizard Wars Founder Wizard
  • Hearts of Iron IV: Death or Dishonor
  • Europa Universalis IV: El Dorado
  • Hearts of Iron IV: Colonel
  • Hearts of Iron IV: Field Marshal
  • Surviving Mars: Digital Deluxe Edition
  • BATTLETECH: Flashpoint
  • Crusader Kings II: Conclave
  • Surviving Mars
  • Cities: Skylines Industries
  • Stellaris: Galaxy Edition
  • BATTLETECH
  • Hearts of Iron IV Sign-up
  • Stellaris Sign-up
  • Hearts of Iron IV: Cadet
  • Stellaris: Humanoids Species Pack
  • Prison Architect
  • Crusader Kings II: The Old Gods
  • Cities: Skylines - Campus
  • Hearts of Iron IV: No Step Back
  • BATTLETECH - Digital Deluxe Edition
  • Crusader Kings Complete
  • Cities: Skylines - Parklife
  • Europa Universalis IV
  • Age of Wonders III
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Cradle of Civilization
  • 500k Club
  • Stellaris: Leviathans Story Pack
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis III Complete
  • Cities: Skylines - Mass Transit
  • Europa Universalis III Complete
  • Cities: Skylines - Green Cities
  • Teleglitch: Die More Edition
  • Europa Universalis IV: Rule Britannia
What is the engine responsible for?
Some of the things it does:
  • Implements or wraps a variety of basic data types, such as strings, fixed point numbers, arrays, etc.
  • Serves as a layer between the game and the GPU; takes care of a lot of rendering related tasks
  • Handles differences between operating systems
  • Handles the basics of parsing and writing to files; basically provides a structure for the game code to parse in a more abstract manner
  • Basic structures for handling exchanges of information in multiplayer, as well as the server and client structure
  • Provides a variety of UI elements types, such as buttons, lists, windows, etc.
  • Implements the launcher
  • Crash reporting and similar
Some things that isn't the engine's responsibility:
  • Combat
  • What the map looks like (including globe vs. flat)
  • Provinces
  • Multi-threading
  • General performance (the main impact of the engine is on graphical performance)
  • Diplomacy
  • China
  • The scripting language, other than its overall structure
  • The AI
  • Game features
 

Meneth

Crusader Kings 3 Programmer
153 Badges
Feb 9, 2011
10.056
5.378
www.paradoxwikis.com
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Holy Knight (pre-order)
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: The Republic
  • Hearts of Iron IV: Expansion Pass
  • Steel Division: Normand 44 Sign-up
  • Stellaris: Digital Anniversary Edition
  • Crusader Kings II: Way of Life
  • Mount & Blade: With Fire and Sword
  • Mount & Blade: Warband
  • Magicka: Wizard Wars Founder Wizard
  • Hearts of Iron IV: Death or Dishonor
  • Europa Universalis IV: El Dorado
  • Hearts of Iron IV: Colonel
  • Hearts of Iron IV: Field Marshal
  • Surviving Mars: Digital Deluxe Edition
  • BATTLETECH: Flashpoint
  • Crusader Kings II: Conclave
  • Surviving Mars
  • Cities: Skylines Industries
  • Stellaris: Galaxy Edition
  • BATTLETECH
  • Hearts of Iron IV Sign-up
  • Stellaris Sign-up
  • Hearts of Iron IV: Cadet
  • Stellaris: Humanoids Species Pack
  • Prison Architect
  • Crusader Kings II: The Old Gods
  • Cities: Skylines - Campus
  • Hearts of Iron IV: No Step Back
  • BATTLETECH - Digital Deluxe Edition
  • Crusader Kings Complete
  • Cities: Skylines - Parklife
  • Europa Universalis IV
  • Age of Wonders III
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Cradle of Civilization
  • 500k Club
  • Stellaris: Leviathans Story Pack
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis III Complete
  • Cities: Skylines - Mass Transit
  • Europa Universalis III Complete
  • Cities: Skylines - Green Cities
  • Teleglitch: Die More Edition
  • Europa Universalis IV: Rule Britannia
So what the main difference between the engine for CK2 and a newer title like HOI4?
More of the same, for the most part.
The newer games have some more standard data types, and are a bit easier to work with to get to do what you want. Some aspects of the graphical processing is a bit faster. Some bugs here and there have been weeded out (example: for a while, on Linux writing and reading 64-bit fixed points didn't actually work properly, so if you had too much gold, saving and then reloading would cause you to end up with negative money). Extra helper stuff for stuff involving the functionality provided by the engine. That kind of thing.

Basically, it's all the same engine, except CK2 was forked from the main branch of development several years earlier. So some of the things done since never made their way back into CK2. But this is generally stuff only of interest to programmers.

Tl;dr: More of the same for the most part.