I played competitive level Quake 3/Quake Live for a number of years, during the height of its popularity. I also have friends who play more modern competitive FPS games, such as CS:GO. Even though QL was only a small online scene, the use aimbots, triggerbots, wallhacks, and similar tools was always very common at the competitive level. Quake Live had very limited anti-cheat functionality, so it was never relied upon for proving legitimacy. Despite this, cheaters generally didn't last long in competitive play before being banned. Even if the computer can't unequivocally identify the presence of these tools, skilled players could usually tell the difference. Even if skilled players couldn't tell by watching alone, other contextual factors usually gave hackers away. Such as lack of LAN experience, no history of natural skill progression, etc. I'm aware that this doesn't prove that we caught every hacker, just that we caught many of them.
These cheat tools could apparently be tuned to give extremely subtle advantages to players. Still, over a long enough time period the tool would eventually do something inexplicable enough by normal beahviour to give the player away. I haven't exactly kept up with competitive FPS in years now, however it doesn't seem hard to make aimbots that work well, it seems very difficult though to make ones that consistently appear natural to a trained eye.
Many years ago I used to run a games service [1] (spanning q1 to q3, plus Unreal and various mods for all engines) and often had people message me occasionally about player X or Y cheating in various ways (these were the days before PunkBuster, but it happened more or less continuously).
Since we had extremely low ping when at the office (comparatively to dialup), we had a bit of fun jumping on servers to do a bit of “cleanup”. I’d play patsy under a generic handle, go to specific places in maps (around corners, etc.) I knew were impossible to track without wallhacks, and after getting fragged in impossible situations we’d all switch skins/handles and go to town on the cheater(s) like the ride of the Valkyries.
A few (ok, maybe twenty) years later, though, I got kicked out of a Quake Champions match because, well, I have a knack for railgun timings and am constantly switching weapons, so it wouldn’t be unusual for me to rail someone and then finish the job with a mid-air rocket. Which is tricky when you’re doing it with unfavorable ping (was using NVIDIA’s Mac client[2]).
Fun times. I still have ioquake on my Macs, and built a tweaked Q3A image for the RaspberryPi with OSP and our skin packs for the sheer nostalgia of it.
(Edit: Quake Champions, not Live. I only played Live a couple of times)
Also being a pro-gamer in RTS years ago, I can relate. There are many small steps between n00b level and mastery and a lot has to come together to be at expert level in gaming. Usually experts can play in variable settings, cheaters only in one particular. Experts can adapt, while cheaters usually not. Usually real talk about how you handled and interpreted a certain situation will show the difference. Cheaters usually are not the most talkative.
However sometimes there is a make or break in a certain game. While cheaters are usually spotted in the long run, it spoils almost every time the fun in the short run.
Missed opportunities to tourney advancement, frustration etc. can make or break players. Are we talking about the true winner, Carl Lewis, in the 100m finals in Seoul in 1988 or Ben Johnson?
I saw some guys with really good potential leaving out of frustration and that is really sad.
> There are many small steps between n00b level and mastery and a lot has to come together to be at expert level in gaming...
Absolutely. One thing that I may not have made clear enough to people who have never played competitive online games is that it takes so much practice to master these games that your progression can't possibly go unnoticed, even in a large community. If you're good enough to take games off well-known good players, people will know you.
Cheating in video games is nothing like steroids. The people using steroids are equally as skilled as their opponents. Steroids aren't magic and don't miraculously give the user abilities they didn't have prior.
Both Ben Johnson and Carl Lewis were on steroids, fwiw. "True winner" is a joke.
Not really on topic, but it has been "interesting" to watch the cheating progression unfold in fitness games (Zwift, etc.) where it essentially IS digital steroids. Although often done in a very analog way, like attaching drill motors to $10k carbon bike frames to get that pro-level rush of achieving 5w/Kg for hours at a time. A Movistar contract, no doubt, arriving shortly...
> The people using steroids are equally as skilled as their opponents.
Sure, because they were also doping. Seriously though, I wouldn't say steroids make you _more skilled_, but they absolutely give a physical advantage over natural athletes. Which is why there aren't any top level natural athletes anymore except in very dedicated natural-only circles.
I'm not sure what point you're making. My point is that steroids don't turn average people into elite athletes, which is much closer to what auto aim or wall hacking tools in FPS games do. Average people appear elite because their tools make them perform that way. This is not what steroids do.
You're agreeing with me, I think, but in the form of an argument.
Sort of. A regular person on steroids could never compete with a skilled athlete who isn't, certainly. But in virtually all sports a skilled natural athlete also can't realistically compete with a skilled "enhanced" athlete.
It's not really cheating anymore, since everyone does it now, but the point I'm trying to make is that it's not nothing either.
If my genetics aren’t as good as another athlete. I’m at a disadvantage. Why is this considered not just acceptable but even good? The genetically gifted person didn’t do anything to receive praise society gives out for said genetics.
That’s just life. There are many genetic advantages and disadvantages people have beyond just athletic ability, not to mention non genetic advantages like opportunities due to wealth, gender, race, birth place, influential peers, etc.
If you follow your logic and some how eliminate all outside advantage, then you may come to the conclusion that athletic competition is meaningless.
Why are you and downvotes/others possibly able to extend my logic into a wild conclusion. Yet, I assume you would find me taking your logic down a wild path as preposterous.
Following your logic of that’slife and genetics are part of natural life while steroids are so wrong, we should heavily focus on making sure advantages from consumption are curbed. No supplements, no high protein low calorie food. Limit medications and so on.
As genetics are a part of life, something I never disagreed with, and we all agree they are not equal in fairness, why are steroids of almost any kind frowned upon so strongly? But other life advantages or disadvantages are hand waved away?
Because having good genetics isn't enough to actually achieve anything, and there are a myriad of reasons someone with excellent genetics won't achieve as much as someone with lesser genetics.
Outside sports that are only about strength (if there are any), steroid usage isn’t enough to actually achieve anything in athletics. There are many reasons why two people taking some assortment of steroids will have one achieve much more than the other. Even when the achiever uses less steroids.
Kinda depends. It's quite rare in modern FPS games to cheat and also be competitive in legitimate pro tournaments. Cheating online in ladder isn't really the same.
What you said about progression matches my personal experience. I jumped in the deep end of Q3 just before Quake Live came out with about 2-3 months of playing every evening for hours (vacation/between contracts -- I can't recall). I started saying, "Woah, this guy is so good he has to be a bot!" to the best player one evening early in my journey, after he fragged me for the 10th time in a row with nary a scratch from my pathetic efforts. By the end I was about as good as that, and other players routinely called me a cheat.
My favorite "cheat" (I prefer hack) was to counter another pathetic cheat in Q1: players using an all-black skin. They would hide in the shadows and get you with a rocket when your back was turned. So I edited my local copy of the skin to be bright pink and made a point of chasing them down at every encounter (lingering in the shadows or not).
With you on progression. First time you see someone being super fast you call them a cheater. Then you learn about Strafe jumping and that it's just how q3 physics work (even if unintentional from the programmers perhaps) and you learn it suddenly you're called a cheater by n00bs. Same with jumping onto things of a certain height. If your graphics hardware could not do a certain framerate constantly it was impossible to do those jumps. Get a new graphics card that could render at the full frame rate cap constantly and you could literally just hold the forward key in front of that obstacle and jump and you were there. Someone with worse hardware would obviously call you a cheat because it was impossible. So at least back then it was also a hardware thing. Another one: I had a regular PS/2 ball mouse. I was just unable to do certain things. Until someone told me there was a setting in Windows to change the scan rate, which improved accuracy and also a USB infrared mouse. Huuuuge difference. In fact I still use that USB mouse today.
I bet this is the same in most games and many many "cheaters" just aren't.
Using a black skin that's part of the game is not cheating if you ask me. Editing a skin to have a bright pink that didn't exist in the game however is cheating.
Having played q3 back when myself it was standard though to make _all_ skins be the standard blue skin. The one that came with the game itself originally. That could be considered not cheating and being an anti-cheating technique. I'd say it's something that depends on the game though. Q3 wasn't really about shadows and using your surroundings in that sense because it wasn't set up for realism. You also played with gamma pretty high etc.
Something like Counterstrike or say Ghost Recon however I would very definitely find it cheating if you changed all skins to be the same because of the realism involved. Choosing the right outfit for a map would be part of the game.
> Having played q3 back when myself it was standard though to make _all_ skins be the standard blue skin.
This must’ve been early on in q3’s life, ‘keel/fb’ (bright green Keel) has been the preferred enemymodel for quite some time since it’s highly visible, has loud movement sounds, and fills out the hit box pretty well. I always assume my opponent forces fullbright Keel for my model too.
> Using a black skin that's part of the game is not cheating if you ask me. Editing a skin to have a bright pink that didn't exist in the game however is cheating.
The entirely black skin was 3rd-party content, not an artifact from the official game. But yeah, no big deal either way.
I still play QuakeLive on a regular basis; the problem is mostly fixed by playing on servers with a stable community.
AFAIK no players are actively cheating in that community, although some prefer to play using timenudge, which could be considered an "allowed cheat".
Fortunately it's quite easy to spot those laggards, and it's up to yourself to decide whether you want to opt for fair play or not...
(Also, it feels quote good to beat them even though they have an advantage over you.)
Also, it's rare to have skilled players that cheat, so most cheaters are easily detected.
And to add to unfair advantages: I have very good ping, and also noticed I moved up on ranking after switching from a slow monitor and Bluetooth mouse to a gaming monitor and - mouse. While this is not considered a cheat, it might give you an unfair advantage over the players who use less then average hardware.
I assume it's part of human nature to figure out ways to get an edge over others, and the difference between legal and illegal is mostly about subjective standards. A good example would be doping: as long as it's not on the doping list, it's considered fair play; I recall a trend of asthma along professional road cyclists a couple of years ago.
Once the needed medication was on the doping list, the trend reversed immediately.
In my experience these additional "optimizations" are unavoidable.
> ...although some prefer to play using timenudge...
Timenudge is not cheating by any stretch. It's been a long time since I looked into Quake Live's netcode. Someone here will probably know about this, so if you know more please correct me.
The server that you're playing on has a fixed framerate (server 'tick rate'), and periodically sends packets to connected clients containing the current gamestate (player locations, scores, etc). Your client deals with the latency involved by interpolating between the last two received packets. This means that what you're seeing is always (your_ping + server_tick_rate)ms behind 'reality'. Quake Live uses 'backwards reconciliation' on the server. When you fire a hitscan weapon the server looks at the server frame (your_ping)ms back in time to see if you hit something. These two reasons are why you might have experienced being railed around corners by high ping players. You were under their crosshair on their screen, but on yours you're in the clear.
What timenudge does is adjust the client's interpolation period. A server_tick_rate of 40fps makes for a delay between packets of 25ms. Since the client is interpolating between the last two received packets, your client is working with what is effectively an artificial 25ms delay. A timenudge of -20 tells your client to reduce that interpolation frame, at the cost of some accuracy. It's not cheating. It doesn't really give people any practical advantage at all unless you've got a totally obscene ping. If anything it'll exacerbate the effects of other players warping (caused by the server not receiving their client packets in the right order, or at all).
Can confirm. I was playing Quake Live extremely well one day (for whatever reason??) and a couple of the guys specced me and announced that I, indeed, was not cheating. That led me to wonder how they knew and some searching turned up a few threads about various tools and tricks of the trade WRT that game specifically.
If you ever played OpenArena I would be curious what you think of the communities playing OA or QL. Coming from the small OA community when QL launched, I found QL players somewhere between hostile and mute, so I only played a few weeks before leaving that scene. There isn't always constantly friendly chatter in OA, but on occasion there is. In QL I often wouldn't even get answers to direct questions (I don't remember what, but I remember it was a thing I'd expect most players to know). The number of cheaters in OA was also, well, normal to me, but I suppose very low by other standards. The number of people that wouldn't stop and had to be banned from servers can be counted on one hand during the years that I had rcon on some servers.
One problem is that the uncertainty around hackers can lead to a toxic accusatory culture. I have seen multiple games where the high level (but below pro) gets bogged down in accusations of hacking; is someone genuinly more skilled or using aimbot (one is more comforting than the other). People giving up on a match because of some percieved inconsistency in the movement of someone on the other team etc. Or cases where someone is genuinly hacking but others not believing it "you're just mad" because of all the false positives.
One may wonder what exactly is the point in a human watching this auto-playing game system, and whether they'd be better off watching a movie... But another way to look at it is as a preview of the future.
Just picture this: a world of machines battling it out for supremacy, and somewhere off to the side there is an almost forgotten human brain. It seems to serve no discernible purpose, and yet it is actually the reason all the machines exist. What they are actually fighting to optimize, unbeknownst to them, is the dopamine release into a primate brain. Bonus points if the brain itself is a simulation :)
Cheats are about two things: money or prestige. People want to get back at the players who so rudely beat them normally, and get high competitive rankings that make them look better than other players in that games community. Or, they use the cheats to create high ranking game accounts to sell to players who want to look good, or they simply cheat to win prize money.
It should go without saying that this kind of activity destroys the interest in games affected by it. People don't like playing against superhuman enemies and having their progress impeded by it.
It doesn't make sense that it would be enjoyable to play except that you can enjoy making money or making other people feel bad.
First, people who cheat in multiplayer games are awful, and it's unethical and unconscionable.
However, cheating in single-player games is perfectly okay in my book.
When I'm cheating in a solo FPS or other game, I still enjoy the game. The cheating is a way to tackle some aspect of the game that I don't enjoy, while still enjoying the rest. I can actually put on god-mode and unlimited everything and still enjoy moving through the game and doing things. Even the battles can still be somewhat fun under those conditions, even knowing that I can't possibly fail.
So it doesn't surprise me that the rush of beating real people still exists even when you're having the computer do most or all of the work.
I agree, I should have clarified that I was talking about multiplayer games, particularly the competitive ones. In single player, the only experience you can spoil is your own, so whatever people enjoy is fine to do.
The analog to steroids and high-level competition is really interesting, something I've chatted with my friends about a bit.
In some of the highest tier bodybuilding competitions, some people will be using steroids, and because that went unchecked and unspoken, now everyone has to or else they have no chance of competing. If you want to compete and you aren't using steroids, you will lose, so you have to start using them too.
In the game Warzone right now, at least some of the high-tier players are using hacks in competition or at least to get their "High kill game" viral videos on YouTube. So if you want to compete in that space, say make an even more impressive "high kill" game and take that crown, you have to start using hacks too.
The money on the line is bonkers too, as well as the ad-revenue from popular YouTube videos, you've got real competitions dropping 300k on online comps where it's incredibly easy to get away with cheating, so of course people will do it. Because some people do it, others will have to as well, and it goes unspoken because of all the money and prestige involved.
Because it's advantageous for the competitions holders themselves to be hosting the highest level of competition for the sport, if Warzone comps or these bodybuilding competitions had to admit that all their most popular and highest performing participants were frauds, it would be incredibly embarrassing (and unprofitable) for everyone, and so it stays unspoken.
Yeah I guess it's just to turn on the spin hack and rage your way to the 300k prize.. Cheating without getting caught is arguably one of the most valuable talent people can have today, sad as that may be..
Steroids don't really work the way that video game hacks work though. The analog would be if only elite players could access the aim hacks, and they only impacted a small percentage of play. And, if we're being very realistic, all of the elite players' opponents would also be using them.
That's exactly what I meant by my "preview of the future" comment.
Imagine the same scenario, but in a higher-stakes environment than playing a game. Let's imagine there is a "leetcode aug" that lets one instantly pattern-match a problem and pumps a perfect solution into one's brain. That doesn't have to be very sophisticated AI. But once this kind of augmentation is available, the pressure is on for everyone to get it, or for the tech to be banned, or for the evaluation criteria to change.
This is incorrect. It is entirely possible to cheat and feel a sense of accomplishment.
- You can cheat to finish a game and still enjoy the fact that you finished the parts that you didn't need to cheat by.
- You can figure out how to cheat the game (ie, hex editing) yourself, and get a sense of accomplishment from that.
It is entirely possible to both cheat at a game and have a sense of accomplishment related to that game. Just because it isn't something _you_ would do, doesn't mean it isn't true for others.
Personally, I spent days mapping out the save file for Bard's Tale back in the day and manipulating it to my heart's content. It was fun, and I enjoyed it.
Said primates have a dopamine down if they realize their life has no meaning, so the AI must provide them some meaning (illusion) so that they get back to the desired dopamine levels
EDIT: for example by pretending they are just crappy machines and they need a human to be really good at doing things
EDIT2: oh too much snow, I can't drive, please human help me out!
Create a super human rank that is so extremely difficult to achieve that only bots can compete there.
The next problem is that cheaters may decide to cheat 100% in one match and 0% in the other until they hit human ranks again. You'd have to write the scoring algorithm in a way that weights performance within individual games higher than average performance over multiple games. If cheaters insist on fighting human players they must lower the performance of their cheats to a human level. This allows people to cheat up to any rank they want but from the perspective of other players the game is still fair.
yeah no. A machine does not have motivation. It does not have urges and desires. It may solve a problem perfectly buy it’s gonna be a while until they can grok why solving problems is worthwhile to begin with.
This is such an underrated idea. It is possible that at the logical conclusion of the current trend of machines getting better at previously human-only things, it might turn out that all we can really do that a machine cannot, is to want things.
I don’t know if that is better than the alternative ending, but it’s something to think about.
I want to go to the sea and my car brings me there faster than I could if I walked. Actually, I'd never been at the sea if there were no machines (trains first).
But the train, the car, the AI are only tools. Not much different than a knife or its first ancestors, the flint shards.
This is just one example of the "analogue hole" [1] problem shared by all anti-cheat/DRM systems.
At least in theory, there is no technology that can prevent exploits like this short of dystopian levels of surveillance and locking down computing devices even further.
By that I mean encrypted communication on all computer buses (including USB, HDMI), and only allowing access to those busses via physically hardened "secure" enclaves, up to (in the end game) big-brother-like surveillance (think electronic proctoring solutions).
I think that this is exactly the problem with such DRM schemes---the ensuing cat-and-mouse game will inevitably lead to trampling the user's freedoms, because locking down computing devices and environments to ridiculous levels is the only way in which DRM can be made to work.
Of course, for now, cheats like the one featured in the article should be fairly easy to detect (at least from what I've seen in the linked video).
The motion of the bot is extremely jerky; a simple rule-based system, or, if you want to be fancy, a neural network based anomaly detection system should be able to detect this.
On the side of the cheat authors, this could be easily circumvented if they include a "calibration phase", where user input trains a simple neural network to stochastically emulate the dynamics of the user's sensor-action loop. The cheat could then act slightly faster than the user, giving them an edge while still using their unique dynamics profile.
I wonder where this will lead eventually, and I genuinely feel sorry for all the people who pour their heart and soul into competitive gaming; I don't think that this kind of cheating is something that can and should (see above) be prevented in the long-run.
The best possible outcome I can imagine is that online gaming becomes more cooperative or once more converges back to small groups of people who know and trust each other.
The solution is really simple - make all competitive gaming events LANs with standardized hardware that is not touched by players before the event starts.
For regular online gaming, you can train a neural net to detect cheats like this, biased by the players score. If the cheat is introducing enough error for the player to be killable, its not ruining the experience for the rest of the players.
>By that I mean encrypted communication on all computer buses (including USB, HDMI)
That only delays things since in the end you still need a human being to be able to play. So you can have a camera looking at the screen and a mouse/keyboard with some wires soldered to the key points.
Indeed. Or a robot arm moving the mouse. The analog hole will always exist. However, it may prove hard to make a computer move the mouse like a human, and type like a human. Heuristics will likely be able to separate human from bot input for quite awhile still.
The game makers probably enjoy a large advantage in size-of-dataset vs cheat makers.
>will inevitably lead to trampling the user's freedoms
People keep saying this but it happened 20 years ago. This reminds me of shit like the postal service requiring photo ID to receive a package and people complaining about NSA hundreds of years later. Now you need a phone to play a game and some of the most popular need literal photo ID checks. Imagine, sending your photo ID which if stolen people can steal your money, to a bunch of newgrads running a game studio. This is what people (kids and manchildren) accept to address the overstated problem of game cheating. I played thousands of hours of games for 20 years and the number of cheaters I ran into is around 10 or 20. Most players of games (including the ones who complain about "cheaters") do not even have a clue what a game cheat is. They think some guy has some cheat that only works in this weird scenario that happens 1/100 games. Yeah, can you guys stop making me need photo ID for to play some stupid game? This is no different than every obnoxious statist concern that gets addressed by some charlatan who purports to be saving the world by ruining everyone's day (almost any time I install or configure a game my day is ruined, imagine a typical dependency hell but 10x worse). And no, I haven't ran into little cheaters because of "sophisticated anticheat" (stuff like punkbuster is extremely incompetent), it's because public hacks simply get blacklisted once they become big enough to matter.
On a way more simple level, back in my days I wrote bots for flash/browser games basically by detecting specific pixels on the screen and acting according to it. Sounds stupid, but with simple games this could work very well.
I never got 'detected' how would they? And some of my bots easily got more skills than I ever had
I did something like this with Dota2 where I'd have it monitor the opposing team to save their locations when they appeared on the minimap in a shaded color on a 2nd monitor on that 2nd computer. I used an HDMI splitter and HDMI capture card to send the input to the second computer. I did the CV stuff with opencv library. Taking it a step further as shown in the article could be done to do stuff like auto creep killing vs human and stuff like that.
Dota 2 is probably the most complex game I've ever personally played. It takes hundreds of hours of play just to learn the basics of the rules. There are over a hundred distinct hero characters to play, each with mostly unique skills. At a few hours per hero just to learn the essentials, it can be upwards of 500 hours before you even have a good idea of what's going on. Getting a feel for the overall flow of the game, where to be and where not to be, etc... can take thousands of hours.
There is no sport and few other pre-computer competitive games that even approach this level of depth and complexity.
But speaking of playing the meta-game more than the game, I had a ton of fun making a "hero picker".
At the beginning of each match there's a mini-game where each of the ten players gets to choose their hero out of the available pool of 119. Some heroes combo well others on their own team, and others counter the enemy choices well. This leads to an explosion of possibilities, with something like 4e20 possible distinct combinations, so choosing well is... difficult.
I downloaded the outcome of 30 million games (just a few days' worth!) and tried a bunch of ML/AI algorithms to come up with an optimal hero picker: Given 'n' current picks, choose the best hero for the nest pick.
That produced high win rates but boring games: it just picked the overall strongest characters with very little variance.
I then tried to make it pick the hero with the highest differential win rate. That is, it would sometimes recommend a hero that would decrease your chance of winning, but increase your chance for that hero relative to other games. This would give the opportunity to play weak heroes in games that suited them best.
That was okay, but still not optimal, because it used the win rates from very bad players.
I then took my 30M games, and produced an automatic chess-style ranking for all players. I threw away all "weird" games and players only seen a few times, giving me a clean learning set of regular players with a known skill set. I then filtered it to my personal ID number +/- a 10% skill range (still millions of games!) and trained the ML on that, hoping to give optimal recommendations for my own skill set.
That was a good try, but it turned out that people in my skill range are terrible at the meta-game of picking heroes.
I then threw up my hands and simply had the ML train on the top 10% of players. That was amazing! It was like having the knowledge of the best players distilled into an AI. It recommended some amazing combos, and generally stopped recommending heroes that are strong in the mid-tier "pub" games but weak against skilled opponents. My skill went up, and I slowly climbed the ranks to about the top 20% or so.
I don't fraternise with those filthy LoL players! /s
On a more serious note, I'm sure something like this exists already. I wasn't even the first one to write a Dota picker, I got the idea from someone else's tool. I even saw one that could analyse the display and recognise the hero images to enter the existing picks automatically!
Even my little utility merely scratched the surface. It didn't handle the first few picks well, because the choices are not independent. Depending on the game mode chosen, each team can take turns picking. In the fully competitive variant of the game, players can even exclude ("ban") heroes from that individual match.
I only optimised mine for picking the last one or two heroes out of the ten players, because I either played solo or with one other friend. We'd pick last based on my tool's recommendations.
That alone was hard enough to program! Theoretically, it's a trivial probability problem. Just build a 10-d matrix of win rates, and then picking is trivial. Unfortunately, this is a huge amount of data, and impossible to train well. Reducing it to, say, the 3-d case of ally+ally+oppose and computing that over every combination in the current picks doesn't cover things like the support/lead roles well, so it over-recommends some heroes. Some heroes do well with short games, some with long. Some can reduce the game length, others can drag it out. Some are "greedy", consuming shared team resources, others are frugal. I ended up with a complex heuristic model that included all of these high-level traits in its combined recommendation plan.
Fundamentally, there's nowhere near enough data available for a full model, and the labels are super noisy, because even a good combo may only shift the win rate by 10 or 20 percent at best. You might see thousands of samples for some popular combination of strong heroes, but then you'd get a long tail of individually unique games.
I found a theoretical mathematical paper that covered this exact training scenario, and it basically concluded that this is an entirely new branch of probability theory that has been essentially unexplored. In other words: "Good luck with that, we couldn't solve it either!"
It's certainly a fun problem space to play with. There's tons of data, and you can immediately test the output yourself, personally. There's no end to the depth of it either! You can go to the n-th degree and even start recommending ideal hero builds (i.e.: which items to buy in-game), where each hero should be positioned, etc...
When it comes to solving complex AI problems I always like to think, if I had given a human this task, what would they want to know.
And I think even a human would struggle winning the character select mini game just with tabular data related to the players' win rates with those characters in previous matches. Learning about actual play styles of each playerand customising their play style with a given character would be a huge factor in them gaining an edge.
For example, let's say there is a player picking a slow but tanky character, but I happen to know the player who picked it often attempts a certain cheeky move to gain an advantage (like jungling early in the case of LoL, I really don't know much about Dota or LoL so you'll have to work with the metaphor here) and THAT cheeky technique is what increases their win rate. But then I know of a move that can be done by a certain character only in that specific cheeky scenario that will tip the scales and let me get a kill on them early, tipping the entire balance of the game early. As a pro player, that could be why I win with my selection, but the cheeky strategy also why the other guy often wins with his, even against other players who pick mine.
There's essentially a list of known play styles between different characters and optimal strategies to use with them against certain other characters. I think when you filtered to the top 10% of players, you essentiallly made sure a larger percent of those optimal play styles were the ones that generated the outcome data.
But still, if the player doesn't know what those in game strategies are, or their opponent doesnt know the ones they're "supposed" to be using, it'll throw off the value of making it the best selection.
Precisely. The top-10% thing essentially made my tool into an "expert system". I built a simple model with a bunch of parameters, and had it figure out those parameters based on observations of high-skill games.
In retrospect, a neural net would have likely been the best approach, but the (maximal!) noise in the training data would have made it difficult to train. I wanted a billion or more game outcome records to enable NN training, but the game stats API is very throttled and it would have taken months to get that much data. In that timeframe the game is often patched with new rules, which would invalidate the older data.
Makes me think you could have the character stats and game design decisions as parameters, and have it select characters based on attributes rather than hit encoding of their simple identities (names) but from what I know of LoL the unique thing is character abilities aren't really differentiated in that modular way and the exact values it aren't given (like a spin attack movie's exact radius, though I bet that could be derived).
The parameters I trained the model for were things like "greed", "preferred game duration for winning", "effect on game duration", and several 3-way tables of win rates for things like ally-ally-oppose and ally-oppose-oppose.
An interesting effect I noticed was that the pub games have all sorts of weird second-order effects.
E.g.: Some characters are unpopular because pub players play them ineffectively, and/or they're hard to play well because they're so niche, so few people get enough practice with them in the right kind of scenario.
Dota's Jakiro is a great example. It's a lumbering support hero with very slow spells and a glacial turn rate. It's like trying to do acrobatics with a jumbo jet. He's frustrating to play and when most people pick him, the effect on the overall win rate is about -15%, which is insanely bad for 1 out of 10 players in a game! My win rate with him was something like 25%, which is absolutely atrocious. That's "throwing the game" bad.
My picker app often recommended Jakiro when the enemy team had over-represented heroes that typically commit to a fight, such as Legion Commander or Axe. Those heroes are nailed to the ground in a fight and can't escape Jakiro's devastating-but-slow attacks.
I ended up playing Jakiro a lot, and eventually I got about a 55% overall win rate with him, which is an amazing swing if you think about it. It took practice though, figuring out how to best utilise him. If I had played him in random games, I never would have gotten anywhere. The picker app however made this possible, by providing these hints of when and how to use the hero.
As far as I know nothing like this exists for league because league doesn't have an open games database. You can query for a specific user's games, but only if you know their ID, and in only small batches. Would be cool though
Cheating in the game "Warzone" has been a really interesting thing to watch unfold. It makes the game really frustrating to play and I have stopped playing it, but outside of that it's interesting to watch players, even high-visibility streamers, attempt to play without getting caught and succeeding at that.
In Warzone the map is huge, and 150 players are split up in to competing squads of 1-4 players. So it becomes very much an information heavy game. Knowing where people are, even when they're hundreds of meters away, is extremely valuable, and that's one of the hacks people have. They see nametags, hitboxes and information for players overlaid on their screen. They also change colour based on if they're in line-of-sight, so you can say "I see that squad, but they can't shoot at me, so I am safe" and that's extremely valuable.
Second to that, they can use aim-assist but the highest-end aimbots are really quite nuanced, and they allow you to smooth out the assisted movements and only auto-aim in specific scenarios, and that makes it really hard to tell they're using an aimbot. It just looks like a really good player. Gone are the "snap to head" aimbots of Counter Strike that were so obvious.
You can report someone all-day-long and they may never get banned because the hack software is competent, and it's hard to demark the difference between "Knowledge you shouldn't be able to have" and "Intuition of a good player".
I did this for the FPS game Valorant, not for cheating, but to see if I could make a 100% computer-controlled opponent.[1]
It involved some weird Logitech mouse hacking for the control side of things and was overall really rough, especially with how much latency was involved.
With a normal USB capture device, the latency is around 50-100ms, so it’s hard to do lightning-fast reaction. Even more so if your view is moving at the same time. Everything that normal aimbots do by directly accessing the game’s memory suddenly becomes much harder when you don’t have memory access.
For anyone interested though, the computer vision models publicly available are both very good and also easy to fine-tune for a specific use case (e.g. a specific game).
I remember over a decade ago doing something far less sophisticated to "cheat" in a turn-based projectile physics game --- I used a https://en.wikipedia.org/wiki/Nomogram printed on transparency and just put it on the monitor to quickly calculate parameters between turns.
At a LAN party a few years ago one of the games being played was Modern Warfare 2, a game where your gun is almost always going to hit in exactly the centre of the screen, but that’s made more difficult by requiring you to look down the sights to get an aim point, which slows you down.
One of the people near me worked around that by taking a few shots down the sights and then sticking a blob of blue tack on his monitor where the shots hit, creating an instant targeting reticle available at all times.
Game developers should stop trying to police this and let the bots fight each other. The game becomes, who can tune their bots better. Train the bots for team work or more strategic level play.
In the meantime, the rest of us can just enjoy some co-op gaming against some easy bots, or play competitive matches against just friends and family.
If some random person on your server is no fun to play again, just kick them.
If you are really into the competitive gaming and want to take the games more seriously, I'd like to see players go meet other players face to face. Join a local league and play on hardware you don't own with other people watching. I used to love playing Quake down at the local internet cafe with a bunch of friends. We had a small 4v4 league going.
Funny, recently there were threads about anti-cheat rootkits where people argued they're justified because they provide some defense against cheaters who wouldn't be sophisticated enough to exploit the analog hole.
I wonder if the anti-cheat system could insert ghost enemies for a few frames, or about 20-30ms, fast enough that humans wouldn't really notice. If players are shooting too often at ghosts, that may be a good reason to ban.
20-30ms would be noticeable to a trained eye. Speedrunners often hit buttons frame perfect during a 1/30th or 1/60th second window. Many people today are playing on 120-240hz monitors. Additionally, if you're training on gameplay from X game and that game has theoretical ghost frames that the player doesn't see / shoot at, then the hack shouldn't shoot at it either.
Speedrunners are anticipating the events though, and perform a remembered sequence of inputs in response to an earlier stimulus. Nobody can react to a random event within 1/60th of a second (17 milliseconds) - average human reaction time is 200-300ms. But I guess you would still visually notice a visual artifact of enemies flickering in and out of existence at 20-30ms.
Speedrunners do that via timing, not reaction. The fastest possible human reaction time with any level of consistency is somewhere around 100-120 ms, so if you reacted to 'ghost enemies' faster than that you would be definitely cheating.
On certain minecraft server anti cheats, this used to be a thing. People used to use a hack called "Kill aura" which automatically attacked anyone with a certain distance of you. Minecraft server anti cheats implemented a system which inserted an invisible fake player circling around the player, and if the play consistently hit the fake player they got banned. This system worked pretty well for a while until cheat developers realized they could pretty easily determine the real from the fake anti cheat inserted players.
There was a similar technique used to prevent botting on MMOs. The game would drop extra loot in a way that humans couldn't see or interact with, but bots would pick it up. Once picked up it couldn't be dropped and wouldn't stack in inventory, eventually making the toon worthless.
Valve is actually doing that. Sometimes when they update VAC, they intentionally do not ban anyone for a while to catch as many as possible. Not unlike the police is handling drug dealers.
You will see it after it's gone due to persistence of vision, even at <10ms (no idea what the actual number is). Mind 20FPS is longer than a frame on even a 60Hz monitor.
Aimbots already exist in a practical sense as autonomous drones. Why go through the trouble of creating an aimbot system for human use when you can just replace the human entirely?
Who needs infantrymen when you have suicide drone swarms, bunker busters, MIRV's, thermobaric weapons (vacuum bombs), instant retina frying laser disco drones...
Infantry are going to be a thing of the past for anything more than proxy wars. Maybe frogmen will have their day or something.
The future of human violence at scale is fucking terrifying.
Edit:
Oh, and how could I forget. Our lovely fucking sword deploying hellfire missiles
> Infantry are going to be a thing of the past for anything more than proxy wars.
I disagree. The reason we still have millions of factory workers doing jobs a robot can do, is that the human is easily trained, and easily replaced, and very cheap to run. If the human breaks, you just replace it from the endless supply of other humans.
Infantry[1] is the same. Take a gun, learn how to shoot it, run at the enemy. If the solider dies, just replace it with another one from the endless supply of humans.
Robots on the other hand are very expensive to replace. Until we can auto-build Terminators[2] for less than the 'cost' of a human, robots will never replace people in low skill, high churn roles.
---
[1] I'm not talking about proper specialist soldiers here, just the barely-trained cannon fodder.
This is close to my ideal way of avoiding a runaway Ultron/Skynet-type AI scenario: airgap it and force the use of a physical mouse, monitor, and keyboard to interact with the outside world. At least once it reaches Twitter we can stop it before it destroys humanity one robotic keystroke at a time.
I was thinking about this the other day when I saw a YouTube Warzone stream lament that the game didn't have an anti-cheat system on the end users machine.
I do wonder about the claim that it is undetectable though since a machine will be flawless where as even the best human players make mistakes.
I think it's currently impossible to detect. I think it would be possible to detect if you used some kind of player profile where you characterized how a player moved and then were able to determine through a replay whether the profiles matched. However then you could program the cheat AI to mimic the real player etc, etc. But this would take several evolutions where each tech would be ahead of the other.
I think you are spot on: statistical player profiling + controlled environment testing is the good and potentially permanent solution to this problem.
In my vision every game creates a model of your behavior/capabilities (server-side). For example, in a fps game it could consider your reaction times, overshoot distance on quick movements, look-around frequency, movement patterns, etc..
When you reach certain level you must certify yourself. That is, you must go to an actual physical location and play in a controlled environment. If your behavior there matches your model you get certified for that level of play and can keep going. If you don't... you get banned. Of course the model would track your progress and ask/force you to re-certify as you keep improving/reach the limits of your current certification.
Would this eliminate all cheats? Probably not. However, since you can't play outside of the standard deviation of your controlled-environment capabilities, I would argue that it doesn't matter anymore. To a honest player a cheater would look like "a player having a good day" (which is something that happens and you need to deal with anyway) instead of looking like "a player with superhuman capabilities".
The problem with this approach is how to build such controlled-environment certification centers and procedures. This is a big task, but also a big opportunity. It is not that much different from examination centers that already exist in the learning/certification industry.
Furthermore, since gaming is such a huge market (and growing) and certification centers don't need to be tied to specific games (they can be a service that games hire and people pay for) the whole ordeal seems doable. So doable in fact that I could see myself investing in a startup having this goal.
If there’s one thing that would make me even less likely to play multiplayer it would be a requirement to travel to a (potentially distant) location in order to take an exam before being allowed to progress.
To be in this business you need the companies making games to trust you. Otherwise your certifications are worth nothing.
Would you really risk your reputation (and hence your entire business) for peanuts? If you systematically certify people above their level or advertise in any way that you do you will get caught. If you don't you won't profit much from it, and will always be at risk.
I just don't see how this would be a significant issue.
I stopped playing war zone due to the amount of cheaters. Most of the streamers cheat too and it’s sad. It can be a lot of fun to play but it’s like counter strike back in the day when it got over run by cheaters until valve started auto detecting them.
There’s videos of a popular streamer called symphony or something where he’s shooting people through walls or sniping people when zoomed in that aren’t even visible. Then jokes “oh someone will call me a cheater”
Valve has been using deep learning detection to analyze replays for years. Based on behaviors like reaction times and shooting precision they can flag suspicious cases. They are completely wrong thinking it is undetectable.
Does anyone know why Intel FOGS did not get popular? https://web.archive.org/web/20070707090927/http://www.techno...
Hardware signing input device inputs would advance the cat and mouse game by a lot. Then you'd need something physically moving the input device for you to aimbot. Or pay someone to properly crack open the secure enclave on your input device.
Just make a "usb mouse" which is actually a programmable arduino? What makes an aimbot possible is that something can read the game's state and turn it into a mousemove signal. It can then feed it into the arduino instead of directly moving the mouse.
The problem is preventing game state from being read. Part of this can be done by detecting DLL injections.
Sadly you will always be able to write a monitor that runs as root. After all, the kernel literally administrates the computer's memory. Of course it has read, and write, access. So in the worst case, cheaters will use custom "memory drivers".
Any fake USB mouse that someone makes would not have the Intel Secure Enclave that signs mouse movements. So the mouse inputs would be rejected by the server/banned.
Maybe a fake mouse could resolder a real secure enclave. I'm not sure what sort of remote attestation the enclave can perform. Mouse manufacturers would need to partner with Intel (or anyone else that makes a similar hardware signing system that a game developer trusts)
This is so interesting. I'm an avid CSGO player for decades, and watching the cat and mouse battle between cheat creators and Valve has been fascinating. In the last few years, Valve has been pushing for ML-centric approach of cheat detection (vs more intrusive client-side solutions that competitors like Valorant have). And the community feels negatively about that because it hasn't been so effective in the short term. But now after reading this, I understand why. The only way to combat ML-cheats, is with ML detection..
I was competitive (not professional, but I played with, against, and around pros) in FPS in the early days of competitive console shooters. Cheating was so rampant that people over a certain ranking were automatically considered cheaters. I would say the top 5 percent of ranked players were cheaters in some games and it was not subtle. You knew immediately who was cheating, but there usually wasn’t much you could do because there wasn’t usually any kind of reporting function or if it exsisted it was limited and not very effective.
> Those display frames are then run through a computer vision-based object detection algorithm like You Only Look Once (YOLO) that has been trained to find human-shaped enemies in the image (or at least in a small central portion of the image near the targeting reticle).
I wonder how well would these pre-trained networks work in a real-life automated turret.
There are cheats that read the RAM via DMA device, so there is no need to use video signal. They also modify mouse movements via RPI kit that injects between the mouse and PC.
Name one game that a human is better at than a trained NN. Starcraft 2, chess, go, Dota 2, have all been shown that AI wins. If a game is digital, AI will win after sufficient modeling. I don't think any of that negates the merit of the games themselves for human play.
4X games are not especially complex, so I find it hard to believe they are an exception. More likely no one has bothered to train a good NN on that kind of game.
In my experience as a game developer that has had to spend a fair amount of time dealing with cheaters I've seen that the most effective way to deal with them is to make a more interesting game.
What I find depressing about this article is not the length people will go to cheat but that people are still interested in the same competitive FPS formula.
Just record video of your screen, with your hands, and record movements of your mouse. It's enough to reproduce movements, measure reaction, and match them with game replay.
These cheat tools could apparently be tuned to give extremely subtle advantages to players. Still, over a long enough time period the tool would eventually do something inexplicable enough by normal beahviour to give the player away. I haven't exactly kept up with competitive FPS in years now, however it doesn't seem hard to make aimbots that work well, it seems very difficult though to make ones that consistently appear natural to a trained eye.