The bots are completely broken when there is a level imbalance between the two teams. If the team that the bots are on is behind by one or more levels, the bots become overly cautious to the point of total uselessness. They will not defend keeps, attack objectives, or participate in team fights. They become disorganized, mostly killing minions in separate lanes and running away when a hero gets near them. Sometimes, they seem to have conflicting goal priorities, and will repeatedly approach an enemy hero, only to back off as soon as they reach attack range.
This causes any level advantage to snowball almost immediately into a massive lead. In a bot match with less than 5 human players, everything comes down to the first few minutes of the game. Whichever team gains a level advantage first almost always wins the game, because the bots on the opposing team immediately become useless.
A couple of other, more minor quibbles with the bots:
-
On Veteran and Elite, the bots have 0 ms reaction time. For example, if you cast against a hero who has a shield ability, they will activate the ability instantly. This is unrealistic and very frustrating; it is essentially cheating
-
Bots are too aware of AOE attacks (aggravated by the 0 ms reaction time). The instant you cast an AOE, all bots in its radius will immediately move out of the radius. This makes it almost impossible to hit bots with any AOE attack. Not only is it unrealistic and frustrating, it looks cheesy and fake when a cluster of 5 bots performs a perfectly synchronized movement directly away from the center of the AOE. It’s also possible to abuse this to completely break bots; for example, you can use AOE attacks to effectively pin a bot to a wall, because they will not intentionally enter the AOE radius, even if that means they can’t move at all. Yrel is the best hero to abuse this with, since you can effectively push enemy bots around wherever you want by keeping her abilities fully charged but not activating them.