The State of Heroes of the Storm A.I

This is a multiplayer game first and foremost and it should be treated as such. I believe the resources at your disposal could be utilised for more important aspects. While it is amazing that you finally have some improvements as you would put it, I don’t believe many players share the enthusiasm.

Bots are boring, they follow specific patterns, often get caught up in them and completely tilt. What an average person might consider as artificial intelligence is only a preset list of functions with corresponding priority system that they will follow to the letter, often against all human logic.

They can either stay completely useless and not feel as an addition to the team, or they could be written in such way that they never miss a certain skillshot, combo one crowd control perfectly after the other in order to avoid overlap of effects and optimise the time the target will spend disabled. This is only an illusion of the difficulty and playing against such opponent only becomes frustrating after a while, considering they don’t suffer from fatigue, lag and lack of team coordination. There is no element of human randomness to it nor can you recreate this key feature. This is what makes matches interactive, fun and enjoyable.

For advancement this may lead to in other areas outside of the game and looking at it as a personal accomplishment, it’s fantastic what you are doing, but I don’t see it benefiting this game in any way. More than often I would prefer for a bot that took over a disconnected player to stay anchored to the spawn area rather than him receiving updated commands in order to achieve simple concepts such as soaking a lane.

With polished enough AI, at what point does it become preferable for me to just ALT+F4 out of the match so my team gets their chances of winning increased? I think this more than enough answers all the concerns an average forum reader may have.

With the promised separation of ARAM from BRAWL mode, this could lead to some fun and exciting custom scenarios such as the Zerg survival maps. However I don’t see any future in the useof AI for regular game modes because that’s not what this game is about.


i’m just happy that the AI aren’t omniscient anymore and wont 5-man zerg you when you start taking a merc camp that they can’t see.


No thank you!
Can you make it so that they wont instapick items? Now when you doing the turret camp or the heal they pick it up with unhuman speed and never use it

Edit: that one time I didnt read the comments its in the comments xD


Thank you so much, KGu!

While improvements to enemy AI are always appreciated, the biggest frustrations I’ve had with AI in Heroes over the past year have been with friendly AI.

One of the best pathways for making friendly AI smarter would be to improve interactivity with friendly players. For example, the only reliable way to achieve this right now is to ping CPUs to leash them to a player. This behavior works reasonably well for support CPUs, but for other types it’s a little restrictive, though not inherently bad (it does keep them from roaming, mostly).

What would be more impactful though would be to improve how responsive CPUs are to other types of pings (or, if possible, to even add new command and control mechanisms). Chief among these concerns is getting CPUs to reliably assist with objectives, camps, or so on. While I am hopeful the work you are doing will improve CPUs’ baseline decisions in these areas, the upper-end solution is to enhance player control, as even if the CPUs end up following best-practice or operating off of other, higher-level insights, if the actions they take as a result fail to coordinate with human teammates, then the actions will ultimately be “dumb”.

Short wish list-

  • Contextual leashing (ex- I am playing a Support hero and ping a Tank CPU to me, I don’t want the Tank to exclusively chill 1 meter away from me at all times, but rather to get a little more aggressive and provide a frontline)
  • Non-personal pinning (right now, I can only ping CPUs to myself, but if I have a CPU Tank and a CPU Healer, I would often prefer to have a way to tell the CPU Healer to pin to the CPU Tank; also, given human players are often varying skill and experience levels, I would also appreciate being able to do this so I can pin CPUs to human allies of my choice rather than just me)
  • Lane preference (this could get complicated, but at its easiest, just being able to instruct a CPU to focus on a specific lane until instructed otherwise would be nice)
  • Respect the ping types which already exist (Retreat, Assist, Defend, Danger, etc…)

All this said, I can tell you’re working hard, and it’s appreciated!


You’re welcome for the feedback, and thanks for working hard to improve the A.I.


Yes, this is something that I have fixed for the next release.


Epic! No more of those silly situations where the AI picks and doesn’t even deploy it once.



Its gotten so bad whenever I see a Hammer in game its and immediate, “why bother playing hammer will win in 9 minutes.” seriously this NEEDS to be fixed !!!


On your list of things to fix please include ping responsiveness, objective turn ins, and fight/flight dynamics. Since the patch that was released in the fall of 2019 the ping responsive has been non-existent, and objective turn ins (coins on blackheart bay, gems on webweavers, etc) get effectively ignored once the widget is collected.

The fight or flight dynamic is a personal pet peeve, not necessarily a problem with the heroes themselves. They are over cautious to the point that they will run away from any form of engagement, and have an aggravating habit of abandoning the core to hide in the hearth/fountain barrier if all three keeps are down. They will abandon a fight even when they deathball an objective should they take any form of damage, and AoE damage (blizzard, molten breath, flamestrike, etc) is particularly bad about triggering a flee priority.


YES. I completely forgot to add that the AI is worthless if you ping it to you so you can grab a boss or an objective that is currently being ignored.


A.I also tend to move forth and back if D.Va’s mech is exploding, doing nothing. We literally got free hits and kills whenever they “wait” until the mech is exploded


Awesome! Thank you very much, and keep up the good work!


He mentioned that in the OP. It’s a conflict between their “Goal” and “Tactical” programming that causes them to become confused about which way they should run. It’s the same thing that causes them to “dance” around just inside Fort range.


Yay! I like you
I have a question. Do you think the countdown before someone gets removed for inactivity is the right amound of time. Because in my oppinion it can be 30s shorter.
Usually when someone is afk from the start it gives a big disadvantage because he is missing multiple waves of xp


Hey, mynd.

I agree with the frustration of watching disconnect replacement A.I. try to help, but often end up becoming a liability to your team. I want to share with you more details of additional changes related to your feedback that we are hoping to ship in the next release, details that we did not have time to include in my original post or the blog.

When your ally disconnects from the game, their replacement A.I. is put into a precarious position. It’s like suddenly dropping a Silver player into a match with 9 Master players. It’s very difficult for the AI to keep up with humans. In the past we have tried to make A.I. more sophisticated by attempting to capture more and more game context into their decision making, hoping that it would make them react more intelligently. Our collective observations have lead us to accept that disconnect replacement A.I. will never be strong enough in its decision making to play well with human players on their own. Instead, we want to focus on addressing the frustrating aspects of disconnect replacement A.I.

Our plan moving forward is that we will be simplifying disconnected A.I. behavior by decreasing their metagame decision making. We will be paring down disconnect replacement A.I. behavior to two choices: follow the human who pinged you, or return to base if no human has pinged you. This will prevent moments where the lone disconnected AI trying his hardest to win the game by soaking top lane and getting picked off while the rest of your team is fighting at an objective. More importantly, this change will make replacement A.I. much less unpredictable. We feel like this is the best starting point in addressing a lot of the A.I. community feedback on disconnect replacement A.I.

Hope you have a great day!


Hey AnaBanana, this is something I will look into.


Like or not, vs A.I has been around and a lot of ppl only like playing A.I because it is casual and help them to finish their daily quests.


If nobody pings the bot and it returns to the base, will game determine the bot is AFKing and kick him with a replacement bot, and will kicked bot have to win a leaver game to be added back? Some real questions here.


This isn’t directly related to the AI system, and moreso relating to the AFK player drop system.

I think something that would help ease the blow on the disconnecting player if they were genuinely AFK, and then return to the game is that rather than completely disconnecting the player, they instead have their hero deselected, UI removed, and camera locked to their hero, and then given a button they can click somewhere on the UI to “reconnect”

The primary goal for this would be that this would remove the reconnect time, which depending on the users machine or other potential factors can be longer or shorter. The most similar system I can think of that I’ve seen in another game like this is in Left 4 Dead, where you have the option to “take a break” while playing PvE. This could potentially even be added as an option the player could select in the escape menu when the player knows they have to go AFK for a brief moment.

If such a system were incorporated, the AFK kick timer could also end up being reduced, which I’d think would only be seen as an improvement, but the issue there could end up with an improved number of false positives.