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

Developer Diary | Tech

Bonjour friends, it’s your favourite Tech Lead again!
Last year already I wrote to you in the final weeks leading to the release of the Barbarossa patch, and we draw close to the go-live of the Avalanche patch, here I appear again.

Old Platforms Retirement Plan

Like the future, technology is always in motion. As new platforms arise, olders need to be taken behind the barn and put down.

Don’t worry, we’re not talking about Windows 7 (yet ). Despite the release of Windows 11, we have not elected to make a push to Windows 10 since Microsoft’s support for new tech on older releases is still fairly good.

The same cannot be said for Mac and Linux, sadly. And so, starting the new 1.12.0 release, the minimum OS versions will be macOS 10.14 (Mojave) and Ubuntu 20.04 LTS (Focal Fossa). You will still be able to play older HoI versions on older operating systems by rolling back to previous branches, but Avalanche will refuse to start.

Those updates are done in order to introduce new tech to our games (not just HoI) and ensure that all can be built on the same infrastructure within the studio.

New Defaults

Last year we introduced the option to run the game with DirectX11 rather than the venerable DirectX9. After a long period of observation and very few issues observed, we have decided to make it the default.

The first time you start the Paradox Launcher on Avalanche, the game will perform a one-time upgrade of your settings from DirectX9 to DirectX11. New installations will also default to DirectX11.

If you notice any issue due to this change, first, please make a bug report, and then simply go to the settings page and set the renderer back to DirectX9.​
image8.png

Visually the game should look absolutely the same, but internally the tools that come with DirectX11 have helped us find a few sneaky graphical bugs that will be fixed in Avalanche, such as weird white squares appearing on the side of some tank models.

Performance Improvements

This is I bet the bit most of you were waiting for, the usual question of “will the new patch make the game run faster than previous versions?”. And I’m happy to say the answer is yes.

The biggest improvement has been made to the map icons rendering (unit counters, factories, supply hubs, you name it). The number of icons potentially displayed on the map had grown a lot since HoI’s release 6 years ago and the historical algorithm wasn’t cutting it anymore.

For example, here are what the FPS and frame time look like on Avalanche on my work desktop (i7700, NVIDIA GTX 1060, vsync off and 150 fps cap):​
image2.png

Avalanche default zoom

And Full zoomed out:
image5.png

Avalanche Zoomed out

Finally zoomed back in, but with Speed 5:
image1.png

Avalanche at Speed 5
(If you forgot last year’s dev diary, you can pop up the ingame profiler by typing imgui show profiler in the debug console).

Contrast those numbers with the ones from the current live build (Barbarossa 1.11.13):​
image6.png

Barbarossa default zoom
Note that Barbarossa denotes rendering performance in “render time” rather than “frame time”, which is only the GPU part, while Avalanche counts both CPU and GPU rendering time, so the numbers look different.​
image4.png

Barbarossa zoomed out

image3.png

Barbarossa at speed 5

Since PDS games from HoI’s generation tie up rendering and game simulation, this will translate in faster tick speed (on top of a few smaller performance optimizations we added to the simulation itself). Although, to be clear, faster rendering does not translate perfectly in faster game speed. It mostly means a more fluid experience when playing (especially unpaused in Speed 4-5), and then some improvement to the speed of the game simulation.

Speaking of which, I have read and seen a bunch of “guides” to HoI performance over the past months sharing tips & tricks on how to improve the game speed, so let me give you mine: consider disabling VSync in your graphics settings, unless you have a high refresh rate monitor.
The way the game simulation waits for rendering to be done to continue, with a slow refresh rate your CPU might end up spending precious time waiting on your monitor VSync which is not ideal. This root of the issue is difficult to address on HoI4 especially with DirectX9, but with DirectX11 becoming the default we will see if there is a way we can address this in the future. No promises though.

Final Thoughts

Last year I had some extra French content to show, but I’m afraid this patch I was a bit short on time to bring you more. Although if you like Tech and History, I recently wrote a technical presentation on how to crack Enigma on a modern computer, with a focus on bringing the works of Marian Rejewski to light (as he and the Polish Cipher Bureau tend to be left aside in favour of Alan Turing and Bletchley Park in many stories). There’s no recording available yet, but I’m scheduled to deliver twice more this year at tech conferences so they’ll be on Youtube eventually.

Speaking of Poland, have you all found my secret event in Barbarossa yet?​
image7.png

That’ll be all for today, but I’ll be happy to answer your questions, tech or otherwise!​
 
  • 65Like
  • 13
  • 10Love
  • 2
Reactions:
I like hearing performance will be better, but I am sad that it's one more week for the achievement dd.
 
That’ll be all for today, but I’ll be happy to answer your questions, tech or otherwise!​
Thank you for the nice dev diary!

By the way, if you're willing to answer non-tech questions, I have a question about the dynamic naming system for battle plans announced in the August 10th dev diary. (Yes, I was busy at the beginning of last month.)
Is the naming list for battleplans localized and is it translatable?
Or is it always in English, like the name lists for ships and divisions?

For the sake of role-playing, I hope it is localized.
 
  • 1Like
Reactions:
There'll be no better time to than right now to ask so I will, when HOI4 released in 2016 it had the minimum/recommended specs at
Intel i5 750 | AMD FX 4300 & Intel i5 2500K | AMD Ryzen 3 2200G
How much compute was being asked of these chips to achieve what types of performance and how much would that be now (the changes in compute from early mid and late)? As the years go by the game is getting slower, both with all the dlc's and the expanded base game itself. It would be nice if PDX had a policy of updating the minimum/recommended for each new dlc as they came out.
 
  • 2Like
Reactions:
I hope they can also fix the issues with the launcher, it's very buggy and confusing the UI is too messy while also not giving you much control, worst of both worlds.
 
Hey Mat, thanks for sharing this!

If you have the time, I would love to know how you are handling performance improvements in the Hoi4 team.

  • Do you do them "as you get by" while changing other code and then stumbling over something like "oh, this could be optimized!"?
  • Do you have a list of things that need optimizing and that you try to get to when planning your next patch/DLC?
  • Or do you just have a big note somewhere hanging around that says "PERFORMANCE!" but you don't know yet what to do and when someone is assigned that task, they just look through the code/profilers and try to find something?
Also I'd love to know, if there are optimizations that you and the team knows off, that would have a greater impact on performance but you haven't yet got the time/resources to implement them?

Thanks in advance :)

P.S.: You can get as technical/detailed as you like and your time/word count allows :D
At this point we two things: first we track overnight performance and tackle regressions introduced by new changes/features, then we also use tools from time to time to take a "visual" snapshot of what takes time in HoI and see what we can do from there.
Here's an example caputre from one of those:

1663234591472.png


Over time there are bits we know are not great, some of them we have addressed more or less when we found them, some we keep in mind for later as this would be a risky change, and some where we more or less have to accept that it's not realistic to change at this point.
As for how much we could spent on it, I'll be honest, it all comes down to the big money question: what will in the end generate more revenue? A faster game? More frequent DLC releases to sell? Going back and fixing older content? ;)
Same game engine, so it still is one cpu core and minor use of couple of others.
You need HOI5, with new game engine, to get late game performance update.
See my previous answer about multithreading.
 
  • 13
Reactions:
At this point we two things: first we track overnight performance and tackle regressions introduced by new changes/features, then we also use tools from time to time to take a "visual" snapshot of what takes time in HoI and see what we can do from there.
Here's an example caputre from one of those:

View attachment 877429

Over time there are bits we know are not great, some of them we have addressed more or less when we found them, some we keep in mind for later as this would be a risky change, and some where we more or less have to accept that it's not realistic to change at this point.
As for how much we could spent on it, I'll be honest, it all comes down to the big money question: what will in the end generate more revenue? A faster game? More frequent DLC releases to sell? Going back and fixing older content? ;)

See my previous answer about multithreading.
Thank you for that insight, very interesting :)

I wish you, that the next DLC will sell good enough, that you can spare some more time on lategame performance :^)
 
  • 2Like
Reactions:
I got about halfway through the dev diary before I realized it wasn't going to have any content about HOI4 Tech Tree updates.

But I appreciate both the performance boosts - although my "recommended" 2500k is still hanging in there all right for HOI4, better than for EU4 to be honest - and especially keeping Windows 7 around. I'm on 8.1 (probably upgrading later this year but not before 9/27), but as a frequent Italy player and lend-leaser, some of the Avalanche/By Blood Alone improvements look pretty nice.
 
  • 2Like
Reactions:
I'm guessing that'll be next week.
Achievements, art, music, patch notes. Pity the Fool who has to write that. Next weeks dev diary will be several pages.
 
  • 1Haha
Reactions:
This profiler GUI looks very familiar to me; can you share its name? Is it some sort of an open-source stuff both of our overlords have happened to be in favor of?
It's called Optick and it's a free open-source tool.
 
  • 5
  • 1Like
Reactions:
Hoi4 already doesn't launch with Ubuntu 18.04, that is from patch 1.11.13 Barbarossa which was released at the end of August. Would have been nice if you guys had released this info way before and not put me, for instance, unable to launch the game anymore suddenly. Maybe you should update the steam requirements also, I've bought BBA yesterday and it still presents 18.04 as the recommended Linux OS for the new expansion.


There were launching issues with 20.04 also, as the above thread mentions those.
 
Last edited:
  • 1
Reactions:
Hoi4 already doesn't launch with Ubuntu 18.04, that is from patch 1.11.13 Barbarossa which was released at the end of August. Would have been nice if you guys had released this info way before and not put me, for instance, unable to launch the game anymore suddenly. Maybe you should update the steam requirements also, I've bought BBA yesterday and it still presents 18.04 as the recommended Linux OS for the new expansion.


There were launching issues with 20.04 also, as the above thread mentions those.
1.11.13 is still compatible with 18.04, we specifically used older build servers to make sure of that. I'm afraid your issue is related to something else.
 
  • 8
Reactions:
Have ya'll thought about adding a Officer "death" mechanic to this DLC? Like with all these new officers, adding a 0.05% chance or something to these new Officers to die during a battle could add good flavor.
 
  • 3
  • 2
Reactions:
Have ya'll thought about adding a Officer "death" mechanic to this DLC? Like with all these new officers, adding a 0.05% chance or something to these new Officers to die during a battle could add good flavor.
I'm no game designer, but seeing how we cut "officer goes disloyal at random" in No Step Back after realizing how not fun and arbitrary it was, I'm doubtful we'd go about randomly killing your generals.
 
  • 8
  • 1Like
Reactions:
I'm no game designer, but seeing how we cut "officer goes disloyal at random" in No Step Back after realizing how not fun and arbitrary it was, I'm doubtful we'd go about randomly killing your generals.
What about by operation? With La Resistance of course

While killing country leaders would be difficult to get working properly with focus trees, it would be great if we could model something like Operation Vengeance to kill enemy generals/admirals

Ditto for operations involving killing agents on counter-espionage
 
  • 2
  • 1Like
  • 1
Reactions:
Hmm, I had DX11 ticked and whenever I launched HoI4 I had a VERY dark screen (akin to this: Click me, but it's not mine!)

I had to switch back to DX9. I even filed a bug report on this that never got attention. So I am curious if you have fixed that issue?

I have a 5900X, 6900XT and the latest AMD drivers. My monitor is a LG OLED 48 C1 if this helps.
 
  • 1
Reactions:
The same cannot be said for Mac and Linux, sadly. And so, starting the new 1.12.0 release, the minimum OS versions will be macOS 10.14 (Mojave) and Ubuntu 20.04 LTS (Focal Fossa). You will still be able to play older HoI versions on older operating systems by rolling back to previous branches, but Avalanche will refuse to start.
Just to confirm, will HOI4 still run on other Linux distributions, such as Arch Linux? It would be a shame to see HOI4 being locked behind Ubuntu.
 
  • 1
Reactions: