Playing against bots is great tool for learning the basics of any MOBA. Getting thrown into matches with nine flaming players is daunting, and practicing with bot matches is a great way to practice the fundamentals and, of course, figure out what hero abilities actually do. Valve has included fairly robust and well-coded Dota AI in both the old version of Dota and Reborn, presumably in the hopes that completely new players could spend some time looking at the map and paths to the Secret Shop instead of jumping right into the game.
Dota 2 AI is programmed to follow a set list of priorities. Lane, check rune, fill bottle, gank. You get the idea. In the first bot game I ever played, I basically AFK farmed as Razor—I didn’t understand teamfighting, and the bots on my side actually won the game without much help from me. That being said, the bots are notorious for making… questionable decisions. Dota AI has some odd tendencies, especially after Dota 7.00. They get stuck on certain parts of the map, try to build items with outdated recipes, and generally don’t behave like humans. While they’re great for practicing skill shots or last hits, Dota bots are not going to give you an accurate feel for what playing against real people is like. The Matrix isn’t that well-programmed yet.
In Dota’s 7.00 patch, Valve added the ability for players to custom-program bots. This has a lot of potential good uses. For example, I’d love bots programmed to make moving away from me a priority so I could work on the timing and ranges of AoE abilities. An all-bot tournament where instead of Valve’s default Dota AI, the bots were programmed by individual people as a showcase of skill is probably the most meta thing I’ve thought about all week. Unfortunately, it looks like the coding is still a little clunky, but a few intrepid coders managed to get a tournament off the ground a few weeks ago.
Bot abuse is, however, a big issue. Players stuck in Low Priority can abuse bots to get out of it sooner without paying their debts to society. The userbase is split on the ethics behind this—on one hand, bot abuse means players don’t have to play the punishment games to get them out of low priority. On the other hand, the report system needs a bit of work, and high-profile players like streamers can get placed in the Low Priority Queue due to viewers flooding their profiles with inaccurate reports. Currently, it’s unclear what checks might be in place to prevent a player from being sent to Low Priority unfairly, but it’s clear that it does happen.
Will manual boosting be a thing of the past?
Paid boosting services have been around pretty much as long as MMR has. Users pay for a talented player to boost up their account to a new MMR bracket, presumably so they have bragging rights about being 4k, despite not being able to claw their way out of the 2k trench by themselves. With the streamlined options for writing bots, a player was able to boost themselves to an unprecedented 10K MMR.
It’s possible that Valve is releasing these tools to the community in order to make it easier for them to observe and track bot abuse. If Valve can use machine learning to develop a program that recognizes bot behavior, they’re speeding up the timeline for addressing automated boosting services by making the programming tools available to the entire community. As I write this, I’m sure that there’s at least one dedicated coder out there writing a script designed to streamline the account boosting process.
I hope the bots don’t disappear entirely, as apparently people like this player exist:
Please GabeN, let that poor person keep their bots to play with.
Bug fixes for Dota AI are pretty low on Valve’s priority list (for understandable reasons), so it may be some time before the negative effects and issues are fixed. In the meantime, if you like lua, start coding.
Valve has a wealth of resources about Bot Scripting that you can peruse here.