• 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.
Hi everyone, welcome to another dev diary! Last week we talked about changes to frontlines (both UI & backend and AI) and today I want to talk about some of the other fixes and changes we have been up to.

1.7 ‘Hydra’ is a chance for us to rewrite and improve some pesky systems and to step up and go 64-bit, so this diary is going to get a little technical :)

64-bit
1.6.2 will be the last 32-bit build of HOI4 and we will be leaving it (and older as normal) on steam for those who still want to access it (and make sure to mark the build). We also will not be converting any of the old versions to 64-bit. It would simply be too much work. Because of this we have decided to up the big decimal on our version number to 1.7. 1.7 ‘Hydra’ will be fully 64-bit supported on Linux, Mac and Windows and it has been a big undertaking. There are many reasons for this change. Some platforms like Mac are phasing out 32-bit quite aggressively and we don’t want to end up with people not being able to play on there. 64-bit lets us use newer compiler features and a lot more possibilities code wise in the future. It is also about time, because it felt like a lot of the industry did this over 5 years ago :D

As a player you won’t notice a huge difference. We haven’t seen any big performance improvements for example, although I wouldn’t say that it’s impossible some areas might improve as our investigations have been pretty shallow. 64-bit is tricky in that on one hand we get access to the possibility of more optimized code, CPU registers etc, but it also takes up more memory, and memory is often highly impactful on speed too. We see it as an investment into the future where we know we can start taking advantage of things now that the foundation is in and make it easier for us to work.

We have already seen some of this internally where we during this work have been able to replace a lot of basic code structures dating back to the Year of our Lord 2003 :)

Convoy system
The old code system keeping track of your favourite little boats has long plagued development, and after 1.6, when we still had some issues, we decided it was simply best to take it out back and shoot it. 1.7 comes with a new system rewritten from scratch. The old convoy system was operating in a way where everyone could control it, and by association, everyone could also break it at any time. It would also swap convoys in between the country’s supply and the assignments at every single tick, swapping them around all the time, and convoys getting lost because there was no sense of ownership and control over the convoys. It was a nightmare.

The new system is a centralized system where each country has one instance of a class that has full ownership and control of convoys, and any other gameplay code that needs convoys can request them from this system but never have real control over them. This “magically” fixes bugs with convoys disappearing from the game because it’s not possible to write code like that anymore. It’s stability by design along with the other great and exciting stability changes that we are bringing to you with this patch.


Naval Balance Changes
We have been looking at convoy escorting, subs, detection and raiding and making improvements:
  • Subs can now fire also while withdrawing
    • Convoy escort missions were too binary. Either you have protected the convoys in time or not. Arriving on time provided too much of an advantage to the escort and thus made sub raiding less viable. Subs will now get an extra volley or two in most combats, making raiding with high-quality subs against low-quality escorts more viable.
  • We increased submarine detection chance from passive detection (hi bitmode) and lowered detection chance from firing torpedos. Detection chance from passive sweeps now scales parabolically so that large differences in detection and visibility will be much more pronounced.
  • We gave carriers passive sub detection and gave them a detection increase in doctrines. This makes them more viable in their historical roles in the Atlantic.
  • We also increased detection values on some later radars and a bit on sonar, to make detecting subs a bit easier.
We have also been looking at various issues related to convoys and how they defend themselves against naval bombers. There were many different problems:
  • Unit transports died too easily vs naval bombers, this was extra bad for the AI which generally suffered more to this than a player would.
  • In small naval bombers vs transports as above, we also had way too high casualties for the planes
  • Because convoys are not “real” units they would heal up after battle, so unless you sunk them there was no real damage to the enemy.
To deal with this, we have made several changes:
  • Troop transports get a special defensive boost in the particular case of being attacked directly by naval bombers
  • The anti-air formula for ships shooting back has changed so that partial damage is taken into account. We now essentially roll a dice for partial damage allowing it to kill planes. Before, weak ships like convoys that got hit a lot had much to big an impact, and early naval bombers didn't really deliver. This should be a lot nicer now.
  • At the end of battles we add up all the damaged convoys and for a fraction of them we roll a dice based on the damage to see if they sunk from that damage. The kills get attributed to the last to strike them during the regular battle.

When it comes to regular combat we wanted to help out carriers and capital ships a bit and we felt the more realistic way of doing that was to give them a time at the start of the combat when they are the only ones active. Carriers and aircraft are active straight away. Some ticks later capital ships and subs get to fire and last screens. This gives a bit of a boost to those bigger ships and represents their longer ranged weapons better.

Script-Side Performance Improvements
1.6 came with a number of new script features to improve performance for targeted decisions. Previously these decisions would check every country in the world every day, and with some of the more complex triggers that could amount to quite a bit of number crunching. With the new features, we can pre-restrict the list of targets to reduce the necessary number of checks. Unfortunately, the new script features came too late in development for us to utilize these features in the initial release and other bugs took priority.

Thankfully, a member of the community by the name of Antoni Baum (aka “Yard1”) did make the effort to go through our script and fix all the places where the new features would make a difference (as well as a few triggers where a small reordering of script checks resulted in better performance). This work has been merged into 1.7 with permission. While it is difficult to measure the immediate performance effect of these changes, we saw a performance improvement of about 5-10% depending on the overall gamestate, number of wars etc.

We planned to put 1.7 out as an opt-in beta tonight but we hit some snags (which is why this diary is a bit late ;)) but we think we should have the open beta tomorrow with patchlog for those brave enough to help us test it :)

See you again next week!
 
""When it comes to regular combat we wanted to help out carriers and capital ships a bit and we felt the more realistic way of doing that was to give them a time at the start of the combat when they are the only ones active. Carriers and aircraft are active straight away. Some ticks later capital ships and subs get to fire and last screens. This gives a bit of a boost to those bigger ships and represents their longer ranged weapons better. ""

Another question i have is, would it be too hard to make it so it is the heavy guns & torpedos that have the earlier activation ability over light guns, instead of capitals vs screens , so that mass light attack CA spam is not a thing ( they already get a hit chance bonus from screening and they did not really need a buff , it was mainly the other ships with actual hard attack underperforming)
 
Very simple and effective fix for carriers :D does the time when the screens/capitals are out of range vary at all based on task force speed and weather?
Also unless I missed something it doesn't look like you mentioned anything about the 24-ship softcap for admiral XP gain, is that being tweaked? Thanks for the update!
 
I have been thinking of doing something where CAS is better vs armored targets compared to NAV to give them both a role, but that would require quite a lot of changes to both plane combat and naval combat.

Couldn't you also give them different target prioritisation with naval bombers aiming for carriers and capitals whilst cas attacks screens and cruisers (or something of that calibre)?
 
Has thought been given to possibly rebalancing the naval fire control systems? As it currently stands, the negatives (chance of being crit) outweigh the positives. Maybe a reduction to the crit chance, offset by an increase in cost or by a decrease in the positive benefits (or both)?

I do appreciate the hard work that the Hoi4 team has put into the game, and I enjoy it very much (as seen by way too many hours invested in playing it!).
 
Anything about the ai frontline bug ?
You spoke about it last week but can you confirme it has been deatlh with ?

From the first dev diary and for people that are wondering.

AI in Hearts of Iron is a very complex problem and something we will always be working on improving. It will never really be “done”. We are feeling a lot better about the eastern front now and shuffling issues there, but there is, of course, lots of work left to do everywhere. It won’t fix everything, but I hope it will feel a lot better when you get to try fighting the Soviets again in 1.7
 
Also unless I missed something it doesn't look like you mentioned anything about the 24-ship softcap for admiral XP gain, is that being tweaked? Thanks for the update!

you'll need to wait for the patchlog for the smaller stuff. but yeah the 24 cap is fixed
 
I have been thinking of doing something where CAS is better vs armored targets compared to NAV to give them both a role, but that would require quite a lot of changes to both plane combat and naval combat.
First, thank you for the answer! Second, why not a crit system? For example CAS can give more crits (putting enemy ships in fire) reducing their performance.
 
I have been thinking of doing something where CAS is better vs armored targets compared to NAV to give them both a role, but that would require quite a lot of changes to both plane combat and naval combat.

Couldn't you also give them different target prioritisation with naval bombers aiming for carriers and capitals whilst cas attacks screens and cruisers (or something of that calibre)?

First, thank you for the answer! Second, why not a crit system? For example CAS can give more crits (putting enemy ships in fire) reducing their performance.

Dauntless dive bombers, CAS in the game, sunk more carriers than any other aircraft type and they were not used against screens. The game fails to simulate their effectiveness. I await 1.7 to see if that improves, so far, death stacks still rule in 1.6.2 and screens for carriers are still too far away from carriers to be effective. Carrier screens protect carriers from Subs and aircraft so they must be close to the carriers not several kilometers in front.
 
This, and also main guns and AA. Between their speed penalty and greatly increased costs they hardly seem worth making.
It would be a pity if this was not 1.7 :(
I'm a man, whose competence in shipbuilding ends on number of articles and WoWS game experience, but even I know, that if we talk about low-caliber AA of 20-57mm caliber, their combined mass would be a joke in comparison with general displacement of ship. And fire control system are a) protected b) reserved c) vulnurable parts are easily replaceble d) even in the worst case scenario you just get back to methods of beginning of 20th century (but that would mean, that your ship is so severily beaten, that you better start thinking about retreat).

Critical vulnurability of the ship are his guns. Guns need ammo, this ammo needs protection, which means growing displacement, slowing ship itself, and higher risk that somewhen one shell will earlier or later reach ammo magazines.
 
Last edited:
About NAV and CAS: has anyone seen historical data about how many carriers, battleships and battlecruisers were sunk during WWII by torpedo bomber, how many by dive bombers? Preferably divided between carrier-based and land-based planes.
 
I have been thinking of doing something where CAS is better vs armored targets compared to NAV to give them both a role, but that would require quite a lot of changes to both plane combat and naval combat.
IMHO it should be the other way round. Normally the dive bombers were good at sinking unarmoured ships (see Midway, were the unarmoured Japanese carriers were sunk by dive bombers, but not the armoured carriers in the Mediterranean) while torpedo bombers were also good at sinking armoured ships (e.g. torpedo bombers were used to sink Yamato). The Tirpitz was sunk by bombs, but that were especially constructed very heavy bombs.
Also the torpedo bombers were much more vulnerable to AA and combat air patrols. I think even with the current system you could mimic it to some extent, by giving the CAS some more naval targeting and less damage than naval bombers. For the first tech level it is already like that, although not enough in my opinion, but not anymore for higher tech levels. Also the difference in speed and agility could be increased.
 
Looks like a bunch of nice changes thoughout, although the real star will have to be:
Thankfully, a member of the community by the name of Antoni Baum (aka “Yard1”)

This is really nice to see. Seems like lots of games have fans that make performance improvement mods, yet never does it seem like the developers take note of what was done and follow along. I'm glad that this guy's work could be incorporated into the official code.
 
but we think we should have the open beta tomorrow with patchlog for those brave enough to help us test it
What's the battleplan for this beta testing?
What's the estimated enemy strength? How many divisions do they have?:p
 
Please revamp the Yugoslav focus tree.
I asked earlier about TfV and DoD
We have loosely discussed what to do once we are through the majors we want to improve and it would be nice to be able to sexy up those trees a bit with some of the new features too. But its not something we got concrete plans for yet
 
About NAV and CAS: has anyone seen historical data about how many carriers, battleships and battlecruisers were sunk during WWII by torpedo bomber, how many by dive bombers? Preferably divided between carrier-based and land-based planes.

Although this is the kind of data I'm certain someone has compiled, this was the best result I could find in the Internet, which isn't really even close to what you asked for. If there is a good search string, I couldn't think of it.

https://en.wikipedia.org/wiki/Category:Ships_sunk_by_aircraft

The US Strategic Bombing Survey had detailed information about some damage in naval engagements, Midway in particular, but it isn't 100% reliable as it was based on camera footage and pilot reports. But it's not the comprehensive list you wanted.

IIRC, PoW and Repulse both fell to land-based torpedo bombers. In some cases, such as the Yamato, it was a combination of torpedoes and bombs.