At GDC 2018 Valve ran a presentation about Deep Learning and how they’re using it to
combat cheaters.
I really suggest checking it out- the whole thing’s fascinating.
The talk is 45 minutes long and then the rest is for questions and answers.
But if you don’t have the time, then I’ve tried to condense it in this video along with
any other interesting bits of information they revealed.
The project began in 2016 when Valve looked at what the community wanted the most.
But they couldn’t hear anything because the problem of cheating was too loud.
It drowned out any other suggestions!
But was cheating the problem, or was it just that people thought it was?
Apparently, VAC’s results made it clear that there was a cheater problem.
This is partly because CS:GO’s engine is old.
It’s 75-80% the same as Half Life 2’s and any cheats that have been made for any
Source game since then can probably be ported rather easily, though it was stressed that
they keep an eye out for these and ban anything posted publicly.
CS:GO is also a good target for cheats because its combat is short and precise, making cheats
very effective.
There are 2 main categories: aim, and ‘info’ assistance, which is stuff like wallhack and
information about an enemy’s location, health or weapons that they shouldn’t be able to
know.
Valve emphasised the impact that cheating has with this handy little slide.
Even if just 1% of the playerbase cheats, 1 in 10 matches will be ruined and the chances
are, if you don’t cheat, then they’re more likely to be on the enemy team since
you’re filling one of your team’s places up already.
And if 7% of people cheat, then almost half of all matches will have a cheater in.
Aim hacks are particularly disruptive since it helps cheaters in so many ways.
They don’t have to identify if a target is friend or foe.
They don’t have to move the mouse, to time the fire button or to control the spray.
All of this is simplified to just one button tap.
John also mentioned the range of cheats, from subtle skill boosters to super obvious rage
hacks.
He noted that subtle ones are hard to detect and that rage hacks seemed a good place to
start when it came to tackling cheaters.
This is when the talk moved onto the TRUST FACTOR.
They rolled this out back in 2016, 6 months before they announced it.
The goal of this wasn’t to ban cheaters, but rather to reduce the playerbase they annoyed
by putting all the suspicious players in games together- this is represented by the red dots
all being grouped together.
This lets the nice, blue honest players play with others who are less likely to cheat.
Valve remained vague about what is used to determine how trustworthy a player is, but
as an example he says that a guy tied to 50 accounts, 49 with VAC bans, is likely to cheat
again.
So although they can’t ban him until VAC catches him on his 50th account, by giving
him a low trust score they’ve reduced the likelihood of him ruining trusted players’
games.
They then moved onto talking about existing anticheat methods.
When combatting cheaters, Valve would talk about the ‘treadmill of work’.
That is, the need to continually work to improve and to counter new kinds of cheats to stay
one step ahead of the cheat makers.
He gave speedhack and RNG prediction as easy things to fix by adjusting communication and
information between the client and server.
VAC on the other hand outright bans people for cheating.
Valve states that it’s important that the playerbase has confidence in this system.
That doesn’t mean that it will ban everybody who cheats, but that those it has detected
have definitely cheated.
A VAC ban is to be taken seriously, since it blocks users from stuff that they’ve
paid for.
It was emphasised that if a mistake with a VAC ban is ever made, like say it detects
OBS as a cheating program, then the mistake is rectified clearly and immediately.
The level of confidence that Valve has in their VAC system stood out in this presentation.
In the presentation he mentioned that Valve were pleased with their evidence-based approach,
since other games may get a reputation for having a more aggressive anticheat that gets
all cheaters, but may also convict innocents as well, or at least get the reputation for
that.
In the Q&A at the end, John mentioned that more invasive anti-cheat methods aren’t
necessarily tamper-proof any way.
There was also talk of secrecy.
VAC works because it’s kept intentionally vague.
If they were to shout about how it detects cheats then immediately cheats would be made
that bypassed it.
The treadmill of work is being done with VAC: Valve continually update and improve it- but
it only takes a few cheaters for people to start shouting about how Valve doesn’t care
or isn’t doing anything about the cheating situation.
Which is why we have overwatch- so we can slam the ban hammer on cheaters ourselves!
In this presentation, we learned a bit about how it works behind the scenes.
He stated that Overwatch uses mathy stuff to ensure that it’s 99.8% likely that an
accused player has been cheating, though usually the bans being hammered are done so with 99.999%
certainty.
Mathematically, at least.
I always wondered how many people review the same overwatch case, and in the Q&A section
at the end of this video he said that if judged by particularly reliable overwatchers then
it could be done in as little as 7 viewings.
But if the case is a little more difficult then it can take 50 to 100 viewings.
All for the same demo!
When overwatch was first introduced, as more people did it, the number of players convicted
also went up.
So, they pushed Overwatch out to as many people as possible and to their HORROR, conviction
rates remained the same and more were simply dismissed.
In other words, using more players’ time to convict no more people.
It just wasted players’ time.
Overwatch is good, but it has some problems that need solving.
Could deep learning be the answer?
Deep learning is just a small part of machine learning and was known as neural networks
about 30 years ago but weren’t possible until we had the data and processing power
we do now.
And even with all that, they won’t find the BEST solution- that would require quintillions
of examples.
Instead, their version of deep learning finds one of many possible methods that just happens
to do a pretty decent job.
What it does is to trade engineering time for data and compute: in other words, replacing
manhours with computing hours.
They decided to test it on targeting blatant aimbotters first, because they’re disruptive
AND because humans are good at detecting them.
This is important since this system learns from humans and how they perform in Overwatch
cases.
Humans are apparently very good at spotting blatant cheats in overwatch, but aren’t
so good with the subtle ones.
But on the plus side, humans don’t falsely convict innocent people and while new, better
cheats can be scary, it seems that we as overwatchers also evolve to spot new methods of cheating.
This is something that VAC is unable to without somebody at Valve updating it for that specific
cheat.
All in all, Valve doesn’t blame you for Overwatch’s limitations!
Instead, they blame how the cases are selected in the first place.
Which I guess makes sense since you’re typically reporting players while still in a match with
them, unable to see the game from their point of view.
And so, VACNET was born.
This system collects data from overwatch cases, learns from them to be able to detect suspicious
players itself, then analyses matches and submits suspicious cases for us humans to
judge.
This is what it’s all been leading to!
But how does it perform?
The moment it was introduced at the start of 2017, conviction rates soared.
That means that more overwatch cases were seen as cheating, which doesn’t waste as
much of our time when we’re overwatching cases.
Since then, VACNET has fed more data and been improved further, and with it there have been
jumps in its performance.
This year the number of convictions has finally overtaken the number of dismissed cases.
If you hop into overwatch today, the chances are you’ll see a cheater and will be able
to do something about it.
Isn’t that nice.
When we report a player for cheating, they’re convicted 15-30% of the time, while VACNET
is between 80 and 95%.
MUCH better.
And whenever it’s retrained on newer data, this shoots to close to 100% until cheaters
adapt again.
Remember: it isn’t judging the cases, merely finding suspicious players to submit to overwatch
in the first place.
We are the ones who convict.
So, if retraining it improves its accuracy to close to 100%, then why aren’t we continually
retraining and updating VACNET to stay on top of the treadmill of work?
Well, I think the eventual goal is to get it to do that.
But right now, they feed it information until it stops improving, then leave it at that
for a while.
This is called ‘Supervised Learning’.
The hardest part is in getting relevant information to feed it in the first place!
Valve states that only 1% of the work is the deep learning and that the vast majority is
in trying to convert games of CS:GO into data that can be fed into the machine.
And the final 4% is what comes after.
The whole presentation likened VACNET to a meat grinder, which is why this slide is so…
burger based.
But I think they said the analogy started falling apart at this point!
I believe it represents a continuous cycle of getting data, feeding it through the machine
and then trying to rate how good it is, before repeating it to try and improve it further.
The information is gathered from what I assume are match demos.
140 separate shots from a player are saved, and for each one information is stored about
the weapon used, whether it hit or not, the distance to the enemy… and where the player
was aiming.
This last bit starts half a second before the shot and ends quarter of a second after.
Since the demos are saved at 32 tick, that means 24 separate ‘points’ are saved from
this analysis.
Valve says this is a flexible system.
They could remember the points for seconds either side of the shot, so you won’t be
able to bypass this system by knowing how it works.
Plus an aimbot won’t be that good if it cuts out a few seconds before the shot is
fired, will it.
Deep learning then analyses all of these numbers and identifies dodgy behaviour to submit as
overwatch cases.
This is a LOT of data.
And to further compound this issue is the immense scale of matchmaking within CS:GO.
There are 12.4 million monthly unique players, 3 million daily and 600,000 5v5 matches a
day, each requiring 4 minutes of computer-time for analysis.
But there aren’t enough minutes in a day to do all of this!
…So they went out and bought 64 blade servers, totalling 3,456 processors - double what is
required to analyse every game of CS:GO being played right now.
You hear that guys?
CS:GO has room for expansion!
This isn’t the deeplearning bit though- this is 95% of the work that goes on before
the deeplearning, simply to convert matches into useable data.
They then use a Geforce 1080 TI to do the deep learning bit, which takes 6 hours to
get through 700,000 bits of data.
Though this will soon be reduced to just 10 minutes when they get their V100’s.
So that’s what they’re for.
Also, extra marks to Valve for rating cheats as ‘cheatiness’.
I also love how happy he was about banning so many unsuspecting cheaters when VACNET
was rolled out for the 2v2 gamemode.
Which brings us onto the final part: why won’t cheaters be able to exploit this ‘deep learning’
thing?
(And other questions).
I mean, we’ve already heard how it will be able to continually re-learn and adapt
to new cheats with the aid of humans doing overwatch cases.
With time, Valve hopes to get this entirely automated, so the system knows when to retrain
and how to adapt.
But I’m more interested about how it will cope beyond traditional cheats.
What’s stopping cheaters from spamming overwatch cases with false positives and negatives to
try and break the system?
John was asked this at the end of the presentation and he said that they’ll get a low overwatch
rating if their verdicts contradict everybody else.
So they’re free to do more overwatch cases, but their judgements will be all but dismissed.
I’m guessing that Valve is depending upon the immense scale of Overwatch to keep Vacnet
afloat, relying on the majority of users playing by the rules and by doing their best to weed
out the hackers.
Likewise, when asked what was stopping hackers from using deep learning to develop new cheats,
John said that it would expensive, time-consuming, and would require data that anyone outside
of Valve simply won’t have access to.
One question I liked was: ‘Could treating players as cheaters by giving them a low trust
score make them become cheaters?’
John said it was a concern, but there isn’t any proof of that happening just yet.
He implied that the Trust Factor is quite forgiving in that cheaters are more likely
to be given a good rating than for a good player to be dropped in with the suspected
cheaters.
So maybe the majority of us have a pretty good Trust Factor without knowing it.
And I don’t know if it was kept intentionally vague, but from the talk I got the impression
that it had limited effectiveness against subtle cheats.
In the Q&A at the end he was asked how it differentiates between a pro player and a
cheater and just said that overwatch doesn’t catch subtle cheaters.
So maybe it doesn’t!
Maybe VACNET is still only looking for obvious aim and rage cheaters.
Another asks about subtle cheats and John talks about how it will require an unsupervised
approach and outlier analysis and stuff, but says he hasn’t done much work on it yet.
From this I think that VACNET is still in its early days and that it won’t be taking
over the world any time soon.
So!
That’s everything I gathered from the talk.
When I suspected them of doing something like this following Valve’s Reddit AMA last year,
I hoped for a lot of things, including improved overwatch and cheat detection.
But I made one mistake: I err’d on the side of caution, that I was expecting too much
from deeplearning.
But it seems that Valve are jumping into it head-first, hinting in the talk that this
kind of cheat detection could even be extended beyond CS:GO and into other games on Steam.
They’re using it to help with DOTA’s Hero Selection (WHATEVER THAT MEANS), and hopefully
when they say anti-fraud, it means that they’ll soon clear up the workshop, which is a hot
mess of spam and adverts right now.
They even played with the idea of using deep learning to scour reddit for new and upcoming
topics!
And let’s not forget: back in 2016, our cries for improved anti-cheat were all that
Valve could hear.
But with VACnet reducing those cries by 99%, it can take more of a backseat.
Maybe, other requests and features for CS:GO will be heard and can now be- hopefully- worked
upon.
COUGH PANORAMA SOURCE 2
HALF LIFE 3.