| Off the top of my head: - using skills against targets where the skill would have no effect - using skills on nothing with all plausible targets not remotely nearby - using items to turn invisible and then immediately taking an action to remove invisibility - everything regarding vision/detection: placing vision where vision already exists via structures, placing multiple sources of vision on top of each other, buying detection items when none of the opponents could turn invisible, placing detection in areas where detection already exists - using a item that's canceled by close proximity to enemies in obvious close proximity of the enemy - waiting for a neutral respawn when its impossible for it to respawn - stacking effects that don't stack Then there's obvious poor utilization of skills, such as: - using a skill that does more damage for every point of missing health on targets that have no missing health - using ults with long cooldowns on neutrals when that hero's normal skill does more damage with much much lower cooldown - using skills that multiply it's effectiveness when there are secondary targets when there's obviously no secondary target near the primary target - casting damage amplification on a target (target takes more damage) and then not dealing damage |
On each of the poor utilization of skills, I could counter by saying there were other objectives in play. For example, you didn't mention that the "skill that does more damage for every point of missing health on targets" also happens to freeze the target for 1.5 seconds. Perhaps the goal of the bot was just to hold the enemy in place.
Honestly it's pretty easy to sit around saying "yeah nothing impressive here". But I've been playing this game for a decade and fact is, if I had seen OpenAI 5 a year ago I simply would not have believed it was possible for bots to play this well.