Hi everyone! It’s time to touch base and start talking about what we have been up to since we released 1.6.2. We have been both preparing to start on the next big expansion which will come together with the 1.8 “Husky” Update as well as working on various tasks for 1.7 ‘Hydra’ which is the next upcoming release. Let's jump in. Beware, it’s going to be pretty wordy!
1.7 ‘Hydra’
So first up, why 1.7? This is because we are now
going 64-bit which will mean you can no longer run HOI4 on 32-bit, so we want to make it clear it is a different technical base. More on this next dev diary though.
We have also worked on some of the bugs that have popped up since then, most importantly front issues for Germany vs Soviets. This was something that was reported during 1.6.2 development, but as we dug into things it turned out to require a lot more work than we had planned. We made the decision to do it for 1.7, and instead of just fixing that particular issue we also reworked a bit of how fronts and the ai work. This is going to be what the diary will be about today!
Oh and because people will ask... we are not super far away from the 1.7 release. We plan to let you help test it in open beta soon (where soon means like “within a week” or thereabouts).
What’s new on the eastern front?
Operation Barbarossa, which is the German invasion of the Soviet Union, is one of the pivotal balance points in HOI4 (and in all the HOI games) together with the fall of the low countries, Poland and the Sino-Japanese war. After 1.6.2 we had Germany beating the Soviets a bit too easily, and in particular, players had too easy of a time doing it. This had a lot of different reasons. The primary one is that we spent a lot of time overhauling the German strategic and planning AI which has made it very consistent and strong. Additionally for the AI, being good at defending is a much harder job than being good at attacking. What wasn’t working properly was that when the Soviets finally fell, it was often due to an issue related to frontline stability. The Soviet AI would misprioritize this and move a large part of its front elsewhere, leaving a hole that the German AI would often exploit (which players also definitely did). It’s also not fun beating an AI when it makes such a critical mistake. This particular case was extremely random, but the front reaching Crimea was a common factor. At that point, a new front would open at the same time as the line became long enough to require multiple Army Groups to cover it, which was another weakness for the AI. A lot of those technical issues should now behave a lot better and we are consistently seeing much better performance from the Soviets. Although, they do still generally lose in the end, but this is mostly by design.
To explain why this is a good target, let’s look at our balance targets for Barbarossa:
- The Axis pushes the Soviet line in slowly until the Soviets lose in 1945 unless the Allies secure a big landing and relieve the Soviets, at which point Germany should start losing with its forces split across the 2-3 fronts.
So why is this a good target?
- As an Axis player, it means business as usual. You get to beat the Soviets, and the better we make the German AI (which does the heavy lifting), the more challenging we can make it for a player Germany and still retain the balance target.
- As a Comintern player it means you need to defend, hold out, and push back Germany. Here, the stronger we can make the German AI, the more challenging it is for a Soviet player. So to keep our balance target we want to make the Soviet as tough as possible, but on their own, they need to break by ‘45.
- As an Allied player, you have a bit of a race on your hands. A Germany that has beaten the Soviets will be a very difficult target, so you need to build up your strength and preferably strike when the German army is as extended, as it will get some solid landing points (ai is better at defending too now, so this is not always so easy). From a balance point, we need to make sure that the eastern front holds up long enough for you to get ready to do this. If the Soviets can push back the Germans on their own, there is no reason to play someone on the Allied side. If Germany beats the Soviet too fast, you will not have time to get involved (especially since the Allies are much more spread across the world and contains more minor nations we wanna make sure can make it to the party).
Hopefully, that clarifies how we think about stuff. At the moment the allies do ok in Africa, but pulling off consistent D-Day scale invasions is something we have as more of a long term goal we are working on. Invasion skill for the AI has improved a lot, but the AI has also gotten better at defending. We have thought out a long term plan to also tackle this, but it requires a lot more strategic planning on the side of the AI with respect to theaters, so it is something you will need to look forward to in the future
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
Tools
So while I am talking about AI, let's take a look at some of the tools we use to stay on top of the strategic situation and to help find relevant savegames, etc.
Every night we run several machines hands-off that record various data for us and lets us check whether we broke something, measure improvements, etc. Loading 30 savegames every morning and going over them is neither fun nor effective, so we have developed this awesome web tool that gives us a quick timeline and map to scan over:
Heat maps also make it easy to scan over time and see where the AI is distributing and focusing its units. This example below is highlighting the Japanese forces late 41:
Unit Controller for Players
So that was all about the AI, but we have also done underlying changes as well as UI that will affect you as a player.
A lot of players liked using primarily Army Group Orders for their armies so we have been doing various improvements there. For example, if you do not want to mess with individual army orders on a front you could already hit Shift-Click when setting up the frontline and it would simply keep all the units on the army group order. This is primarily how the AI handles big fronts now. If you do it this way as a player we have cut down a lot of the clutter you get by spreading multiple armies over the same area by having divisions without individual orders and part of an army group order to simply show and group on the map by using the Army Group color. As an example, this is an Army Group Frontline where each army is assigned a piece:
Now, if you are the kind of player who has a big front and wants to simplify things by giving it all over to the Army Group (Shift-Click to create the frontline) you will get this:
There are still 3 armies there, but because you didn’t care to assign a position we won't clutter things by showing that (this also work for garrisoning which is really nice for big areas). You can still select the individual armies as normal in the bottom bar and in the selection lists etc.
For players who prefer to keep control over where each army is assigned we have also made that easier in two important ways:
- Each army front piece on an army group front must connect, so no holes are allowed. That among other things means that you only need to adjust one point (the connection point) if you want to adjust how much frontline each gets, rather than trying to adjust 2 points, sometimes while the front was moving and with the game unpaused :S
- We have added controls to be able to change the order of the armies if you want to reshuffle that. The middle of each line when in Edit Mode will now show arrows which let you swap position for that piece of the frontline with its neighbors.
We have also increased saturation on all the rendering of plans on the map to make sure they are easier to see and to make sure they match their respective army colors better.
Next week we will be going over other bugfixes, balance and other changes so tune in then!