CK3 Dev Diary #36 - Gotta Go Fast

Good afternoon everyone,

I’m Magne “Meneth” Skjæran, one of the programmers on Crusader Kings 3. You might know me from my work on CK2 and the Paradox Wikis. Of particular relevance today is my work on performance and AI in CK2. Today I’m going to talk about how we’ve worked with these two areas in CK3 to ensure a better game experience than CK2.

Performance
Let's start off by talking about performance.
Over the course of CK2’s lifecycle we made numerous improvements to performance, and when Holy Fury released it was the best it has ever been. The release version today feels like molasses compared to how the game performs after its long and venerated life.
CK2 has been a standout amongst PDS’ games when it comes to performance, which means we have a lot we have to live up to. As such performance has been a priority throughout the development of CK3, and especially as it has neared release. Our approach to a number of tech systems differ from CK2 for the sake of performance, and this has given us some great results.

The two systems that differ the most from CK2 for the sake of performance are threading and rendering. The two are heavily intertwined, so much so that you can’t really talk about one without talking about the other.
In CK2 our approach was pretty simple. The game as a whole was structured around the main thread. The main task of the main thread was to update the gamestate so the game progresses. In order to render frames so the users can see what’s going on, it would periodically stop updating the gamestate in order to make a frame instead. The rendering would then take over entirely until done with the frame.
During gamestate updates it would thread a large number of different operations. The way we structured this in CK2 was largely based around the characters themselves. The daily update for characters were split into a handful of segments with different rules for parallelization. For instance, during one part it would be illegal for one character to check any information that belongs to another character. During another, it would be illegal for it to change any information it owns that is visible to other characters. These restrictions meant that these updates could be done in parallel; each thread doing the same section for a different character. In practice it worked reasonably well; CK2 is a heavily parallel game and has had significant speed gains from increased parallelization. Similar setups were applied to other objects too, like titles, plots, etc.
However, there were also some significant drawbacks. The biggest one being the various rules on what the programmer can and cannot do in each update. Violating one of these rules would generally result in an OOS, breaking the multiplayer experience. Occasionally it could even crash the game. There was also a significant overhead in having to process every character in the game with most checks just resulting in “we have no need to do this part of the update”.

So in CK3 we replaced this system entirely. We moved from object-level parallelism to system-level parallelism. Now instead of processing several characters at the same time we instead process several different systems. For instance, we might update the scheme system at the same time as the opinion system. This allowed us to simplify the rules of what you can and cannot do massively: now during parallelism the only limitation is that we can’t change any visible information; we must instead store the changes we want to do and then apply them a bit later in series. Simplifying the rules means that fewer bugs are introduced, in particular OOSes. And it tends to be easier to identify what could be parallelized than it was in CK2, resulting in more work being done in parallel than before.
pasted image 0.png

[A chart of time spent on most of the parallel updates]

Furthermore, this works great with CK3’s new approach to rendering. In CK3 rendering is a separate thread rather than done on the main thread. It still needs to synchronize a lot with the main thread, as we can’t be checking an object that’s being changed. So we have a system of locks; when the render thread needs to access the gamestate, the gamestate isn’t allowed to change itself, and when the gamestate is changing itself, the render thread must wait until it can access the gamestate. Similarly to CK2, the gamestate will while updating itself periodically check if the render thread needs access, in which case it’ll hand off control for a short while. But the big difference is that a significant part of the work done on the render thread does not require any access to the gamestate, and can thus be done in parallel with the gamestate update.
And do you remember the rule I mentioned earlier? The parallel updates to the gamestate aren’t allowed to change visible state, so during these updates it is safe to update the render thread. So overall the section where the render thread might have to wait is pretty small, and it ends up doing most of its work at the same time as the gamestate.
Now, we do still have some object-level parallelism left, most notably the AI. But the AI in CK3 is set up to never change the gamestate directly, so rendering can continue while the AI figures out what to do.

Overall these changes have meant that CK3 has better thread utilization than CK2, a more stable framerate, and that it is harder for programmers to make threading mistakes that lead to bugs, OOSes, and crashes.

For a point of comparison, I did a quick test on my machine comparing CK2 and CK3. I simply let the game run at full speed for a minute, and compared the frame rate and how far the game progressed. Both games got equally far in; starting in September 1066 they both got to April 1069. However, CK3’s frame rate was much higher and more stable than CK2’s. Considering CK3’s far better graphics, these results are exactly what I was hoping for.

Let's take a look at the difference threading makes. I set up a simple test; I ran the game for 1 minute on my machine at max speed, first with threading fully enabled, then with threading disabled. You can see it for yourself below. Left is with threading, right is without:
The red line you see in the video is the time between each frame. For 60 FPS it should be at or below the green horizontal line.
As you see, the difference is staggering. Without threading the framerate is dreadful, and the game progresses far more slowly. With threading the game progressed 958 days, while without it only progressed 546 days. That is, it ran 75% faster with threading, and with a far far better framerate.
The machine I’m running this on is my home PC, which at the time of recording had an i7 4770K, a GTX 1080, and 16 GB of 2400 MHz RAM, running at the highest graphical settings. The CPU and RAM are both quite old and by this point far outperformed by newer models, though the GPU is still solid. Max speed on this is high enough that I almost never use it in normal play, instead mostly using speed 3 and 4.

So beyond what has been mentioned, how do we work with performance on CK3? We periodically dedicate time to ensuring that any new performance issues are dealt with, and investigating opportunities for further improvement. This often means increased threading, or reworking systems to be more performant. One of my favorite ways to make the game faster however, is by slightly modifying the design to avoid expensive calculations that the player won’t be affected by. To take one example we update the progress of the player’s council tasks every single day. But for the AI we only do so once a month. The player is unlikely to ever notice the difference, but this way we reduce the cost of these updates to 1/30 of what they otherwise would be. Optimizations like this are all over the place in CK3 (and to some extent in CK2); there are a lot of small shortcuts that can be done that have a huge impact on performance but little or no impact on the player experience.

AI
Now it is time to talk a bit about the AI as well.
The person who has been in charge of AI for most of CK3’s development is Niklas “Captain Gars” Strid, but he’s currently on parental leave. For the last year or so I’ve been helping out with the AI, and now in his absence the full responsibility of it has fallen on me.
Since I didn’t design the AI, this is going to be briefer than it might’ve been if Niklas was here to write it, but I’ll cover some of the basic ideas behind how we’ve handled the AI in CK3.

Our main goal with the AI has been that it should make the game more fun for the player. This has several aspects to it:
  • It should provide some level of challenge, because steamrolling from the get go isn’t fun
  • It should avoid doing things that are frustrating, even if it would make it “smarter”
  • It should feel as if it’s a plausible actor within a Medieval world
These goals all have both overlap, and parts where they’re in opposition to one another. For instance, avoiding frustration does result in a slightly less challenging AI, but that’s often a sacrifice that makes sense.

One of the biggest structural changes in CK3’s AI is how it deals with its military. In CK2, if there were multiple AIs on the same side in a war, they would essentially act independently from one another with some systems for coordination. This usually worked fine, but sometimes it’d lead to a lack of coordination between allies and the AI taking odd decisions.
In CK3 we’ve designed the system from the ground up to handle multiple AIs on the same side. Instead of each AI commanding their own troops, they assign their troops to a war coordinator that handles all decision making; the individual decision making is just what troops to assign (which kicks in if there’s more than one war they could participate in).
As such AIs tend to act in a much more coordinated manner.
However, that doesn’t address coordination with the player. CK2’s approach here in the end was to introduce an AI order system where you’d simply tell the AI what to do. We don’t currently have that in CK3, but the AI still has a focus on assisting the player. Generally speaking the AI will try to keep its armies very close to the player, and help out in battles even if those battles will be lost with its help. An AI order system like in CK2 might still improve this further, but the gap is much smaller than in CK2 so we decided it would not be a priority for release. Additionally, the existence of the order system in CK2 significantly complicated the AI code, making further development of it more difficult, so there’s a tradeoff to be considered when it comes to the # of bugs it’ll introduce, and the slowdown to AI development it would be likely to cause.

So that covered “provide some level of challenge”, but what about avoiding frustration? There’s a lot of small things here and there designed to do that, but let’s talk about a couple of concrete examples. In CK3 the AI has a system I tend to call “stand and fight”. If the player (or any other enemy) is near its army, will beat it, and there’s no real hope of winning the war as all its troops are already gathered, then instead of running away the AI will find a nearby defensive location and wait there for up to a month for the enemy to wipe it out. This way instead of dragging its demise out it makes a last stand in a good location. The result is that the player doesn’t have to chase down armies nearly as much as in CK2, but that it only tends to kick in for wars the player is clearly going to win regardless.
Similarly, often the game design itself is created with the AI at least partially in mind. We’ve talked about the fort mechanics earlier, but the quick recap is that walking deep into enemy territory without sieging first is going to kill most of your troops. The AI will thus virtually never do it, so when you’re behind your own lines you have the time to regroup and figure out what to do. Similarly, there’s little temptation to try to chase down the AI deep into its territory. This helps keep the focus more on siege warfare, which is very fitting for the era.
It contributes to every goal I’ve mentioned: The AI ends up better due to there being fewer options available, so we could make it smarter in picking between those. The player gets less frustrated. And it emphasises a historical aspect of the era, while avoiding silly chases halfway around the world.

Now, that’s been a whole lot of talk about military AI. What about the rest of it? The overall approach there’s generally pretty similar to CK2, though rebuilt from scratch. The AI will periodically check a variety of possible actions, and take them if they make sense. There’s some randomization, and AI personality affects a variety of actions, to ensure that the game feels alive rather than deterministic.
More of the AI can be modded than in CK2, as the interaction system has far less hardcoding. There’s still parts that are hardcoded, such as actions that aren’t interactions, but overall it should be possible to influence a bit more of the AI than in CK2.
Reduced hardcoding has also meant that balancing the AI is easier for us than in CK2, as a programmer doesn’t always have to be involved. Especially once we get feedback from a large player base after release, this and various architectural improvements in the code compared to CK2 should make iterating on the AI easier than before.
Huge parts of what other characters do is also handled by events and so on to a greater extent than in CK2.

Generally speaking, the goal of the non-military AI is to make the world feel alive. This has occasionally meant needing some restrictions to ensure the player doesn’t get overwhelmed. For instance, we’ve had to on numerous occasions restrict seduction against the player so that they don’t get absolutely spammed if they happen to play one of the few female rulers around at game start.

Overall the AI should in many ways feel similar to in CK2, but with more of a focus on making the best possible experience for the player. After release it should be easier for us to further improve on the AI than it was in CK2.
PC Upgrade
20200727_221955 (1).jpg

[My newly upgraded PC]
Funnily enough, between when I first wrote this dev diary and when it was set to go out, I decided that it was finally time to upgrade my PC. I replaced my aging i7 4770K with a nice modern Ryzen 9 3900X, and my 16 GB of 2400 MHz RAM with 32 GB of 3600 MHz RAM.
So I re-recorded my 1 minute test with full threading, which you can see here:

As you can see, this runs the game at a level I can only describe as unplayably fast. In a minute it progressed 1498 days, 56% further than my old CPU. The framerate is also more stable than before, so I’m quite happy with the results.

pasted image 0 (1).png

[My new machine running the game at 1000 FPS. Only while paused in one particular corner of the map though]

That’s all for today, folks!
Next week we’ll be back to talk more about modding.
 
  • 94Like
  • 87Love
  • 22
  • 7
Reactions:

nmcj1996

First Lieutenant
72 Badges
Jan 1, 2010
226
321
  • Crusader Kings II: Charlemagne
  • Europa Universalis IV: Mare Nostrum
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Pre-order
  • Europa Universalis IV: Third Rome
  • Victoria 2: Heart of Darkness
  • Victoria 2: A House Divided
  • Semper Fi
  • Europa Universalis IV: Res Publica
  • The Kings Crusade
  • Heir to the Throne
  • Hearts of Iron III Collection
  • Hearts of Iron III: Their Finest Hour
  • Hearts of Iron III
  • For the Motherland
  • Europa Universalis IV: Call to arms event
  • Europa Universalis IV: Conquest of Paradise
  • 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
  • Europa Universalis III
  • Europa Universalis III: Chronicles
  • Divine Wind
  • Crusader Kings II
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Wealth of Nations
  • Surviving Mars
  • Europa Universalis IV: Mandate of Heaven
  • Crusader Kings II: Monks and Mystics
  • Hearts of Iron IV: Together for Victory
  • Stellaris: Leviathans Story Pack
  • Tyranny: Archon Edition
  • Battle for Bosporus
  • Europa Universalis IV: Rights of Man
  • Crusader Kings II: Reapers Due
  • Hearts of Iron IV: Cadet
  • Stellaris Sign-up
  • Stellaris
  • Crusader Kings II: Conclave
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Pillars of Eternity
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: El Dorado
  • Victoria 2
All very cool stuff! Any idea how fast this compares to CK2? How many days do you think you would get through in a minute in CK2 on your computer Meneth?

Also any information about how performance progresses throughout the game? ATM CK2 runs really smoothly for the first hundred years for me, but after around 200 it really starts to slow down. I know you've tried to tackle this in the past for CK2, but have the changes in CK3 helped in this regard?
 
  • 9
  • 3Like
  • 3
Reactions:

Frost1800

Sergeant
72 Badges
Dec 30, 2014
93
238
  • Age of Wonders: Planetfall Deluxe edition
  • Europa Universalis IV: Mare Nostrum
  • Crusader Kings III
  • Age of Wonders: Planetfall
  • Europa Universalis 4: Emperor
  • Battle for Bosporus
  • Europa Universalis IV
  • Stellaris: Federations
  • Hearts of Iron IV: La Resistance
  • Crusader Kings III Referal
  • Hearts of Iron IV: Expansion Pass
  • Crusader Kings II: Holy Fury
  • Stellaris: Galaxy Edition
  • Crusader Kings II: Reapers Due
  • Stellaris: Synthetic Dawn
  • Stellaris Sign-up
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Field Marshal
  • Europa Universalis IV: Rights of Man
  • Tyranny: Archon Edition
  • Stellaris: Leviathans Story Pack
  • Europa Universalis IV: Mandate of Heaven
  • BATTLETECH
  • Surviving Mars
  • Hearts of Iron IV: Death or Dishonor
  • Hearts of Iron IV: Colonel
  • Europa Universalis IV: Cradle of Civilization
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Apocalypse
  • Europa Universalis IV: Rule Britannia
  • Cities: Skylines - Parklife
  • Stellaris: Distant Stars
  • Europa Universalis IV: Dharma
  • Stellaris: Megacorp
  • Europa Universalis IV: Golden Century
  • Imperator: Rome Deluxe Edition
  • Imperator: Rome
  • Imperator: Rome Sign Up
  • Stellaris: Ancient Relics
  • Age of Wonders: Planetfall Sign Up
  • Stellaris: Galaxy Edition
  • Stellaris
  • Crusader Kings II: Conclave
  • Hearts of Iron IV Sign-up
  • Cities: Skylines
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Pillars of Eternity
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Way of Life
An unrelated question to you, is there going to be a CK III wiki? I ask this because usually games have their wiki sites available way before their release, which is not the case for CK III. Therefore, I wonder whether the wiki site going to be ditched in favor of in game wiki or we are going to have both.
Personally, I would like to have both as it is useful to have both the official as well as community resources available.
 
  • 15
  • 5Like
  • 1
Reactions:

Kazanov

Chilean Monarchist
82 Badges
May 30, 2016
1.327
4.306
  • Battle for Bosporus
  • Stellaris: Apocalypse
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Cities: Skylines - Green Cities
  • Crusader Kings II: Conclave
  • Hearts of Iron IV: La Resistance
  • Cities: Skylines - Campus
  • Stellaris: Galaxy Edition
  • Stellaris: Ancient Relics
  • Imperator: Rome - Magna Graecia
  • Crusader Kings III
  • Crusader Kings II: Way of Life
  • 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
  • Crusader Kings II: Monks and Mystics
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • BATTLETECH
  • Hearts of Iron IV: Death or Dishonor
  • Crusader Kings II: Holy Fury
  • Europa Universalis IV: Rule Britannia
  • Cities: Skylines - Parklife
  • Stellaris: Distant Stars
  • Crusader Kings II: Sword of Islam
  • Europa Universalis III
  • Europa Universalis III Complete
  • Europa Universalis IV
  • Europa Universalis IV: Dharma
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Golden Century
  • Imperator: Rome Deluxe Edition
  • Europa Universalis III Complete
  • Europa Universalis III Complete
  • Hearts of Iron IV: Expansion Pass
  • Imperator: Rome Sign Up
  • Stellaris: Humanoids Species Pack
  • Victoria 2
  • Hearts of Iron IV: Expansion Pass
  • Age of Wonders: Planetfall
  • Cities: Skylines
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Age of Wonders III
  • Europa Universalis IV: Third Rome
I hope my pc runs it smoothly, checking the steam page:
  • RECOMENDADO:
    • Requiere un procesador y un sistema operativo de 64 bits
    • SO: Windows® 10 Home 64 bit
    • Procesador: Intel® iCore™ i5- 4670K or AMD® Ryzen™ 5 2400G
    • Memoria: 8 GB de RAM
    • Gráficos: Nvidia® GeForce™ GTX 1650 (4 GB)
    • Almacenamiento: 8 GB de espacio disponible

Yeah i will have to get more ram for my PC, i have 8gb but still...
 
  • 2Like
  • 1
Reactions:

Pelthis

Major
49 Badges
Apr 2, 2015
529
674
  • Cities: Skylines Deluxe Edition
  • Europa Universalis IV: Pre-order
  • Europa Universalis IV: Res Publica
  • Europa Universalis IV: Third Rome
  • Magicka
  • Crusader Kings II
  • Magicka 2
  • Crusader Kings II: Jade Dragon
  • Knights of Pen and Paper +1 Edition
  • 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
  • Europa Universalis IV: Rule Britannia
  • Tyranny: Archon Edition
  • Europa Universalis IV: Cradle of Civilization
  • Europa Universalis IV: Mandate of Heaven
  • Crusader Kings II: Monks and Mystics
  • Europa Universalis IV: Common Sense
  • Cities: Skylines - Parklife
  • Europa Universalis IV: Dharma
  • Crusader Kings II: Holy Fury
  • Europa Universalis IV: Golden Century
  • Imperator: Rome Deluxe Edition
  • Imperator: Rome
  • Prison Architect
  • Imperator: Rome Sign Up
  • Imperator: Rome - Magna Graecia
  • Crusader Kings III
  • Europa Universalis 4: Emperor
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV
  • Cities: Skylines
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Way of Life
  • Pillars of Eternity
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Conclave
  • Europa Universalis IV: Rights of Man
  • Europa Universalis IV: Mare Nostrum
  • 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
  • Crusader Kings II: Charlemagne
The part about threading and idk what framrate made me feel incredibly dumb, but if in summary it means a more fluid game, I'm definitely in.

And especially happy about the part when AI doesn't run away around the whole world to drag wars. Cheers.
 
  • 10
  • 7Like
Reactions:

Inspecta

Lead developer of "Imperator:Civilization" mod
13 Badges
Jan 25, 2018
183
206
  • Europa Universalis IV
  • Victoria 2
  • Cities: Skylines
  • Stellaris
  • Hearts of Iron IV: Cadet
  • Imperator: Rome
  • Crusader Kings II
  • For the Motherland
  • Hearts of Iron III
  • Hearts of Iron III: Their Finest Hour
  • Semper Fi
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
You should've tried to test the game on machines that below even i5. Not everyone has money to get such PC as you have, even the outdated one.
 
  • 32
  • 16
  • 1Like
Reactions:

Cronus865

Second Lieutenant
76 Badges
Jun 8, 2016
131
555
  • Stellaris: Federations
  • Imperator: Rome - Magna Graecia
  • Battle for Bosporus
  • Europa Universalis 4: Emperor
  • Stellaris: Necroids
  • Europa Universalis IV
  • Stellaris: Nemesis
  • Surviving Mars: Digital Deluxe Edition
  • Crusader Kings II: Jade Dragon
  • Surviving Mars
  • Europa Universalis IV: Res Publica
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
  • Europa Universalis IV: Cossacks
  • War of the Roses
  • Europa Universalis IV: El Dorado
  • Magicka: Wizard Wars Founder Wizard
  • Mount & Blade: Warband
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Mandate of Heaven
  • Crusader Kings II: Conclave
  • Stellaris
  • Hearts of Iron IV: Cadet
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Rights of Man
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Hearts of Iron IV: Together for Victory
  • Crusader Kings II: Monks and Mystics
  • Hearts of Iron IV: Expansion Pass
  • Hearts of Iron IV: La Resistance
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Imperator: Rome Deluxe Edition
  • Europa Universalis IV: Golden Century
  • Crusader Kings II: Holy Fury
  • Europa Universalis IV: Dharma
  • Stellaris: Distant Stars
  • Victoria 2
  • Europa Universalis IV: Rule Britannia
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Cradle of Civilization
  • Age of Wonders III
  • Hearts of Iron IV: Death or Dishonor
  • Europa Universalis IV: Mare Nostrum
  • Europa Universalis IV: Third Rome
The overall approach there’s generally pretty similar to CK2, though rebuilt from scratch. The AI will periodically check a variety of possible actions, and take them if they make sense. There’s some randomization, and AI personality affects a variety of actions, to ensure that the game feels alive rather than deterministic.


The traits AI have in CK2 gave them certain hidden values (rationality, zeal, greed, honor, and ambition), so is it basically the same where traits give values like this? If so, what are the hidden values that the AI has now? If it's different can you go into more detail about how?
 
  • 10
  • 2
  • 1Like
Reactions:

magriboy0750

Colonel
87 Badges
Jun 27, 2018
979
433
  • Battle for Bosporus
  • Europa Universalis IV: Third Rome
  • Surviving Mars: Digital Deluxe Edition
  • Stellaris: Ancient Relics
  • Stellaris: Synthetic Dawn
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Rule Britannia
  • Stellaris: Apocalypse
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Cradle of Civilization
  • Age of Wonders III
  • Europa Universalis IV: Dharma
  • Hearts of Iron IV: Death or Dishonor
  • Surviving Mars
  • Crusader Kings Complete
  • Europa Universalis IV: Mandate of Heaven
  • Crusader Kings II: Monks and Mystics
  • Hearts of Iron IV: Together for Victory
  • Stellaris: Leviathans Story Pack
  • Europa Universalis IV: Rights of Man
  • Hearts of Iron IV: Colonel
  • Age of Wonders: Planetfall Deluxe edition
  • Europa Universalis 4: Emperor
  • Crusader Kings III: Royal Edition
  • Crusader Kings III
  • Imperator: Rome - Magna Graecia
  • Stellaris: Federations
  • Hearts of Iron IV: La Resistance
  • Age of Wonders: Planetfall Season pass
  • Age of Wonders: Planetfall Premium edition
  • Stellaris: Distant Stars
  • Age of Wonders: Planetfall
  • Imperator: Rome Sign Up
  • Imperator: Rome
  • Imperator: Rome Deluxe Edition
  • Europa Universalis IV: Golden Century
  • Crusader Kings II: Holy Fury
  • Surviving Mars: First Colony Edition
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Pre-order
  • Europa Universalis IV
  • Hearts of Iron IV: Cadet
  • Victoria 2
  • Europa Universalis III: Collection
  • Europa Universalis IV: Call to arms event
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Conclave
An unrelated question to you, is there going to be a CK III wiki? I ask this because usually games have their wiki sites available way before their release, which is not the case for CK III. Therefore, I wonder whether the wiki site going to be ditched in favor of in game wiki or we are going to have both.
Personally, I would like to have both as it is useful to have both the official as well as community resources available.
The wiki will be published at game release.It already exist but it's currently reserved to beta testers,Paradox Staff and devs.The wiki is here,but it will show you a permission error:
https://ck3.paradoxwikis.com/
And to answer your second question,the wiki will obviously be separated.The CK2 wiki won't become obsolete if that was your concern.
 
  • 12
  • 1Like
Reactions:

Meneth

Crusader Kings 3 Programmer
128 Badges
Feb 9, 2011
10.056
5.367
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
  • Teleglitch: Die More Edition
  • Crusader Kings II: Conclave
  • Hearts of Iron IV Sign-up
  • Surviving Mars
  • Stellaris: Galaxy Edition
  • 500k Club
  • Hearts of Iron IV: Colonel
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Cradle of Civilization
  • Magicka: Wizard Wars Founder Wizard
  • Mount & Blade: Warband
  • Mount & Blade: With Fire and Sword
  • Crusader Kings II: Way of Life
  • Stellaris: Digital Anniversary Edition
  • Hearts of Iron IV: Death or Dishonor
  • Hearts of Iron IV: Field Marshal
  • Age of Wonders III
  • Europa Universalis III Complete
  • Crusader Kings II: The Old Gods
  • Hearts of Iron IV: Cadet
  • Steel Division: Normand 44 Sign-up
  • Crusader Kings Complete
  • Europa Universalis IV
  • Hearts of Iron IV: Expansion Pass
  • Hearts of Iron IV: Expansion Pass
  • Cities: Skylines - Parklife
  • Prison Architect
  • Stellaris: Leviathans Story Pack
  • Crusader Kings II: Reapers Due
  • Stellaris Sign-up
  • Europa Universalis III Complete
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis IV: Rule Britannia
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Charlemagne
  • Magicka 2 - Signup Campaign
  • Knights of Pen and Paper 2
  • Europa Universalis IV: Mare Nostrum
  • Knights of Honor
  • Deus Vult
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
All very cool stuff! Any idea how fast this compares to CK2? How many days do you think you would get through in a minute in CK2 on your computer Meneth?

Also any information about how performance progresses throughout the game? ATM CK2 runs really smoothly for the first hundred years for me, but after around 200 it really starts to slow down. I know you've tried to tackle this in the past for CK2, but have the changes in CK3 helped in this regard?
On my specific machine (before the upgrade), CK2 is about as fast as CK3, but with worse framerate and more stuttering.
Haven't tried it after upgrading, but CK3 probably does better thanks to more extensive threading.

Our late game slowdown however I'm relatively sure is less than in CK2.

The part about threading and idk what framrate made me feel incredibly dumb, but if in summary it means a more fluid game, I'm definitely in.
Pretty much!

You should've tried to test the game on machines that below even i5. Not everyone has money to get such PC as you have, even the outdated one.
We have tested the game on i3s. An i3 is part of our current minimum specs on the Steam page.

What do you mean by threading on/off ? It's the hyperthreading activated in the bios ?
Forcing the game's task system to only use a single thread.
This effectively reduces the game to just two threads; the gamestate thread and the render thread.

The traits AI have in CK2 gave them certain hidden values (rationality, zeal, greed, honor, and ambition), so is it basically the same where traits give values like this? If so, what are the hidden values that the AI has now? If it's different can you go into more detail about how?
It's pretty similar. Doesn't quite map 1:1 to CK2, but the idea's the same. The AI personality being displayed in the character view helps make it a bit more obvious.
 
  • 33
  • 10
  • 1Like
Reactions:

Atalvyr

Lt. General
163 Badges
Jan 17, 2013
1.490
4.012
34
  • Stellaris: Nemesis
  • Pirates of Black Cove
  • Ship Simulator Extremes
  • Gettysburg
  • Crusader Kings III Referal
  • Starvoid
  • Magicka: Wizard Wars Founder Wizard
  • 500k Club
  • Europa Universalis III: Collection
  • Stellaris: Galaxy Edition
  • Hearts of Iron IV Sign-up
  • Stellaris Sign-up
  • Hearts of Iron IV: Colonel
  • BATTLETECH - Backer
  • Cities: Skylines - Parklife
  • Imperator: Rome Sign Up
  • Diplomacy
  • Penumbra - Black Plague
  • Galactic Assault
  • Imperator: Rome Deluxe Edition
  • Europa Universalis IV: Call to arms event
  • Ancient Space
  • Europa Universalis IV: Dharma Pre-order
  • Crusader Kings II: Holy Fury Pre-order
  • Lead and Gold
Very interesting. I like the "stand-and-fight" mechanic to force resolutions to one-sided wars. It always seemed odd in CK2 that a count would show no urgency in protecting their home and family, even if they were up against a superior force. Preserving your army does you no good if the outcome of the war is you losing all your lands anyway.
 
  • 26
  • 2Like
Reactions:

Aquamancer

Major
52 Badges
May 7, 2018
526
1.263
  • Hearts of Iron IV: Expansion Pass
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Rights of Man
  • Hearts of Iron IV: Together for Victory
  • Crusader Kings II: Monks and Mystics
  • Europa Universalis IV: Mandate of Heaven
  • Crusader Kings Complete
  • Hearts of Iron IV: Death or Dishonor
  • Europa Universalis IV: Cradle of Civilization
  • Europa Universalis 4: Emperor
  • Crusader Kings II: Conclave
  • Europa Universalis IV: Rule Britannia
  • Europa Universalis IV: Dharma
  • Crusader Kings II: Holy Fury
  • Europa Universalis IV: Golden Century
  • Imperator: Rome Deluxe Edition
  • Imperator: Rome
  • Hearts of Iron IV: Expansion Pass
  • Hearts of Iron IV: La Resistance
  • Imperator: Rome - Magna Graecia
  • Crusader Kings III
  • Battle for Bosporus
  • Europa Universalis IV
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Cossacks
  • Victoria 2
  • Crusader Kings II: Rajas of India
  • Europa Universalis IV: Art of War
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Europa Universalis IV: Res Publica
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Charlemagne
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Call to arms event
  • Victoria: Revolutions
  • Europa Universalis IV: Third Rome
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
  • Europa Universalis IV: Pre-order
  • Europa Universalis IV: Mare Nostrum
An unrelated question to you, is there going to be a CK III wiki? I ask this because usually games have their wiki sites available way before their release, which is not the case for CK III. Therefore, I wonder whether the wiki site going to be ditched in favor of in game wiki or we are going to have both.
Personally, I would like to have both as it is useful to have both the official as well as community resources available.
Given that there is already a CK3 Wiki which remains inaccessible for everyone except those with an account, it appears to me that the CK3's Wiki has already been compiled, and will be made available for public once the game launches in September.
 
  • 6
  • 4
Reactions:

Asiak

Lt. General
81 Badges
Nov 27, 2014
1.277
2.789
  • Crusader Kings II: Reapers Due
  • Crusader Kings II: Way of Life
  • Pillars of Eternity
  • Europa Universalis IV: Common Sense
  • Crusader Kings II
  • Crusader Kings II: Conclave
  • Stellaris: Galaxy Edition
  • Stellaris Sign-up
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Hearts of Iron IV: Field Marshal
  • Crusader Kings II: Horse Lords
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Cities: Skylines - Natural Disasters
  • Stellaris: Nemesis
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • BATTLETECH
  • Surviving Mars
  • Hearts of Iron IV: Death or Dishonor
  • Stellaris: Necroids
  • Europa Universalis IV: El Dorado
  • Stellaris: Federations
  • Stellaris: Lithoids
  • Age of Wonders: Planetfall Deluxe edition
  • Age of Wonders: Planetfall
  • Stellaris: Ancient Relics
  • Prison Architect
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV
  • Imperator: Rome Deluxe Edition
  • Stellaris: Distant Stars
  • Cities: Skylines - Parklife
  • Hearts of Iron IV: Expansion Pass
  • BATTLETECH - Digital Deluxe Edition
  • Empire of Sin
  • Victoria 2
  • Crusader Kings III
  • Stellaris: Humanoids Species Pack
  • Cities: Skylines
  • Stellaris: Apocalypse
  • Cities: Skylines - After Dark
  • Europa Universalis IV: Cossacks
  • Europa Universalis IV: Mare Nostrum
  • Stellaris
  • Stellaris: Galaxy Edition
  • Europa Universalis IV: Rights of Man
  • Tyranny: Archon Edition
  • Crusader Kings II: Charlemagne
However, that doesn’t address coordination with the player. CK2’s approach here in the end was to introduce an AI order system where you’d simply tell the AI what to do. We don’t currently have that in CK3, but the AI still has a focus on assisting the player. Generally speaking the AI will try to keep its armies very close to the player, and help out in battles even if those battles will be lost with its help. An AI order system like in CK2 might still improve this further, but the gap is much smaller than in CK2 so we decided it would not be a priority for release. Additionally, the existence of the order system in CK2 significantly complicated the AI code, making further development of it more difficult, so there’s a tradeoff to be considered when it comes to the # of bugs it’ll introduce, and the slowdown to AI development it would be likely to cause.

You tighten that AI and close that gap as much as you want.

Control of ally armies should be put on the list of "basic things that should be in at launch or right after."

How many players when asked would directly tell you "I would make the trade off for more complex code and AI just for that ally army control?"

How many frustrating moments are we going to have being unable to control an ally, simply because we've decided to hedge our bets and try and make the AI worth it again.

Allies are a nearly useless feature without at least the basic amount of controls over their movements, and no amount of AI parity is going to negate that. That's great he's gonna follow me around, I just hope he's not in the one province I want to evacuate or march too. Or he's not barreling towards me when I don't need him only for both of us to choke on attrition.

It is basic.

It is beyond basic. The needed ability to simply write a letter and go "hey go siege that" or "hey form up on me we'll go whoop up on someone." I don't care how much it complicates the code, I would take strained AI growth in the future for one iota of ally control.

And it shocks me that this took so long to get in CK2, and it doubly shocks me that it isn't in CK3.

Because across the board in every launch some form of ally army control or input should be had, at launch every game.
 
  • 66
  • 2
  • 1Like
  • 1
Reactions:

Lordy's

Major
16 Badges
Jun 10, 2017
547
1.810
  • Cities: Skylines
  • Crusader Kings II: Way of Life
  • Crusader Kings II: Horse Lords
  • Cities: Skylines - After Dark
  • Cities: Skylines - Parklife
  • Cities: Skylines Industries
  • Crusader Kings II: Holy Fury
  • Imperator: Rome Deluxe Edition
  • Imperator: Rome
  • Crusader Kings III
  • Crusader Kings II
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sword of Islam
In CK3 the AI has a system I tend to call “stand and fight”. If the player (or any other enemy) is near its army, will beat it, and there’s no real hope of winning the war as all its troops are already gathered, then instead of running away the AI will find a nearby defensive location and wait there for up to a month for the enemy to wipe it out. This way instead of dragging its demise out it makes a last stand in a good location. The result is that the player doesn’t have to chase down armies nearly as much as in CK2, but that it only tends to kick in for wars the player is clearly going to win regardless.
What will the AI do after one month?
And actually it's not that dumb because standing on defensive terrain might be better than trying to run way and getting cought in bad terrain.

  • It should provide some level of challenge, because steamrolling from the get go isn’t fun
  • It should avoid doing things that are frustrating, even if it would make it “smarter”
  • It should feel as if it’s a plausible actor within a Medieval world
So have you told the AI that when they are in a defensive war and outnumbered, it's not their job to send their troops on the offensive? Because the CK2 AI had some very weird priorities in these cases...
And the AI embarking/disembarking without good reason or declaring wars for distant lands while under attack are also a bit weird.
For me, the most important thing is that it doesn't make these obviously weird mistakes.
 
  • 15
  • 2Like
Reactions:

ShadyGuy_SuspiciousGoal

Captain
16 Badges
May 14, 2020
372
1.594
  • 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: Sword of Islam
  • Crusader Kings II: Way of Life
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Conclave
  • Crusader Kings II: Reapers Due
  • Crusader Kings II: Monks and Mystics
  • Crusader Kings II: Jade Dragon
  • Crusader Kings II: Holy Fury
  • Crusader Kings III
Thanks @Meneth ! Fascinating stuff. Will we as modder able to start our own thread? For example, if I decides to make a mod that add a significant calculation to the game (relationship calculation for example) will I be able to call a graphic event (Like a short video of a grave at the dead of the last king) and split out a thread to handle that calculation so that once the "video" is over my calculation is done?
 
  • 1Like
  • 1
Reactions:

chelvo

Mad King of the Worms
57 Badges
Jan 9, 2018
151
408
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Mare Nostrum
  • Magicka 2
  • Pillars of Eternity
  • Supreme Ruler 2020
  • Victoria 2
  • Stellaris: Digital Anniversary Edition
  • Europa Universalis IV: Rights of Man
  • Cities: Skylines
  • Crusader Kings II: Reapers Due
  • Europa Universalis III: Collection
  • Crusader Kings II: Way of Life
  • Stellaris: Leviathans Story Pack
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Conclave
  • Stellaris
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Crusader Kings II: Monks and Mystics
  • Europa Universalis IV: Rule Britannia
  • Crusader Kings II: Holy Fury Pre-order
  • Europa Universalis IV: Golden Century
  • Europa Universalis IV: Dharma
  • Cities: Skylines - Parklife
  • Crusader Kings II: Holy Fury
  • Crusader Kings III
  • Europa Universalis IV: Cradle of Civilization
  • Europa Universalis IV
  • Europa Universalis IV: Mandate of Heaven
  • Crusader Kings II: Jade Dragon
  • Stellaris: Synthetic Dawn
  • Europa Universalis IV: Third Rome
  • Europa Universalis IV: El Dorado
  • Europa Universalis III
  • Divine Wind
  • Europa Universalis IV: Art of War
  • Cities: Skylines Deluxe Edition
  • Victoria 2: Heart of Darkness
  • Victoria 2: A House Divided
  • Europa Universalis IV: Res Publica
  • Majesty 2 Collection
  • Heir to the Throne
  • Hearts of Iron III
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
  • Cities in Motion 2
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
I really like the Stand and fight idea.
Finally no longer the annoying pursuiting!
 
  • 11Like
  • 2
Reactions: