I really like to play my favorite 3D shooter game online. Unfortunately, it is really old and cheat protection isn't really common there, but cheaters are! It is very frustrating, because it really kills all the fun playing against cheaters.
Currently we rely to an admin that is spectating a person accused as cheater and decides if he gets banned from the server or not. But admins are not available 24/7.
The common cheats are:
- Wallhacks: seeing other players through walls
- Aimbots: aiming the enemy and shooting automatically when just one pixel of the other player enter the cheaters visible field
I wonder if it is possible to take randomly short video footage (1 min) for each player (spectating him) and score if it is very likely that he plays with a cheat active or not.
I guess for wallhack, it might not be really possible because the player does not behave different as the other players, he is just seeing more (and might look against a wall where a non cheating player might not do so). However, i think is very hard to tell even for a human if a wallhack is enabled or not. I think the error rate is really high here.
But for aimbots i think, it can be possible because for a human it is very obvious: The cheater moves/looks into one direction and if an enemy appears in back of the cheater he turns immediately (in ~1-2 frame) around and shoots (and mostly hit). A straight player would never see whats going on behind him but might luckily turn around and hit somebody, so one of those hits might not be a 100% guarantee accusing someone being a cheater, but several of those "lucky shots" will definitely.
I would say, for a human it usually takes one to three of those impossible movements to conclude that it is 99% sure that this person is cheating.
Since i only have basic experience with AI (detecting things on images), i don't know what can be suitable from AI "tooling" to detect something like this, because the content of the video frames itself is not really relevant, but the "change" between the images is crucial i guess ...
However, is this possible to detect cheaters "visually" using AI ?
I googled a bit around and read something about "next frame prediction" using convolutional LSTM. Is it something like "when a frame appears next that was not predicted it might be cheat" ?
Since this seems to be a very complex area i just want to find out the right direction i should look for. Any keywords for me to google here?
I am not really deep into AI but I could also imagine that calculating some kind of a "value" of each video frame can be used here. If the value between the frames does alter too much, it is likely that the person moves "unnatural"