Jump to content

  • Log In with Google      Sign In   
  • Create Account


how to prevent save cheating? (for games where saving is NOT allowed)


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
55 replies to this topic

#41 Nathan2222_old   Members   -  Reputation: -400

Like
-2Likes
Like

Posted 06 February 2014 - 04:16 PM

Let them cheat their way through and then they don't feel like playing it again after the first roundORprevent them from cheating their way through and making them have hard fun while playing it and maybe thereby giving it good replay value (if the game was designed well) . . .. . . i choose the latter.@suliman: aren't the hackers the people that crack your game and give the cheats to the lazy, 'cheat-through' players?

OR they fail and fail and fail and since they can't do anything but start over or give up, they give up and call your game crap out of frustration.
Actually, 'fail and fail and fail' won't really be possible in my games, neither will checkpoints nor cancelling autosave be possible. You fail, you face the consequence, move on and . . . There'll be different things in my games and if isn't implemented before i start making my games, it'll be new things.
One more thing, shouldn't the player play within the developers programming? If not, i would have loved to keep going straight in the gtavc but unfortunately, you get magically turned around in the water.
Should you let them implement what you didn't program into a game? What if what they implement your idea for a sequel?
I'm just asking.

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32
smile.png
--
GREAT QUOTES:
I can do ALL things through Christ - Jesus Christ
--
Logic will get you from A-Z, imagination gets you everywhere - Albert Einstein
--
The problems of the world cannot be solved by skeptics or cynics whose horizons are limited by the obvious realities. - John F. Kennedy


Sponsor:

#42 ericrrichards22   Members   -  Reputation: 765

Like
2Likes
Like

Posted 06 February 2014 - 06:29 PM

 

 

Let them cheat their way through and then they don't feel like playing it again after the first roundORprevent them from cheating their way through and making them have hard fun while playing it and maybe thereby giving it good replay value (if the game was designed well) . . .. . . i choose the latter.@suliman: aren't the hackers the people that crack your game and give the cheats to the lazy, 'cheat-through' players?

OR they fail and fail and fail and since they can't do anything but start over or give up, they give up and call your game crap out of frustration.
Actually, 'fail and fail and fail' won't really be possible in my games, neither will checkpoints nor cancelling autosave be possible. You fail, you face the consequence, move on and . . . There'll be different things in my games and if isn't implemented before i start making my games, it'll be new things.
One more thing, shouldn't the player play within the developers programming? If not, i would have loved to keep going straight in the gtavc but unfortunately, you get magically turned around in the water.
Should you let them implement what you didn't program into a game? What if what they implement your idea for a sequel?
I'm just asking.

 

 

Often times, this kind of thing, in the form of modding, props up games and gives them life far beyond the finite amount of content that you can provide.  There are still people buying Half-Life 2 (2004) and Rome Total War (2004) & Medieval Total War (2006), at least in part because of the community-created mods that exist for these games.  Hell, half of the Valve IP is derived from popular Half-Life mods: Counter-Strike, Day of Defeat, Team Fortress.

 

Sure, an active modding community places more strain on you to produce a better product the next time around.  But you could also look at it as free A/B testing, and at worst, even if a mod becomes much better than the content that you created(not an uncommon situation... I don't think any of the games I play regularly are unmodded), users still need to purchase the base game to run the mod.


Edited by ericrrichards22, 06 February 2014 - 06:31 PM.

Eric Richards

SlimDX tutorials - http://www.richardssoftware.net/

Twitter - @EricRichards22


#43 Azaral   Members   -  Reputation: 463

Like
2Likes
Like

Posted 06 February 2014 - 09:06 PM

 

 

Let them cheat their way through and then they don't feel like playing it again after the first roundORprevent them from cheating their way through and making them have hard fun while playing it and maybe thereby giving it good replay value (if the game was designed well) . . .. . . i choose the latter.@suliman: aren't the hackers the people that crack your game and give the cheats to the lazy, 'cheat-through' players?

OR they fail and fail and fail and since they can't do anything but start over or give up, they give up and call your game crap out of frustration.
Actually, 'fail and fail and fail' won't really be possible in my games, neither will checkpoints nor cancelling autosave be possible. You fail, you face the consequence, move on and . . . There'll be different things in my games and if isn't implemented before i start making my games, it'll be new things.
One more thing, shouldn't the player play within the developers programming? If not, i would have loved to keep going straight in the gtavc but unfortunately, you get magically turned around in the water.
Should you let them implement what you didn't program into a game? What if what they implement your idea for a sequel?
I'm just asking.

 

 

If they want to change the game that they bought from the original, I don't care (speaking of strictly single player games). They are increasing their fun. Sure, I put out a game and I intended it to be played a certain way, but if they change it to make it more enjoyable for themselves then who am I to deny them that?  That would be like deriding anyone who ever writes any fan fiction. They are taking something you made and making it more enjoyable for themselves.


You are treating the player as an adversary instead of a partner.

As far as implementing my idea for a sequel, they are more than welcome to do that. However, their version of a sequel could be vastly different than my idea of a sequel, and if I the, the original creator of said universe, denounced it, then I doubt anyone would put any credence to it. It could even be spun off as a sort of split in the timeline. It would force me to do a better job. It would be like if someone made a Mass Effect 3 that doesn't have a balls ending that turns the entire series to poo soup. Also, see fan fiction example above.



#44 Hawkblood   Members   -  Reputation: 723

Like
1Likes
Like

Posted 07 February 2014 - 07:28 AM

Cheating is something an individual decides on a personal basis. This is not something the programmer can absolutely prevent. Playing a game within the designed parameters usually gives the best gaming experience (usually). It certainly gives the player a more “pure” experience of your creation.

We have morphed this post into an existential discussion of “should we allow them to cheat”, not “how to stop them from cheating”. The truest answer to the OP is: You can’t prevent, you can only deter.

#45 Squared'D   Members   -  Reputation: 2233

Like
0Likes
Like

Posted 07 February 2014 - 08:11 AM

I've been reading this post and thought I'd give my 2 cents.the original poster was asking about how to prevent save cheating, basically not allowing the player to save just before a hard task to stop the player from replaying that part if he or she made a mistake. It's impossible to stop this for a experienced hacker with time, but I think the original poster just wants to target the typical user so the comments left by others seem good enough.

When it comes to whether or not any of this kind of cheat prevention is needed, it depends on the design. Honestly, if they save just before something difficult so they don't have to replay the entire level each time, is it really cheating as they still need to complete the level. Altering the save file to skip things should always be prevented is a whole other story.

If the levels are short not being able to save makes sense as the user won't have to redo hours of work. In this case, simply don't allow saving mid-level. The save file always points to the beginning of an unstarted level.

If the levels are long, let them save whenever. I remember years ago when I played Final Fantasy 7. I always saved before hard parts because if I didn't and had to start over, i'd have quit the game. But I ended up finishing the game twice, the second time trying to 100 percent the game.

Learn all about my current projects and watch some of the game development videos that I've made.

Squared Programming Home

New Personal Journal

 


#46 Nathan2222_old   Members   -  Reputation: -400

Like
-1Likes
Like

Posted 07 February 2014 - 08:51 AM

Often times, this kind of thing, in the form of modding, props up games and gives them life far beyond the finite amount of content that you can provide.  There are still people buying Half-Life 2 (2004) and Rome Total War (2004) & Medieval Total War (2006), at least in part because of the community-created mods that exist for these games.  Hell, half of the Valve IP is derived from popular Half-Life mods: Counter-Strike, Day of Defeat, Team Fortress.

 
Sure, an active modding community places more strain on you to produce a better product the next time around.  But you could also look at it as free A/B testing, and at worst, even if a mod becomes much better than the content that you created(not an uncommon situation... I don't think any of the games I play regularly are unmodded), users still need to purchase the base game to run the mod.

 

No modding support will be in my games.
Isn't modding cheating? I read that users have no right to mod a game except the game devs add support for it.


UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32
smile.png
--
GREAT QUOTES:
I can do ALL things through Christ - Jesus Christ
--
Logic will get you from A-Z, imagination gets you everywhere - Albert Einstein
--
The problems of the world cannot be solved by skeptics or cynics whose horizons are limited by the obvious realities. - John F. Kennedy


#47 Hawkblood   Members   -  Reputation: 723

Like
0Likes
Like

Posted 07 February 2014 - 09:49 AM

I think this is more like the player doesn't have a "save" option-- the game just saves at certain set points in the game. The OP (I think) just wanted to know how to prevent those automatic save points from being "backed up" by the player. If you have the option to play a "hard core" mode where "dead is dead", then this is a legitimate concern to the programmer.

#48 Azaral   Members   -  Reputation: 463

Like
0Likes
Like

Posted 07 February 2014 - 10:01 AM

No modding support will be in my games.

Isn't modding cheating? I read that users have no right to mod a game except the game devs add support for it.

 

You are correct that users have no right to mod a game, they also have no right to not mod a game. They can either do it or they cannot do it. They couldn't sell it or distribute it legally without permission from the copywright holders of the software that they based their mod on (as far as I understand). This does not stop them from doing it for themselves.

Modding could possibly be in the form of creating/performing a cheat. In the context of the discussion, it is cheating. What I am saying is that in a strictly single player game, where what one player does in their game has NO bearing whatsoever on a player playing their copy of the game, cheating is irrelevant and you are wasting your time trying to prevent it. The only one you are satisfying with your attempts to prevent cheating is yourself.

 

The idea of creating a game is to make something that someone will have fun with. I fail to see the problem of players altering a game so that they enjoy it more is a bad thing, and such alterations have zero affect on the other players of said game. I see it as a good thing. Are they altering the experience I planned for them? Yes. Is this bad? No.

 

You are trying to give a ball to a group of kids so they can play basketball, but get upset when they decide to kick it around and play soccer instead so you run out and say "No! You must play the game I want you to play, basketball!". I give them a ball with the intent for them to play basketball, and when they start playing soccer I would be estatic because they are having fun with something I gave them.

My point with all this is to save you time by having you not worry about something in your design I think you should not worry about and to help you create a game that will be more fun for people. I think you have placed your game/idea on a pedestal and think it a kind of personal insult to yourself and your creative idea for anyone to not interact with it in the way you want them to.



#49 Nyxeka   Members   -  Reputation: 105

Like
0Likes
Like

Posted 07 February 2014 - 12:03 PM

1. Make it so stupidly freaking complicated that people will look at it and say it's not worth the time.

2. Online database - save and load to/from it, and only to/from it - permitting that your server software doesn't get leaked or something and someone goes and makes their own server emulator...

 

You could like, encrypt the save data with a key - don't forget to generate 500 thousand keys at this point and maybe 500 different operations that looks like save-game encrypting, then maybe make it so that it loads the key from a bunch of randomly injected assembly code in the class that starts up the game, or the menu or whatever from the last time you saved, into an empty key object in memory somewhere, which is used to load the save...

 

hmm. I guess when you save, it could create like 5,000 "fake keys" along with it, where only a few of the injected commands actually build the real key...

 

I don't really know, this is just some crazy idea that would fall in the "stupidly complicated" category. I guess there's no way to really stop people from reloading old saves unless you ran the actual game from the server...



#50 lask1   Members   -  Reputation: 675

Like
0Likes
Like

Posted 08 February 2014 - 12:56 AM

In the past what I have done to prevent saving is having a separate file that acts for a "checksum" to check if the file has been altered. You may also wish to compress a file or store it in an obscure location. You can use ids within the save that make no sense for a human to read. If you want to go REALLY far then you could add them all together.

 

As far as it goes for databases, at least when I am writing php code for websites I try to keep the least amount of information as possible on the client side. A good sample I guess of keeping your business side of your application separated from you client side would be cakephp's Model-View-Controller architecture that I believe Iphone also uses.

 

Hope this helps someone. Honestly I hate cheating in games and I try to keep things away from players unless it can be intentionally modded.



#51 Nathan2222_old   Members   -  Reputation: -400

Like
-6Likes
Like

Posted 08 February 2014 - 02:42 AM

There is one way to prevent/make your game unreasonable to hack or mod, code some vital parts in machine code and keep a normal copy in your pc.

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32
smile.png
--
GREAT QUOTES:
I can do ALL things through Christ - Jesus Christ
--
Logic will get you from A-Z, imagination gets you everywhere - Albert Einstein
--
The problems of the world cannot be solved by skeptics or cynics whose horizons are limited by the obvious realities. - John F. Kennedy


#52 LennyLen   Crossbones+   -  Reputation: 3739

Like
2Likes
Like

Posted 08 February 2014 - 04:46 AM

There is one way to prevent/make your game unreasonable to hack or mod, code some vital parts in machine code and keep a normal copy in your pc.

 

A game's .exe file (Windows example) is machine code.  The first thing a hacker or modmaker does is disassemble this into assembly language so that they can see how the program works, and change it.  If the disassembler also comes with a memory debugger its very easy to find the routines that perform checks and rewrite them.



#53 dejaime   Crossbones+   -  Reputation: 4003

Like
2Likes
Like

Posted 08 February 2014 - 12:03 PM

There is one way to prevent/make your game unreasonable to hack or mod, code some vital parts in machine code and keep a normal copy in your pc.

I am sorry, but this far from true. If you code your program in "machine code" or in C or C++ the exe will be similar and just as accessible.

Actually, programs coded in "machine code" directly tend to be cleaner and easier to understand when using a disassembling tool.
And I have no idea of what you mean by keep a normal copy.



#54 Nypyren   Crossbones+   -  Reputation: 4190

Like
1Likes
Like

Posted 08 February 2014 - 12:58 PM

...code some vital parts in machine code...


I honestly laughed out loud...

Bro, do you even compile?

#55 Nathan2222_old   Members   -  Reputation: -400

Like
-2Likes
Like

Posted 10 February 2014 - 10:08 AM

...code some vital parts in machine code...

I honestly laughed out loud...Bro, do you even compile?
No i don't. I finish writing my code and shout DONE! and i see the output of the program.
So keep laughing :)

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32
smile.png
--
GREAT QUOTES:
I can do ALL things through Christ - Jesus Christ
--
Logic will get you from A-Z, imagination gets you everywhere - Albert Einstein
--
The problems of the world cannot be solved by skeptics or cynics whose horizons are limited by the obvious realities. - John F. Kennedy


#56 TheComet   Members   -  Reputation: 1495

Like
1Likes
Like

Posted 10 February 2014 - 11:27 AM

No actually he rolls a bowling ball all over his keyboard with notepad open and hopes that one day, according to the law of infinite probability, his game will actually just work.

 

Hackers work with machine code. Programming vital parts in machine code will do nothing, as mentioned above.


Edited by TheComet, 10 February 2014 - 11:28 AM.

YOUR_OPINION >/dev/null





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS