Today, we’re going to talk about a kind of bots we don’t usually talk about: bots in the world of gaming.
Bots can be used for many different things. Their use depends on the type of game and the needs of the player, but there’s one thing that doesn’t change: they’re frowned upon. But again, if we’re being honest, there’s always a good reason to use them. Whether we’re talking about a shooter bot on an FPS (First Person Shooter) or a more complicated farming bot on a MMO (Mass Multiplayer Online game), they’re more or less created the same way.
What are the differences between a bot and a non-player character?
First things first : a “bot”, short for robot, is a computer program controlling a virtual character and imitating human behavior. The NPC (non-player character) is a game character controlled by a computer.
As a gamer, the most famous bots you’ll encounter are farm-bots. They allow a MMO player to go as far and as fast in the game as top gamers, without having to spend as much time and energy. How? Well, these bots are programmed to automatically harvest resources, fight mobs (computer-controlled non-player character (NPC) in a computer game) to gain experience, currencies or other valuable items. If some players use this to fasten their progression in the game, others go a step further and sell these belongings in real life, for real money. It’s not unusual to find really profitable deals online. And that’s not limited to farming! You can also find bots that promote private servers, illegal banking websites, and many more.
Another famous usage of bots are in FPSs or MOBAs (multiplayer online battle arena). In FPSs, bots automatically aim and shoot in the head of an enemy, killing in instantly. In MOBAs, they instantly avoid spells from other players.
Gamers using this technology are not appreciated or even recognized as gamers in the community, because they are playing unfairly. The gaming community being very strict on traditions, usages, and overall skills, they do not openheartedly approve of players they see as cheaters. Playing with friends, I used to regularly use farming bots, but only tried MOBA and FPS’s bots for the fun of it.
Oh, yes, one last thing. Games can ban you for using a bot. Just so you know.
How can you create a bot?
Creating your own bot is a long process that requires good development expertise. If your aim is only to “cheat” effectively, then you should use bots softwares with execution scripts already made. But if you are as interested as I am, then it’s not that hard to create a really good bot for a game.
To code bots, although you can use other languages, developers mostly use C++, C# and Autoit. You need to define the macros that need to be executed as if you were yourself in the game : predict every moves, spot the obstacles when you first see them, manage the inventory, etc.
Obviously, each bot depends on the game. A good example are the famous MMOs, World of Warcraft and Dofus. There are a lot of differences in these games that make the use of a generic bot impossible: Dofus works with full screen maps where you have to click on each side of the screen to navigate and in WoW, there is only one map and the moves follow the coordinates. However, there are characteristics that are common to most games, such as collecting a resource or moving the character with a clic.
The most complex part of the bot creation process is to go through the protection system of the game against bots. To work, bots have to be as human as possible. To do that, we need to replicate human behavior, and in our example of farming bots, there are two major techniques : color identification and form matching. Form matching means giving your bot screenshots of objects and telling them to collect them when he comes across a perfect match. Color identification is when an object has a very precise color and whenever the bot comes across it, it picks up the object. The technique of color identification also works really well for FPSs, where you train your algorithms to shoot a specific color that happens to be the color of an enemy’s head or strategic zone. Scripts of this kind a purely mathematic, and if you have the skills in mathematics and developing, it’s great practice.
As a tip, here‘s a great place to create macros. They allow action repetition.
Bots will only do possible actions. By default, they cannot cheat. So, using a bow when you don’t have arrows is impossible, unless you trick the system and create a bot socket (using a network connector). If the gamer needs a bot to farm every monster on a little area, it is quite easy. But if the gamer wants a more complex bot that takes care of several areas with different types of monsters, goes to the bank to empty his inventory when it’s full, it will take longer to create. Every single moves should be predicted. You have to test, iterate and verify your storytelling several times to avoid bugs.
But wait, we couldn’t do an article on gaming bots without talking about the phenomenon that’s transforming the world: Pokémon Go. To create a bot for the latest mobile hit, developers are using fake GPS coordinates to mimic the moves of a real human around the world. This can be done through the game’s API that allows you to know where Pokémons respawn and if you can attack them. It’s also possible to look for a specific Pokémon, collect every Pokéstop while walking non-stop to hatch eggs. If you want to create a Pokemon bot using NodeJS, please follow this tutorial!
What should you pay attention to while using a bot?
Most games forbid bots, and you can get banned if the game catches you, so here are a few things to do if you want to enjoy bots freely.
- First of all, never use a bot directly on your main character. Always use a second account with a different mail address and different personal information.
- Secondly, always use a VPN or a proxy while using a bot. This can avoid risk for every other account you have. It’s really easy, you can for instance use PrivateTunnel. Never make a link between you main character and your bot, like friend lists or sponsoring.
- And lastly, never leave a bot running all night, as its usually quite obvious. It’s preferable to use it before going to work and stop it when going to bed.
Depending on the game, you’ll find protection systems against bots. It’s your own personal choice to decide to avoid them.
You now have a basic knowledge of how bots work in video games. With the progress of the conversational bots, it’s very possible to imagine more advanced bots or NPC. Imagine the future of gaming, where instead of answering preprogrammed queries, you can start a real conversation with any automated character, where you can really take your storyline to the next level of personalization, to augmented gaming experiences.
Artificial intelligence clearly has a role to play in the future of gaming!
If you want to create your first joke-telling chatbot, follow this easy tutorial. Happy bot building everyone!