Search Unity

How can I avoid Cheat Engine's speedhack?

Discussion in 'Scripting' started by MartinIsla, Dec 15, 2015.

  1. MartinIsla

    MartinIsla

    Joined:
    Sep 18, 2013
    Posts:
    104
    Hello, everyone!
    For those of you who didn't know, Ludum Dare #34 finished yesterday and we released a game called 'React!'.
    You have 6 seconds to turn off a nuclear reactor.
    It's pretty good and people like it!

    The thing is we want to add online highscores soon and right now, it's easy to cheat on the game using Cheat Engine's speedhack. That sucks.

    I wanted to know if there is a way to avoid speedhacking.

    Also, an offtopic question: is "we have no idea on how to turn off a nuclear reactor" gramatically correct? (English is not our main language)

    Thank you!
     
  2. StarManta

    StarManta

    Joined:
    Oct 23, 2006
    Posts:
    8,775
    If the game requires an internet connection to post high scores, you could require an internet connection to "validate" the high score as you play it. Ping a time server when the 6 seconds starts, ping it when the player finishes; if the time difference between pings is more than 6 seconds (plus a reasonable time to allow for latency, maybe another 2 seconds?), they have cheated.
     
  3. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Simply remove on

    Technically, both forms are correct because it's something a character or narrator is saying, and this is a somewhat grey area. It would be different if it was an instruction manual. People don't usually say "on" in that context.

    I have no idea how to save a file.
    I have no idea on how to save a file << pretty needless rambling.
     
    MartinIsla likes this.
  4. BrUnO-XaVIeR

    BrUnO-XaVIeR

    Joined:
    Dec 6, 2010
    Posts:
    1,687
    You can query running programs and services and search for Cheat Engine's signatures;
    That way you can know 100% sure if player is running Cheat Engine. Then if CE is running, force close/quit the game.
     
  5. MartinIsla

    MartinIsla

    Joined:
    Sep 18, 2013
    Posts:
    104
    That would be good, but the game can last up to 6 seconds (you can deactivate the reactor in less than that). What if the player takes less than 6 seconds to finish the game?

    I thought about this one, and it could work, but I don't think CE is the only game that allows speedhacking.
     
  6. MartinIsla

    MartinIsla

    Joined:
    Sep 18, 2013
    Posts:
    104
    Thank you! We'll remove the "on".
     
  7. StarManta

    StarManta

    Joined:
    Oct 23, 2006
    Posts:
    8,775
    So compare the time between pings to the actual reported time, as opposed to comparing it to 6 seconds then.