In the battle against Counter-Strike cheaters, Valve has enlisted the help of an unusual source: AI.
In a post on Reddit, the company said it wants to take a machine-learning approach to detect cheaters in its hugely popular competitive shooter.
The post was sparked by one user who suggested a hard-coded method of detecting spinbotters. A spinbot is a hack that gives the user a 360 degree field of view, allowing them to aimbot players who approach from behind. From the user's perspective the screen is normal, but server side the spinbotter is spinning.
This is a big problem for online shooters and Counter-Strike, and it's one Valve has so far struggled with.
Enter AI, or machine-learning. Here's the post:
So some bad news: any hard-coded detection of spin-botting leads to an arms race with cheat developers - if they can find the edges of the heuristic you're using to detect the cheat, the problem comes back. Instead, you'd want to take a machine-learning approach, training (and continuously retraining) a classifier that can detect the differences between cheaters and normal/highly-skilled players.
The process of parsing, training, and classifying player data places serious demands on hardware, which means you want a machine other than the server doing the work. And because you don't know ahead of time who might be using this kind of cheat, you'd have to monitor matches as they take place, from all ten players' perspectives.
There are over a million CS:GO matches played every day, so to avoid falling behind you'd need a system capable of parsing and processing every demo of every match from every player's perspective, which currently means you'd need a datacenter capable of powering thousands of cpu cores.
Valve said it's already started using AI to detect spinbotters, with an early version of the system deployed and submitting cases. The results have been promising, apparently, so Valve is seeing where it goes.
Hopefully not too far, eh?