Anti Cheating Methods

Programs which generate, solve, and analyze Sudoku puzzles

Anti Cheating Methods

Postby bloggeroliver » Sun Aug 20, 2017 12:24 pm

Hello,
I developed a Sudoku app for Android (play.google.com/store/apps/details?id=bloggersoft.sudokuoftheday&hl=de), in which highscores for the solved Sudoku categories are saved.
I would say the times have gotten rather competitive by now. This point though also raises the incentive for cheating, i.e. getting faster times, and the question of how to avoid that. About this I'd be very interested in your opinion.
I thought of 3 strategies to prevent cheating:
1.) Technical stuff: Verify each sent solution time, whether the time was not altered during sending. I can do that.
However, this is not much use, since if someone wants to cheat, the person can simply look up the solution of the Sudoku, note it, and copy the solution as quickly as possible.
So this is like an "official" way of cheating.
2.) Don't allow too fast times, e.g. 3s for a Sudoku is not plausible. However here I do not know how to set the limit, as some persons are really fast in solving Sudokus.
3.) Check in which order a user entered the numbers. If the order looks suspicious, e.g. the user entered all numbers row by row or similar, don't accept the time. But also then, when knowing that the order could be mixed up on purpose and the app would not spot this.

What do you think of those strategies? As far as I can tell, if someone really wants to cheat, I cannot detect that. Do you have any other ideas? Or maybe even personal experience how this is prevented in other apps, programs etc.?
Thanks!

Best
Oliver
bloggeroliver
 
Posts: 17
Joined: 24 October 2014

Re: Anti Cheating Methods

Postby tarek » Tue Sep 12, 2017 9:57 am

Hi Oliver,

You can't weed out cheats no matter what method you employ.

Best way is to have a puzzle with a set of rules that is difficult to program quickly or doesn't have a published helper/solving program.

You have to change the rules of your puzzles often as well especially if there a reward involved in solving them

Tarek
User avatar
tarek
 
Posts: 3762
Joined: 05 January 2006

Re: Anti Cheating Methods

Postby StrmCkr » Wed Sep 13, 2017 1:23 am

As Tarek noted, it's next to impossible to have a bullet proof cheat detection system in place
Biggest issue with attempting to assert some kind of ordered operation that tells of a cheat is the backdoor size of grids

For example on sudoku there is size 1-3 backdoor meaning an educated or otherwise placement of 1-3 digits can reduce a puzzle to all singles with almost no order applicable to their placements meaning you could do alny rows boxs columns in whole in a very short time and no amount of cheat protection would be applicable.

As for what Tarek suggests is your best option, build your own unique puzzle and change it regularly.

A few working anti cheats that slows a cheaters time down is removing the ability to copy paste information or grab it automatically with code into an assistant program,

Other then that not much can be done
tracking play style and behaviour and timing between plays, with minimal delay between move sets and almost no variation is probably a script, is your next best option.
Some do, some teach, the rest look it up.
stormdoku
User avatar
StrmCkr
 
Posts: 1430
Joined: 05 September 2006

Re: Anti Cheating Methods

Postby tarek » Wed Sep 13, 2017 11:31 am

StrmCkr wrote:A few working anti cheats that slows a cheaters time down is removing the ability to copy paste information or grab it automatically with code into an assistant program

Good point. But there is always a sudoku monkey :twisted:
User avatar
tarek
 
Posts: 3762
Joined: 05 January 2006


Return to Software