

Fair to say you can never prevent false positives entirely, but you can get asymptotically close. Server-side is the way to go even if it’ll never be perfect.
Ironically, League of Legends was formerly one of the crowning examples of a competitive game that effectively managed cheats without aggressive client-side AC. In >5000 hours of gameplay, I saw one probable cass scripter and maybe one person scripting dodges on Vayne.





















Yeah, shooters are definitely harder but not impossible. Some games are starting to implement occlusion culling (i.e. the vision detection strategy you’re describing), but that’s impossible or hard to pull off in certain contexts.
Overwatch 1 is probably the best case study in that genre: while it absolutely had cheaters, their player report system took action pretty fast, and anyone banned had to pay $30 for a new account. In practice, that was a strong enough deterrent to keep people from doing anything game-breaking that ruined the fun for other players.