zlacker

[parent] [thread] 22 comments
1. lukan+(OP)[view] [source] 2025-12-03 19:18:54
"Any player responding to ingame events (enemy appeared) with sub 80ms reaction times consistently should be an automatic ban."

Can you define what "reacting" means exactly in a shooter, that you can spot it in game data reliable to apply automatic bans?

replies(2): >>kelsey+se >>webere+AF1
2. kelsey+se[view] [source] 2025-12-03 20:24:17
>>lukan+(OP)
Anisotropic mouse movement?

Or perhaps the 0ms-80ms distribution of mouse movement matches the >80ms mouse movement distribution within some bounds. I'm thinking KL divergence between the two.

The Kolmogorov-Smirnov Test for two-dimensional data?

There's a lot of interesting possible approaches that can be tuned for arbitrary sensitivity and specificity.

replies(2): >>lukan+zh >>dchftc+zC1
◧◩
3. lukan+zh[view] [source] [discussion] 2025-12-03 20:38:35
>>kelsey+se
Like another commentor mentioned, I think that only works for a specific cheat(engine) - as long as they don't adjust (and randomize more for example). If it could be solved with some statistics, I think it would have been done already. I ain't a statistician though, but if you feel confident, I think there is quite some money in it, if you find a real world solution.
replies(2): >>kelsey+Vi >>Xss3+TQ1
◧◩◪
4. kelsey+Vi[view] [source] [discussion] 2025-12-03 20:45:42
>>lukan+zh
To be sure. There's at most 6 frames of data per event to work with at 60fps. It's an interesting problem and well suited to statistics.
◧◩
5. dchftc+zC1[view] [source] [discussion] 2025-12-04 07:58:49
>>kelsey+se
Throwing in ML jargon and going straight to modelling before understanding the problem reduces your credibility as a data scientist in front of engineers and stakeholders.

As always, one of the most difficult parts is getting good features and data. In this case one difficulty is measuring and defining the reaction time to begin with.

In Counter Strike you rely on footsteps to guess if someone is around the corner and start shooting when they come close. For far away targets, lots of people camp at specifc spots and often shoot without directly sighting someone if they anticipate someone crossing - the hit rate may be low but it's a low cost thing to do. Then you have people not hiding too well and showing a toe. Or someone pinpointing the position of an enemy based on information from another player. So the question is, what is the starting point for you to measure the reaction?

Now let's say you successfully measured the reaction time and applied a threshold of 80ms. Bot runners will adapt and sandbag their reaction time, or introduce motions to make it harder to measure mouse movements, and the value of your model now is less than the electricity needed to run it.

So with your proposal to solve the reaction time problem with KL divergence. Congratulations, you just solved a trivial statistics problem to create very little business value.

replies(2): >>Xss3+wP1 >>kelsey+nw3
6. webere+AF1[view] [source] 2025-12-04 08:28:53
>>lukan+(OP)
>Can you define what "reacting" means exactly in a shooter

A human can't really, which is why you need to bring in ML. Feed it enough game states of legit players vs known cheaters, and it will be able to find patterns.

replies(2): >>lukan+MH1 >>Xss3+zQ1
◧◩
7. lukan+MH1[view] [source] [discussion] 2025-12-04 08:49:58
>>webere+AF1
And what happens to that pattern, when the cheat engine adjusts? What happens to the enraged players that got wrongly banned for cheating?
replies(2): >>Xss3+jP1 >>webere+oW5
◧◩◪
8. Xss3+jP1[view] [source] [discussion] 2025-12-04 09:53:25
>>lukan+MH1
If anyone is wrongly banned the system is too sensitive. Let it capture data for a month before banning someone. Ensure the confidence is crazy high.
◧◩◪
9. Xss3+wP1[view] [source] [discussion] 2025-12-04 09:55:20
>>dchftc+zC1
More like congrats, you just made every cheater far less effective by forcing them to play nearer to human limits.

You arent eliminating cheaters, that's impossible, you are limiting their impact.

replies(1): >>Akrony+O92
◧◩
10. Xss3+zQ1[view] [source] [discussion] 2025-12-04 10:03:52
>>webere+AF1
There is no need for ML. Games arent the real world.

A suitable game engine would have knowledge of when a shadow, player, grenade, noise, or other reactable event occurs for a given client.

Especially if games arent processed in real time but processed later based on a likelihood of cheating drawn from other stats.

◧◩◪
11. Xss3+TQ1[view] [source] [discussion] 2025-12-04 10:06:45
>>lukan+zh
Even randomisation would cause their aim to be statistically different to a normal players aim over time.
◧◩◪◨
12. Akrony+O92[view] [source] [discussion] 2025-12-04 12:42:29
>>Xss3+wP1
If cheaters play indistingushable from normal people, the seems like mission accomplished.
replies(2): >>Xss3+cq2 >>dchftc+Dv2
◧◩◪◨⬒
13. Xss3+cq2[view] [source] [discussion] 2025-12-04 14:28:31
>>Akrony+O92
Yep
◧◩◪◨⬒
14. dchftc+Dv2[view] [source] [discussion] 2025-12-04 14:57:48
>>Akrony+O92
Cheaters don't have to play like normal people to avoid detection. They just have to make it expensive to police them. For example, the game developer may be afraid of a even a 10% false positive ban rate, and as a result won't ban anyone except perhaps a small number of clean-cut cases.
replies(2): >>Xss3+YB2 >>Akrony+xa5
◧◩◪◨⬒⬓
15. Xss3+YB2[view] [source] [discussion] 2025-12-04 15:32:36
>>dchftc+Dv2
Most cheaters are playing well outside of human limits and doing huge amounts of damage to the legitimate player experience. A 10% safety margin beyond human play sounds reasonable. A world where cheaters can only play 10% better than humans is a far better world than the one we are in at the moment.
replies(1): >>lukan+Gl4
◧◩◪
16. kelsey+nw3[view] [source] [discussion] 2025-12-04 20:04:56
>>dchftc+zC1
Appreciate the feedback, you're right - armchair speculation is different than actual data science. Without actual data to examine, we're left with the latter and that can still be a fun exercise even if it doesn't solve any business problem. We're here to chitchat and converse after all.
replies(1): >>dchftc+lV4
◧◩◪◨⬒⬓⬔
17. lukan+Gl4[view] [source] [discussion] 2025-12-05 00:44:57
>>Xss3+YB2
"A world where cheaters can only play 10% better than humans is a far better world than the one we are in at the moment."

My world is pretty fine, as I don't play games on servers, without active admin/mods that kick and ban people who obviously cheat.

ML solutions can maybe help here, but I believe they can reliable detect cheats, without banning also lucky or skilled players, once I see it.

replies(1): >>Xss3+qz4
◧◩◪◨⬒⬓⬔⧯
18. Xss3+qz4[view] [source] [discussion] 2025-12-05 02:43:06
>>lukan+Gl4
Human administration is not scalable.
replies(1): >>lukan+Cxb
◧◩◪◨
19. dchftc+lV4[view] [source] [discussion] 2025-12-05 07:19:22
>>kelsey+nw3
Yeah, apologies if it was too harsh. I was more irked by someone else who kept trying to asset it's an easy problem, and confused it with your display of raw curiosity, which is something I don't wish to discourage.
◧◩◪◨⬒⬓
20. Akrony+xa5[view] [source] [discussion] 2025-12-05 09:09:44
>>dchftc+Dv2
Yes, the current status is that cheaters can play distingushable from humans. But my point was more that, if we create a system that allows cheating that still is equivalent to a good player, then it just feels like playing against good players. Which, to me, feels like it'd be mission accomplished.

This is one of the cases where ML methods seem appropriate.

◧◩◪
21. webere+oW5[view] [source] [discussion] 2025-12-05 14:14:15
>>lukan+MH1
Yeah, that's why you need a data scientist or two to figure that stuff out. Its a solvable problem, but you're not going to get solutions instantly for free in the reply section of HN.
replies(1): >>lukan+aa6
◧◩◪◨
22. lukan+aa6[view] [source] [discussion] 2025-12-05 15:18:24
>>webere+oW5
But in the reply section you can read about that it has been tried in reality, with not so much success as in theory. But if you see a working solution, then you don't need to tell me, but can market it yourself.
◧◩◪◨⬒⬓⬔⧯▣
23. lukan+Cxb[view] [source] [discussion] 2025-12-07 16:52:55
>>Xss3+qz4
Why not? As long as there are players, some of them also want to be admins. You maybe mean commercial administration is not scalable for games with a fixed price? Sure, but give the option to the community to manage (rent) servers on their own and they will solve it themself.
[go to top]