• 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 | Small Features

Hey everyone! I'm Plankie, one of the game programmers on hoi4, and one of my favourite parts of developing a game is to work on the game AI. So when I was asked, almost a year ago, whether I wanted to take charge of a small AI feature, I was delighted! The goal of this feature was to make the AI better at concentrating their hardest and meanest divisions instead of spreading them out along an entire front line. This is something we've wanted to do for a long time and with the Germany-focused Götterdämmerung expansion, we had the perfect opportunity. We call this feature AI Force Concentration, or AIFC for short (an acronym which has caused many football-related jokes in the team).

AI Force Concentration

So
WHY did we want to focus on this?
Well, first of all, the AI has frankly not been very good at handling their armoured divisions. Sure, they produce tanks and assign them to fronts, but they are seldom concentrated enough to actually pose a threat for the defender.
Second, the AI always pushed along the entire front with equal effort. There's nothing strictly wrong with that, but most military operations have a strategic goal like capturing a city or a supply hub rather than just taking ground, so making a concentrated offensive effort towards a specific goal seems more realistic and human-like.
Third, we want to make the combat gameplay more dynamic and interesting for you as a player. If the enemy concentrates more and better divisions in a certain sector, it requires you to make choices. Should you meet the anticipated offensive head on, will you lure them into a trap, or use the opportunity to attack somewhere else?

small_features_1_aifc_1.png

The days before Operation Barbarossa. The AIFC divisions are visible in the right picture as the turquoise army, preparing to quickly take a supply hub in Volyn when the war kicks off.

Cool! How does it actually work then?
For the most important fronts, the AI considers whether it wants to concentrate its forces. If it has enough units available to both hold the line and still allocate units for offensive duty, then it will create an AIFC army. This army will receive the "best" divisions along the frontline, taking into account factors like attack and breakthrough stats, how experienced they are, how fast they can move, and so on.

The AI then evaluates possible targets close to the front line, for example supply hubs, ports, large cities and so on, and it finds a path from the front line to the chosen target. This path is determined according to the path-of-least-resistance principle, which essentially means that it tries to avoid river crossings, bad terrain, fortifications and so on, while also following railway lines in an attempt to avoid ending up in a situation where it can't supply the troops.

small_features_2_aifc_2.png

The paths evaluated by Germany before Barbarossa.

The AIFC armies follow those paths-of-least-resistance and will continuously update their orders to make sure that the front lines match up with the intended path. Of course, since placing too many units too close together might cause some problems with your Amazon deliveries (a.k.a. your supply situation), they will spread out somewhat along the neighbouring provinces.

But as they say, "a plan never survives contact with the enemy". This can be true for the AI as well. Because of this, it keeps track of how well an AIFC offensive is going. If the offensive is going well, by all means let's continue pushing. But if it stagnates and fails to make progress towards the target, then the AI sooner or later decides that the plan indeed didn't survive the enemy contact, and it tries to find another target for its next offensive. Similarly, if the offensive succeeds and the target is taken, the AI will start looking for new opportunities to concentrate their forces and break through, taking into account the newly conquered areas as a potential start of the offensive.

In order to make it feel like the AIFC behaviour is not static, the degree to which it is used is (mainly) tied to the doctrines an AI has unlocked. This means there will be a difference between for example fighting an early war Soviet Union compared to a late war Germany. Doctrines which narratively and stats-wise promote a higher force concentration will make the AI prefer using AIFC to a higher degree (fully scriptable of course, so all our wonderful mod creators can play around with it).

small_features_3_aifc_3.png

On the receiving end of an AIFC offensive.

More New Things
Thomas here now to add some more info about a selection of other things we have been working on. Aside from the AIFC, we have - as we tend to do - tried to touch up things here and there during the development of Götterdämmerung. So let’s take a quick look at some of the other smaller features and changes we have done:

New Technologies
The tech tree has as mentioned in the Special Projects Developer Diary received a few new techs relating to Special Projects. But those are not the only changes we have made to it. We have also added a few new techs to make research and gameplay slightly more diverse, and give you a few more options.

First of all we have added a few new Transport Plane Techs and related tech and equipment icons. The main benefit of researching these is that your transport planes gain more range, allowing you to paradrop or supply your troops at a greater distance.

small_features_4_transport_planes.png

One cannot have too many Junkers, right?

The other, slightly bigger change we have made is to forts. Previously everyone could build level 10 forts everywhere from the get go. Now the max fort level depends on the terrain the fort is in, and the techs you have researched - as well as other modifiers you can get from e.g. focuses. This means the engineering tab has received 5 new techs for forts - one general, and two each for Land Forts and Coastal Forts.

Initial maximum fort levels, without techs or other country specific modifiers are set to 6 for all Coastal Forts, and Land forts are as follows:
Plains: 5
Hills: 5
Urban: 5
Forest: 4
Mountain: 4
Desert: 4
Jungle: 3
Marsh: 3
(Note that values might change before release. Yes I know that I’ve said this already, but just to make sure the message gets across :) )

small_features_5_fortification_techs.png

The new fortification techs,

small_features_6_forts_in_state.png

Here we have upped our fortification capabilities a bit, just need to construct the actual forts

Command Power Cap
We have also slightly changed how the Command Power Cap works. The base Command Power Cap has been reduced, but your High Command will now increase it, so that with a good set of military commanders, you will have more Command Power at your disposal. This should make it less punishing to build up your high command, rewarding you for having a competent staff.

small_features_7_command_power.png

By adding von Rundstedt to our staff, we increase the Max Command Power by 20

Dams
As Mentioned in other dev diaries, there are now Dams in the game. They can be targeted by Raids which makes them a bit of a liability, but not by strategic bombing so they are relatively safe. What do they do? Their main effect is that they boost the state they are in, making it easier and better to invest in industry there. You can’t build new dams except through specific focuses.

Landmarks
Another thing you can see on the map, and that several of you have already noted in previous diaries and streams are what we call Landmarks. First of all, these look super cool on the map, and make countries more unique. But additionally they have small country level effects. A bit like National Spirits, but as buildings on the map. The cool thing with these bonuses is that they only apply to the country that originally owns the Landmark, so by capturing for example the Statue of Liberty, you can deny the USA their bonuses, but you won’t get them yourself.

small_features_8_landmark.png

A landmark in the UK

State and Province UI - minor QoL changes
In order to make the difference between State and Province effects a bit easier to see at a glance we have made some changes to the State and Province UI. The main focus of these changes were to ensure that Province Effects are in the lower part of the window, and state effects are in the upper section.
A special area for all state effects and a summary of all state related effects from buildings has been added at the bottom of the “State section”.

Some of the more unique Province level buildings, such as Dams, Landmarks, and Experimental Facilities, are displayed in the “Terrain section”, while the rest are displayed beneath it as before.

small_features_9_state view.png

The upper section, marked in yellow in this image, contains things that are relevant for the entire state, so e.g. state related modifiers have been moved up there. Down in the bottom section, we have collected all the info that relates to the province, such as terrain, weather, victory points etc. Not a drastic change in any way, but hopefully it should be a bit easier to understand what relates to what.

Area Defense QoL
We have also done some minor quality-of-life updates to the Area Defense settings. First of all, no specific settings are active by default when you open it up (unlike the old behaviour where all settings were activated by default). Instead, if no special setting is specified, the divisions will spread out as evenly as possible in the selected area. We changed this since a very common pattern when using Area Defense was to immediately unselect all the options one wasn't interested in, which led to a lot of unnecessary clicks.

small_features_10_ad_1.png

The new Area Defense settings for guarding borders and special project facilities (red arrows), and the updated supply setting (orange arrow).

The supply setting has received some small changes: Instead of trying to cover the supply hubs and ALL the railways, it will now cover supply hubs and railway junctions. It has also received a new icon depicting a supply crate instead of the previous railway icon. We have also added two new settings to Area Defense: Guarding borders, and guarding special project facilities.

small_features_11_ad_2.png

The new Area Defense setting for guarding borders

Horsies with different colours
All horses aren’t bays, or browns for that matter. This is something one of our artists, who happens to really like horsies, was very aware of and wanted to do something about. So after having convinced one of the programmers that this was a brilliant idea, they set out to make a few new textures and ensured that the horsies in the game now have more varied and realistic colours.

small_features_12_horsies.png

I assume these would be Hanoverians…

There's Always More....
That was a selection of the things we have been working on aside from the major features for Götterdämmerung. Of course, we have been up to more things. There is always some balancing, tweaking, and bug fixing work going on. And fixes to code and to the AI in general. We have made some changes to how we script things for example, that we hope to describe more in the upcoming modding diary (together with some other cool stuff). But for now, we hope that you have enjoyed this diary.

 
  • 90Like
  • 64Love
  • 6
Reactions:
That's cool, but this description is concerning. Could it lead to the AI becoming less intelligent, like repeatedly falling into simple encirclements set up by players?
On the other hand, can the AI's armored divisions adjust to the armor thickness of the player's units? Will the division composition change based on the situation?
 
I love the small features ^^

I have a suggestion: If you click off Notify (the little green dot next to the letter) in the decisions tab than you shouldn't be able to click that decision. So you cant enact something you don't want. And if you reanable that then you can enact it again.

(Because if you don't want to get notified than its very likley that you also do not want to click that decsison.) I would love that QoL improvement.

Thanks for that loveley dlc so far i cant wait to play it.
 
Last edited:
Will the "guard borders" settting for area defense also make your divisions line up against your puppets and faction members' borders? This seems counter-intuitive.
It uses a "is-friend" criteria to determine which borders to not guard. This means it will ignore countries with military access, faction members and puppets/overlord.
 
  • 10Like
  • 5
Reactions:
It uses a "is-friend" criteria to determine which borders to not guard. This means it will ignore countries with military access, faction members and puppets/overlord.

Will this help Finland from being overrun quickly? As since they aren’t in Axis, you can’t really place troops against the Soviets to help them when playing as Germany.
 
Please add a feature: to create a strong fortress very quickly at cost of demolishing factories and infra in a state. To simulate the Festung-stellungen created by GER in 1944-45.
I think that seems like something for a focus, like a desperate defense that enables declaring cities fortresses causing the effect described by you.
 
Wow this is great.

I am so tired of playing and seeing countries behaving like absolute idiots. Like Germany never being able to finish the Soviets when I help them, just because they are hellbend on pushing everywhere to god knowswhere, suffering utter equipment attrition and never being able to get to victory points.
If they would just push along with their tanks where supply is it would still be very very hard due to being so stretched apart but not this artifical idiocy that goes nowhere.

Cant wait.
 
  • 1Like
Reactions:
Please give me this answer, if Germany loses Berlin, will the Mustache Man commit suicide? If so, how to do it in a way that does not trigger this event by just sending a single paratrooper division to capture Berlin?

Currently something similar is unfortunately happening with Italy and it is quite frustrating. You may have dominated all of Europe, but if a simple division lands in Sardinia and captures it for just 1 hour, you gain a permanent debuff (Which is not removed even if you recapture the state) that increases the balance of power for the fascist council and will inevitably lead to civil war.
? That was fixed in a war effort patch this year. If you recapture all your core states the modifier goes away.
 
  • 3Like
Reactions:
Looking at the graphics for the attack, I always wondered - instead of assigning an axis of attack for a unit, why not have an alternative to assign combat sectors for a unit in an attack?

The difference is that the AI, instead of moving along a defined imaginary line towards the objective, but instead be assigned left and right boundaries for the advance. This would, for example prevent a tank unit from drifting off into a swamp or wooded area, or a light infantry unit to advance over an open plain.

Is that something that can be implemented?
 
  • 1Like
Reactions:
Does this mean there are some changes on how frontlines AI work in general or that stay as is?
No larger changes to the "normal" frontline AI as of now (apart from general bugfixes and so on). Maybe needless to say, but the frontline AI is a rather complex system and not always super easy to work with. Revamping it while working on AIFC would have increased the scope quite a lot. Instead, the AIFC sort of works as an addition to the normal AI frontlines, basically modifying them as little as possible. I like to think of the normal/legacy AI frontlines as defensive lines whose goal is to cover the entire frontline so that the enemy can't just slip through, as opposed to the AIFC which is a concentrated offensive on a few important frontlines with the goal of punching through the enemy's defense.



Are there plans to add the ability to have a reserve as part of the frontline programming without drawing a separate fallback line? IE, a reserve system that the AI can use as well.
Let's just say that we have talked about this. I think something like this (improving defensive gameplay) would be a good addition both for the player and the AI in the future, but obviously I cannot promise anything.



Thanks for the update and give Plankie and the programmers a raise!
I will definitely forward this to my manager :p



Just to be clear, just the enemy AI will do this now? Or also your own army groups and frontlines when launching an offensive?
It's only for the AI players. There are essentially two types of "tactical" AI in the game:
  • The AI player - which divisions to assign to which armies etc etc, essentially the decisions that all human players also need to do
  • The unit controller - used by both the human player and the AI players, and what controls individual divisions assigned to orders
The AIFC is on an AI-player level.



Can the A.I. notice force concentrations and allocate more units to an area where it suspect an offensive might happen?
No, unfortunately not (yet). On a very high level, it takes enemy unit counts and so on into account, but not on a low tactical level.

Fun bit of trivia, we tried a very simple version of this during the NSB development, basically assigning more units to a frontline based on how many enemy units were on the other side of that frontline. It led to soooooo much unit shuffling, since two AI players would keep moving their units around to counter what the other did.



Does AI force Concentration only serve the AI to manage unit placements in offensive scenarios, or does it also understand and divert to protect it's own important positions? The AI In hoi4 notoriously, and since the start of the game, has often not known how to and where to position it's units defensively, often leaving supply hubs, railway junctions (since these were created and implemented), and even the Capital city undefended. It's rather common entering an undefended Berlin or Moscow, which truly is dissapointing at times, that the AI simply or semingly does not give importance to these positions.

So, the question is: will the new AIFC calculate strategic locations where the AI should prioritize it's defense and reinforcement?
Will you consider adding a defensive feature for battle planning meaning my/AI divisions will withdraw from exposed positions where they are likely to be cut off (this is my last big AI wish) just so I don’t have to micro defensive situations as much
AIFC is, in its current state, purely offensive. As mentioned in a previous reply, I think improving defensive gameplay could be good addition for the future but I cannot make any promises.



1. Does the force concentration work through assigning all those strong divisions to a separate general? If yes, are generals who have right traits for that are preferred? Or does the AI "micro" divisions from any of mixed armies to achieve those concentrations?

2. Can we maybe as players, in the future, get a button that selects divisions that are considered to be suitable for pushing to help players with force concentration as well? Some of the logic for that seems to already be in place.
1. AIFC is assigned to a separate army/general. It chooses the general based on the assigned divisions (like all other armies), so since AIFC tends to have a higher concentration of armor it should also tend to more often get a armor-focused general.
2. I do like this idea.
 
  • 8Like
  • 7
  • 1
Reactions:
Sounds good. I want a more competent AI opponent, AIFC is very welcome. I think it is a really good choice to leave the human players AI support without AIFC, since human player should be the PLAYER, not a spectator.
 
It would be really nice if the Area Defense option for forts was separated into land forts and coastal forts. I often run into this issue when playing as countries where their defensive lines go across provinces with both kinds. Using Area Defense for land forts is fairly pointless anyway, I want my garrison troops placed in specific coastal locations I've decided to fortify and not waste divisions on the land forts.

I realize it is out of scope for the patch, but I'd love a feature in the future that makes retreating from salients less painful. Currently when you withdraw your troops from one the automatic frontline AI will just keep moving new troops into the trap. The only solution is to draw two separate frontlines.
 
Has the dev team given any thought to improving the Spearhead order to use narrow pathing AI logic similar to AIFC?
 
  • 3
  • 1
Reactions:
Has the dev team given any thought to improving the Spearhead order to use narrow pathing AI logic similar to AIFC?
The offensive tools in general could really use some options. Like "never attack over a river", "only attack provinces I choose", "never attack into mountains", "only attack into territory with no enemy divisions in it and end the attack if an enemy division appears" and so on.
 
  • 5Like
Reactions: