• Important Notice: Please review our guidelines regarding cheating, game balancing, and mods for Helldivers 2. Read the full notice here before downloading or uploading mods.

AI behavior fix 2026-09-25

A Mod for Helldivers 2
AI behavior fix akl_mod_preview_image
Requires both zips, khimod loader top priority - works with bingus mod loader

Fixes issues with the AI randomly turning and glitching out (REQUIRES YOU TO BE HOST) PASTING IT TWICE BECAUSE MOD PAGE SUCKS)

Look, I don't want to edit this again. YOU NEED BOTH FILES IN YOUR MOD LOADER, khiloader on top priority. The mod itself changes the AI to prevent rapid jank and indecisive
2.5 KB
Log in or sign up to download
Uploaded by
GOHDKHI
Downloads
296
Comments
22
Views
3,400
First release
Last update
Platform
PC 
Version
2026-09-25
Rating
3.40 star(s) 5 ratings

Uploaded by

  • 296
  • 3,400

Ratings

3.40 star(s) 5 ratings

Tags

There are no tags available.

nilsjo134

Members
Members
Sep 26, 2026
1
0
I watched the first two hours of that stream, and listened to the dev's description. It was pretty scattered and interrupted frequently enough that it can't be quoted easily, so I'll attempt to summarize it.

The systems in Helldivers 2 coordinate enemies to take actions based on a variety of factors. There are at least 3 global systems controlling all game actors independently:
  1. Global Aiming/Target Tracking
  2. Global Actor Behavior (ex. a single enemy determining what it should do next)
  3. Global Pathfinding (ex. a single enemy determining how it should move to reach a particular destination)
These systems instruct actors in conflicting ways, frequently. In addition, there is competing instructions from multiple global systems in the same category, because the game uses both the Stingray Engine's physics and pathfinding systems alongside Havok at the same time in different contexts. With Havok, these things are decided by a weight, with a lower number (ex. 0.1) being more important, and a larger number (ex. 1.0) being less important. So a given actor will suggest actions it should take based on context to Havok's Global Actor Behavior system with a weight, and at some point when the Havok system is next given CPU time to decide what each actor should do, it will weigh its options given to it by the actor and choose what it feels is appropriate. This is a fine enough global system, many beloved older and newer games use Havok for this exact purpose (Source Engine games, Breath of the Wild, Elden Ring, the NuDoom games). It is opinion of the author of this mod, however, that Havok is "a stone tablet from a decade or more ago, it has not been updated in a long time" and given that the navigation system in Havok's wikipedia dates back to 2009 and the general Havok SDK 1.0 to 2000, the math supports this. The Stringray engine has its own AI and pathing systems which the mod author believes if they were properly integrated into the game would outperform Havok at these tasks. However, the situation we have in game is that they fight for control of actors in game, and more importantly that Arrowhead has misconfigured both systems in ways that may have masked their erroneous behavior in the game's early days.


As the game has changed since launch, Arrowhead has changed actor behavior to be more simple, and given more "free time" so to speak for each actor to choose new behaviors. There are fewer restrictions controlling what actors can suggest to the system with regards to what may be constricting them (ex. terrain or obstacles blocking pathing or line of sight, a restrictive action like a charge or a patrol call preventing other actions for an extended period of time). This means that even where the situation between a player and an enemy is identical or near identical to older versions of the game, the actor is given more chances to provide suggestions to Havok's Global Actor Behavior system. While there are complex issues plaguing the interplay of various systems in the game this mod doesn't fix, the most damning thing this does (that the mod does fix) is give actors chances to submit an attempt to "dodge", similar to how the Agitator enemies will attempt to dodge player attacks. However, the majority of enemies do not have a pre-scripted "dodge" action, and will instead move directly to the what the next step after a "dodge" would be: Asking the Global Pathfinding system for a new path to their next assigned behavior. This doesn't sound too bad, until you factor in that the "weight" specified by the actor for these actions is 0.1, aka the maximum.

So enemies are constantly trying to "dodge" even when there is no reason to, most are failing, and being given brand new pathing for their next action as frequently as possible. The end result of this is that enemies are constantly indecisive on how they should move, and spend much of their time attempting these pathing actions instead of doing literally anything else. This prevents the Global Actor Behavior system from being given time to instruct actors to take actions other than "dodge".

You may ask the question: "Wait, but why are actors able to do anything but path at us then if the highest priority action they can take at all times is dodge?" This is because, to some extent, the locomotion system (the animation and positioning of the legs of say a hulk walking at you) and the aiming/targeting system (the hulk aiming its upper body at you and firing) are acting independently of the Global Actor Behavior system (the hulk deciding what action it should take next). This results in things like hulks looking away with their eye while charging and firing at you, but taking horribly inefficient and indecisive paths to close that distance. It can also result in things like the enemies inverting or contorting parts of their body to hit you while seemingly having obstructions or restrictive actions that should have prevented the enemy from being able to attack you. Finally, while a 0.1 weighting is the highest, it is only a weighting, meaning sometimes the Global Actor Behavior controller will choose actions that are not the highest weighted thing. The actor is not the sole arbiter of what its next action should be, global rules can be set by the developers for various outcomes. In Helldivers 2, this means actors do thing besides "dodge", but spend considerable time attempting to do so, and waste not insignificant CPU time, constantly, pointlessly, recalculating their pathing. The mod author's opinion is this overhead is not very much on the total FPS metric, but needlessly high on the CPU usage metric.


As stated by the mod author, this 0.1 weighted "dodge" action has always been weighted this highly even in earlier versions of the game, but checks done by more complex actor behaviors nearer to launch prevented it from being submitted to the Global Actor Behavior system as frequently by the actor. So with the current simplified actor logic, the correct behavior for enemies would be for this "dodge" action to have a decreased priority weight (technically this would be a higher value, ex: closer to 1.0) in the system, if not outright removed for the enemies that don't have a dodge. The Global Actor Behavior system of either Havok or Stringray can then sometimes decide to do something other than assign new pathfinding to enemies after they fail to dodge. To that end, that is all this mod does. It sets the "weight" value of the "dodge" action from 0.1 to 1.0, and in so doing frees up the actors to take more complex actions and do more, well, stuff.


This begs the question, what does this make the enemies do then? Well, it makes a much larger portion of enemy behavior doing things other than failing dodge into pathfinding, which does increase their ability to take other actions. Let's say 95% of their time before was taken up by "dodging" before (an arbitrary number, not a specific one provided by the mod author), then now they will spend 1% of their time doing that (another arbitrary number, not provided by the mod author), and will do other behaviors. This means enemies may be more accurate in their fire, charge more aggressively, do dangerous attacks more commonly, and, as was the goal of the mod author, attempt "aim resistance movement" (aka normal movement that was allowed to happen too frequently) less commonly. It can feel like a big change, after all Arrowhead likely set the "dodging" very aggressively probably because it wasn't "doing anything" in early builds of the game (when more complex behaviors from enemies would out-prioritize it).


This is my reading and understanding from listening to the stream, and hearing the mod author describe it. It is possible I misunderstood or did not summarize the mod author's opinions correctly. I have only one direct quote from the mod author here, so do not take my description as being tantamount to their opinion perfectly represented. This mod, in this comment author's opinion, is conceptually very simple. Describing its effects is not, and it is likely why the description did not elaborate on the "what" this mod is doing. Hopefully we'll see more people try it out and see the effects in more detail to describe them, as its too complex to say what all the effects of "the enemy can take actions more frequently" can be.
Fantastic comms ngl, extremely well-worded explanation of what the mod actually does. If there's one thing I hope Arrowhead implements from all the scripted mods we've gotten these last few weeks, I hope it's this (or the corpse desync fix xD).

As for the installation of the mod, is it really the case that it needs to be at the top of Arsenal in one's load order, as opposed to other scripting things—like Bingus' Loader—that need to be at the bottom? Saw someone mention that earlier, but wasn't sure if there was some miscommunication there or not cause it seems weird to give such a deep-reaching mod the lowest priority. If anyone's done any testing to confirm proper usage instructions, I'd love to hear em :)
 

MidnightFixer

Members
Members
Sep 26, 2026
1
0
Fantastic comms ngl, extremely well-worded explanation of what the mod actually does. If there's one thing I hope Arrowhead implements from all the scripted mods we've gotten these last few weeks, I hope it's this (or the corpse desync fix xD).

As for the installation of the mod, is it really the case that it needs to be at the top of Arsenal in one's load order, as opposed to other scripting things—like Bingus' Loader—that need to be at the bottom? Saw someone mention that earlier, but wasn't sure if there was some miscommunication there or not cause it seems weird to give such a deep-reaching mod the lowest priority. If anyone's done any testing to confirm proper usage instructions, I'd love to hear em :)
if your load order goes from bottom to top in the priority sense then it goes at the bottom than Bingus loader