Everybody! This is important. In a few days, these forums will be moving over to using the totally sweet Discourse platform. To ensure this migration happens smoothly with no loss of content, these forums are currently in a read-only mode. I do apologize for the inconvenience.

There is never a good time to turn the forums off for an extended period of time, but I promise the new forums will be a billion times better. I'm pretty sure of it.

See you all on the other side in a few days, and if you have any (non-technical) questions, please e-mail me at kirupa@kirupa.com. For technical questions, try to find a tutorial that corresponds to what you are looking for and post in the comments section of that page.

Cheers,
Kirupa

Results 1 to 10 of 10

Thread: Cheating prevention - Need ideas!

  1. #1

    Cheating prevention - Need ideas!

    Hi!

    I have just developed a game (for a customer), which works fine and is very entertaining, but it has one pretty critical flaw that needs to be solved somehow.

    It's a guessing game, where you compete against time, and can choose the right answer from 6 possible ones. You have all the answers available at start, and when you have managed to guess which one is the correct one, you hit it, and you get a score from how much time and how many clues you needed.

    The problem is ofcourse that you could start guessing as soon as the game starts, and totally ignore the whole process of getting clues. This way you will eventually get the best score possible, since you can play repeatedly, and sooner or later will hit the correct answer right away, and that will be that. You've won.

    So how could this tactic be prevented in a way that still doesn't ruin the replayabillity?

    One way would perhaps be to limit the number of times you can play each day (highscore lists are cleared every day, and the 10 best get prizes), but this is supposed to be a fun game that you can play as much as you'd like, so that would just be boring. Same with setting a time delay between each round. It's like having "please wait, loading" messages each time you fail or win, and we all know how much we hate those...

    So.... can anyone help me think of a more clever solution? I'd really appreciate it!

    / Frank

  2. #2
    There are two things you can try. Firstly, you can try adding a futher question with another six answers. This would increase the likelihood of guessing correctly from 1/6 to 1/18. Add a third question and the probability diminishes futher to 1/72 - a fourth question and the odds that they will correctly guess them all becomes 1/324

    Secondly, where are they obtaining the clues from? If they're inside the game you can set flags to check if they've been visited or not, e.g. clue1 = true; clue2 = false; etc. Then perform the check when they attempt to submit their answer:
    Code:
    if (answerSubmitted == gameAnswer) {
    if (clue1 && clue2 && clue3....) {
    // everything is in order so add player details to highscore list
    } else {
    // at least one clue page hasn't been visited
    messageTxt.text = "You haven't finished the game yet";
    }
    }
    2006-11 GlosRFC - Searching 8,168,684,336 brain cells

  3. #3
    How about penalties for wrong guesses? Say, you lose time (a fraction or 10 seconds out of 60 secods...etc) each time you guess the wrong answer.

    So if you start with 0 time elapsed out of 60 and right off the bet if you click a random guess, you will be penalized 10 seconds... so you only have 50 seconds left even though you just started the game; perhaps 2~3 seconds passed in real life.

  4. #4
    hmm, To me the best way would be to throw the questions very fast, and randomise the answers each time. This will give the player less time to think and cheat.
    MY BLOG

    I need a SPRITER who can do pixel arts for an arcade fighter project. If you can help out, please pm me.
    I also need someone who can write simple xml files.


  5. #5
    From your description of the game, it sounds like the player can just click through all the answers really fast until they click the correct one, and get full points for it, regardless of how many wrong answers they clicked.

    I'm with misterooga, penalize the player somehow. An alternative to their solution, every time a wrong answer is clicked, cut the points they'll get in half (or however much you think would be appropriate)..
    you = function(){
    setEnabled( true );
    live();
    setEnabled( false );
    }

  6. #6
    You could either give no points for wrong answers and then wait for them to pick the correct one. Any wrong answers after the inital wrong answer could lead to deducting points. You really need some punishment for wrong answers it seems.

  7. #7
    For any penalty though, you must make sure it doesn't stop them playing.

    If the penalty is so severe that not only they stop cheating but also stop playing, then the penalty would defeat the purpose.

  8. #8
    well i completly agree with both suggestions have a couple randomized questions so that they cant just guess and also make a punishment points lives time whatever if someone gets upset because there getting penalized then they are only there to cheat also i would take a momnet and create a custom right click menu to stop the right click and press play or next whatever anyways thats my idea

  9. #9
    1,627
    posts
    hugeExplosions = true;
    Well it sounds more like there's only one question to answer per game - if the player starts a game they have a 1/6 chance of winning instantly using 0 clues therefore getting the max score.

    I say this game is fatally flawed and that unless you add more questions you are not going to get everyone to play fair. Even if you force the user to view a couple of clues they can still just click a random answer and win - and playing 6 times to get the top score is way too little.

    I mean I played through asteroids about 6 times to get the top score here and that took a LONG time (I got bored of shooting asteroids when I'd beaten the top score) so I'd sit there for 2 minutes to get the top score on a game which is won by one click!

    I think you could solve this by adding more questions and implementing a penalty system as people have said - I think an idea could be that when you get a question wrong you lose points proportional to the amount of points you would have gained by clicking at that time. So clicking on a wrong answer near the end of your time results in a loss of a few points, whereas clicking on a wrong answer almost immediately results in losing maximum points.

    That way if someone randomly clicks through say 8-10 questions they will more likely get an average score than a high one.
    Last edited by Charleh; May 13th, 2008 at 04:53 AM.
    MS Paint FTW!


  10. #10
    Hi, Frank_online: i dont have the answer of your question, but i hope that you can help me to resolve a problem that you have already resolve...
    i need to know how do you do for your character have the right answer of the 6 that you have? and if you have the right one how or where do you put that this is the one (for your user to see)? do you change of scene?..please help me

    (It's a guessing game, where you compete against time, and can choose the right answer from 6 possible ones. You have all the answers available at start, and when you have managed to guess which one is the correct one, you hit it, and you get a score from how much time and how many clues you needed.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Home About kirupa.com Meet the Moderators Advertise

 Link to Us

 Credits

Copyright 1999 - 2012