I have been thinking about how we decide if a person is cheating in some online games. More than once my gaming experience has been ruined by a sniper who suddenly seems to hit my head out of nowhere. In some games, you can spectate through their view. Sometimes it’s obvious snapping and tracking that is inhumane. Other times it’s more subtle when a person can trigger the aim bot only in certain times. But how could we automate detection of at least the most glaring cheaters?
While we often think of the games as defying physics, they actual inputs are tied to people who are confined to the physical world. The mouse is moved by a human hand which can’t accelerate instantly nor stop instantly. If we assume this is to be the case, we could use Fitt’s Law as a way to determine if their movements confine to real world physics. This would need to be done by the game manufacturer behind the scenes, as the actual data isn’t provided to the end user.
In each first person shooter game there are hit boxes that a person wants to hit, usually the head or the body. This could be considered the target. These are often determined by height and width, which are inputs into Fitt’s Law. Smaller targets that further away are thus harder to hit, and often take more time to aim. Through observing a known human play you could determine what is possible within human parameters that confine to Fitt’s Law. This would mean, rapid re-aiming to small spots could be quantifiable determined the likelihood that the person is cheating.
The hard part isn’t using Fitt’s Law, it is determining from the mouse movements when a person makes a judgement to move their mouse to what target. Also sometimes people just get lucky and hit somebody they weren’t even thinking to hit. But I think through repeated observations and some analysis, aim botting would get less feasible, because at best you could have it turn you into the best human player, not the best machine player.