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

My first question is why separate CAS and Naval Bombers? The differences between dive bombers and CAS is minimal. Perhaps have light bombers with a carrier variant with good CAS/Nav attack then have tac bombers have a variant to represent seaplanes that have better nav spotting and depth charges to counter subs. Then you need both in the air to have reliable ability to find and sink naval targets which balances out some of the balance lost by making nations build two different types of aircraft for CAS and Nav.
 
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.
Yeah, but this is primarily because the US Type 13 Torpedo sucked, so the Dive Bombers did most of the work. Most other navies found the Torpedo Bombers were more effective.
 
Yeah, but this is primarily because the US Type 13 Torpedo sucked, so the Dive Bombers did most of the work. Most other navies found the Torpedo Bombers were more effective.
Most of the capital ships Japan sunk, like the Repulse and Prince of Wales, was by torpedo.
 
Most of the capital ships Japan sunk, like the Repulse and Prince of Wales, was by torpedo.
Yes, but all these ships were battle ships which were build heavily armoured to resist heavy artillery of other battleships. Those shells weighted about 1000 kg. It was difficult for dive bombers with bombs of 250kg, 500 kg and sometimes 1000kg to sink such a ship. But dive bombers were very effective against less armoured ships like carriers, cruisers, destroyers, see for example the British ship losses in the Mediterranean or the Japanese carriers. The American carriers used about twice as many dive bombers than Torpedo bombers and also the Japanese, which had the best torpedoes had equal amount of DB and TB.
 
Midway is overly cited on these forums by carrier fanatics that want carriers to destroy everything quickly.

If you take a closer look at Midway, the lesson to be learned is the value of air cover. The Japanese CAP was composed of a small number of lightly armed A6M2 Zeroes yet they were able to shred wave after wave of US bombers until sheer numbers overwhelmed their interception capability. Imagine what a large force of land based long range advanced fighters such as the P-47N or Spitfire Mk24 could do to the bombers of a typical carrier air group.
 
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.

That would be the exact opposite of how they were used historically wouldn't it? ( unless we mean tanks when we talk about armored targets ).

CAS generally speaking did not carry armor piercing bombs that could penetrate battleship deck armor, but they were great at devastating Carriers lacking such protection, and also better at hitting more agile targets like destroyers.

NAV is what would be Battleship/Armored Target killers.

For the pearl harbor attack the Japanese knew their dive bombers couldn't sink battleships, so they developed special AP bombs dropped by level bombing NAV instead ( which is what blew up USS Arizona ).


What I really would like though is that Carrier planes automatically support land combat when on the invasion support mission ( without range penalty since they sail right up the the shore being invaded ). That would make Carrier CAS much more useful I feel.
 
@podcat great improvement to MtG oversights that will hopefully polish it rather than having to wait for another naval update, which I doubt will ever happen in HOI4. I pray that most if not all of the changes you made are tweakable by defines in case your hands off testing missed the mark on some situations.

The use of carriers for islands invasions is still sorely overlooked. Have you all put any thought into this?

I feel the best solution would be to make it such that if aircraft are on carrier mission and in a fleet providing naval bombardment, then all CAS and a % of fighters are automatically assigned to the invasion. This can be split for multiple invasions like in Normandy. Same for defense, if an airbase is in a state being invaded then a % of fighters and CAS/TAC are assigned to naval invasion defense, although the implementation of defense is tricky because it should be a high % for true Island scenarios and can be ‘normal’ implementation for continental based airbases.
 
Last edited:
Most of the capital ships Japan sunk, like the Repulse and Prince of Wales, was by torpedo.

This is a fairly true statement, but there are reasons for this. The Japanese had an excellent aerial torpedo, and until their Kate air crews were slaughtered by mid 1943 they were very well trained in doctrine and use.

The other issue was that the Aichi D3A Val was an older model that normally carried only 1 550 lb and 2 130 lb bombs. That wasn't necessarily enough to sink a large ship like a carrier, although they did hit quite often. After Coral Sea the USN damage control procedures and equipment were the best in the world. The largest ship Vals are credited with is the Hermes.

Another thing to remember, RN fleet carriers went to an armored deck that shrugged off hits that would incapacitate an IJN or USN carrier. That protected them somewhat in the Med from dive bombers, but torpedo bombers were another story. A 40 ft hole in the side will ruin any ship's day.
 
@podcat

1. Have you guys thought about making weather effect last longer (example, minimum 1 week) so that it is more interactive for the player. One example is when there is a storm carriers cant use planes. The problem is that weather effect can last only few hours or a day so you cant really plan your naval battle for best possible weather etc. Also, you could perhaps sneak some ships in poor weather without enemy noticing and things like that.

2. AA guns on ships reduce speed by -2% IIRC. Why other stuff like secondary battery doesn't reduce speed?

3. Also, shouldn't light guns in fact be secondary batteries instead of separate class?

Thanks, changes are looking great, cant wait to test.
 
Will we need to reinstall for 1.7?
Only if you uninstalled for some reason. You will need to 'opt-in' to the betas. Instructions will be included in the release announcement as well a being stickied somewhere around here.
 
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.
Is this in the plan for the future then? Maybe the next DLC?

Also do you have any plans to incorporate carrier strikes independent of naval battles as it is in the game now?
 
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

The best thing that I've seen written on these forums.
Sexy up those trees and make the Australian-Canadian Empire great again.
 
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.
I'm not sure there's any feeling in the world of software development quite as good as getting rid of a piece of legacy code that has been a lingering problem. :)