77% of gamers are likely to stop playing an online game if they believe opponents are cheating. How can AI help us find and exclude cheaters?
Have you ever tried to play against a cheater? It wasn’t fun when we played Monopoly at the kitchen table as kids, and it isn’t fun in online games. Cheat tools for video games are cheap and easily accessible and give players superpowers in the game world. It might be tempting to spot enemies through walls or employ a radar showing exactly where on the map monsters are hiding. Or how about removing recoil from shots? Or better yet, have a superhuman bot playing in your stead, scoring all the experience points needed to level up.
Research shows that 12% of online players have used third-party tools for cheating — and that’s just the ones who admitted it. The real numbers are likely to be higher. Cheating happens a lot, but how do we detect it? When is someone a skilled human player, and when are they exploiting cheats or bots?
The mission we choose to accept is to develop tools to flag bots and cheaters but avoid flagging human players—a tough assignment. At modl.ai, we focus on machine learning and behavior-based detection. We track human player behavior and use this knowledge to detect anomalous behavior.
Collecting data is key
The more we know about the players, the easier it is to detect cheats and bots. We track and label as many player actions, situations, and areas on the map as we possibly can. We also track input shapes — e.g. how players move the controller — as well as reaction times and behavioral patterns. All this data is the ammunition to flag bots and players using tools to cheat.
Where to employ cheat detection?
Most cheating happens at the game’s low-level functions — the place players need to make fundamental decisions. To act in the game, players must first perceive what happens. Then they must decide on what to do before finally reacting physically. That takes time. Humans have a natural limit to how fast we can do this. We need 100ms on average to understand what is going on. The cognitive system then needs at least 70ms to react. (Reaction time is longer for complicated decisions.) Finally, the motor system also needs 70ms to respond. These numbers are surprisingly stable within age groups, which means we can use reaction time to detect cheats and bots.
If your player base consists of different types and ages, you may have to group methods and vary settings to flag cheaters within those groups.
Clustering the data
We use statistical analysis to cluster and graph the data we collect. Some bots are easily recognizable. Their reaction time might be faster than humanly possible, and they will stand out on their own, far away from human players, as you see below.
Often, bots are hidden within normal human behavior like you also see above. When that happens, we need to dive deeper into all that sweet data we collected earlier.
We often hit the jackpot when looking at input shapes. (How players interact with hardware like the controller, mouse or keyboard.) We detect patterns that stand out. Bots are often either too regular to be humans or too random.
Since decision-making is also crucial to detect cheaters, we try to predict what human players are likely to do in a specific situation and single out those who are too far from that pattern. That requires labeling and collecting data from real players.
3 tips to cheat detection with ML
1. Specialized models are more robust
Cheat detection systems are robust within smaller segments. We might group them per device, per player age or similar characteristics. Grouping gives us a system that is very adept at finding cheaters in a narrow field. The model might be terrible at everything else, but that is irrelevant — as long as it does a great job within its area. If we collect several of these narrow models in a library and select them appropriately, they are stronger than one extensive system.
2. Know the players
If we understand what part of the player base is cheat-prone and cheat-sensitive, we can generate one model that works very well because it ignores a large segment of players.
3. Keep training data clean
We must keep the data we use to train our ML model as clean as possible. If we have a new game with no real player yet, the first training data are usually not sufficient because we base it on QA information or bots we created ourselves — but it’s essential to train the system on clean data.
The advantages of ML cheat detection
Why use machine learning at all? There are plenty of products able to detect cheaters. An ML system learns from players and tailors itself to fit the game. If we keep training it on player data, it will always be up to date. Also, when the game progresses, and developers employ updates and patches. Most importantly, an ML system utilizes game data that the producers of off-the-shelf cheat detection tools don’t have, which is why ML cheat detection is harder to fool.
Thanks for reading, and as always, please contact us with any questions and requests you might have.