top | item 27737218

(no title)

r34 | 4 years ago

I've built a cheat detection system for chess few years ago. Our client paid for creating a chess portal to play chess for money (not an idea I'd put my money into - and it's been dead after few months). Anticheat engine has worked like that:

- simulate a game using stockfish

- for each move (except few moves at the beginning) compare the move made by player with the list suggested by engine - if the move chosen by player is on the list generated by engine, than give that player some points (depending on the position of the move on the list)

- do some math considering player's ELO and some other stuff (I can't remember exactly).

Definitely not an ideal solution, but also open for improvements. Btw it wasn't my idea - chess players provided the exact algorithm, so it must have been known.

discuss

order

oehpr|4 years ago

I mean, such a system already exists when players do analysis of their matches. The thing that makes a move identifiable as a blunder is that a chess engine evaluating the board before and after the move.

It's also worth keeping in mind that you will sometimes see players match the best engine move 95% of the time or more at the 800-1000 elo's and they're not cheating, it's just their opponent is blundering and the next move is obvious.

So specifically, you have to find when players matched up with engine moves, where the engine decided on an optimal move by looking far into the future.

antisthenes|4 years ago

And after a player has been labeled as a cheater, start matching them with other cheaters exclusively.

Nemerie|4 years ago

A small problem with using Stockfish is that cheaters may use other programs in order to not play like a top engine. For example, Stockfish would laugh at some old versions of Houdini, but Houdini still outplays any human easily.

dorgo|4 years ago

Just wanted to propose this approach. But I wouldn't call it cheat detection. It's more of "make sure my opponent is not better than X". It could even be integrated into the game by showing the players "forbidden" moves, which are too good for the current game-level and are therefore not allowed to be played.