Author Topic: Methods against Save Scumming  (Read 22845 times)

DaedricPrime

  • Newcomer
  • Posts: 8
  • Karma: +0/-0
    • View Profile
Methods against Save Scumming
« on: March 23, 2011, 10:51:31 PM »
In my RL I would like to provide varying difficulty settings.  The combination of most of these settings will form a "score modifier". When you die/retire/win your base score will be multiplied by the modifier for a "final score"

One of these options will be under what conditions you can save.  The hardest will be only while quitting [while still alive] which also brings with it the concept that the save game is "deleted" when loaded ( aka Permadeath ).

However, since I've played other RLs with most of them permadeath by default/only-option, I am familiar with the temptation to "Cheat".  Considering my game will provide options to not have to deal with permadeath, when you are actually playing a game "with permadeath set ON" I would prefer for it to be as hard as possible to do save scumming.  (After all, YOU ASKED FOR IT IN THE FIRST PLACE )

I have a few ideas, but I was hoping people would share their ideas on ways to make save scumming as difficult/painful to do as possible. As I don't have a lot of resources, methods that rely heavily on storing data across a network connection aren't ideal for me.  Mostly i assume there will have to be a combination of tricks to hide "key files" required to decrypt the save file. 

Any other ideas/tips?




Darren Grey

  • Rogueliker
  • ***
  • Posts: 2027
  • Karma: +0/-0
  • It is pitch black. You are likely to eat someone.
    • View Profile
    • Games of Grey
Re: Methods against Save Scumming
« Reply #1 on: March 23, 2011, 11:35:28 PM »
Give each character a unique identifier when created, and have a separate data file record which are alive or dead.  If you try and load a dead char then you are either disallowed, or the game is modified to work inexorably against the player (ADOM does this in a fun way if it detects save-file hacking).

Overall though I'd say don't bother, it's up to the player how they want to play.  If they want to give themselves a stupidly inflating score by cheating... well, that's their own weird problem.

stu

  • Rogueliker
  • ***
  • Posts: 138
  • Karma: +0/-0
  • Moop!
    • View Profile
    • Stu's Rusty Bucket
Re: Methods against Save Scumming
« Reply #2 on: March 23, 2011, 11:36:44 PM »
if it can be done, people will do it. dont waste your time or energy on it. search rgrd, there are lots of threads on this topic. imo, there are some people who will always do it, and others that dont bother. its a waste of your time and energy
--/\-[ Stu ]-/\--

Fenrir

  • Rogueliker
  • ***
  • Posts: 473
  • Karma: +1/-2
  • The Monstrous Wolf
    • View Profile
Re: Methods against Save Scumming
« Reply #3 on: March 24, 2011, 01:42:57 AM »
[EDIT] Nevermind.
« Last Edit: March 24, 2011, 01:47:43 AM by Fenrir »

Psiweapon

  • Rogueliker
  • ***
  • Posts: 334
  • Karma: +0/-0
  • Im in ur rougeliekz, pixelling ur tielz!
    • View Profile
    • I Lovemaking Tiles
Re: Methods against Save Scumming
« Reply #4 on: March 24, 2011, 04:00:59 AM »
In my eyes a savescummed RL becomes boring =/ permadeath is half of the RL appeal.

Playing powder, the "save scum" feature appeared, and I used it because there was my best character evah (not that it was any good, mind you). The fun factor disappeared.

I concur: don't bother. Unless it's for a public scoreboard.
The invisible hand is a lie, the fiendish dogma of the market cultists. Lest the apostasy grows strong, their blood god will devour each and everyone, pious and infidel alike.

kipar

  • Rogueliker
  • ***
  • Posts: 105
  • Karma: +0/-0
    • View Profile
    • Email
Re: Methods against Save Scumming
« Reply #5 on: March 24, 2011, 10:04:49 AM »
First of all, hiding 'secret' files in windows directory, keys in windows registry is wrong - such programs should be considered as trojan\malware.

All other methods that don't involve network communication aren't reliable. Player can savescum not single savefile but entire game directory (as I usually do when i'm not sure which files are required for savegame).

Don't forget about running a game in a virtual machine and saving state of VM - it's overkill, but it works always, even if the game doesn't allow saving at all.

So savescumming shouldn't be prevented - it's up to player whether use it or not.

DaedricPrime

  • Newcomer
  • Posts: 8
  • Karma: +0/-0
    • View Profile
Re: Methods against Save Scumming
« Reply #6 on: March 24, 2011, 07:10:29 PM »
While I do really appreciate the feedback re: "Don't do it", my intention for my post was to solicit ideas for preventive measures.  I'm fully aware of the impossibility of making anything impregnable, but that doesn't mean a little effort can't help diminish the problem in a significant way.   My intention is not to slave away on some obscure quasi-DRM-like functionality, but I also believe that if I can spend a day or two to make permadeath more meaningful and worthwhile when it is chosen, I would like to try doing so.

While it is possible for people who want to cheat to go to drastic measures, my RL will already provide them a simple convenient method for save scumming (e.g. "Revert to Save Game" ) as a simple keyboard/menu command [for non-permadeath settings]while you are playing.  So I'm not attempting to remove choice/playstyle from those who are accustomed to it -- I'm just trying to experiment with something different.  { And ultimately, these are just plans at the moment, nothing's been implemented yet. }

[ The claim that hidden files or the mere existence of registry keys are criteria for a trojan/malware is simply hyperbole in my book.  But I understand the position, and anything I do end up implementing won't be drastic, and would only apply for permadeath games. ]

Lastly, I don't know what rgrd is, so I still hope people will be still be interested in sharing ideas for preventing save scumming.   The "database" suggestion is an interesting angle, and gave me some good ideas.


Krice

  • (Banned)
  • Rogueliker
  • ***
  • Posts: 2316
  • Karma: +0/-2
    • View Profile
    • Email
Re: Methods against Save Scumming
« Reply #7 on: March 24, 2011, 08:50:05 PM »
Lastly, I don't know what rgrd is

It's rec.games.roguelike.development. For centuries it has been the forum for roguelike developers.

BirdofPrey

  • Newcomer
  • Posts: 31
  • Karma: +0/-0
    • View Profile
    • Email
Re: Methods against Save Scumming
« Reply #8 on: March 25, 2011, 12:55:54 PM »
You're combatting a problem that doesn't exist.

edit - particularly if you're adding savescum functionality as a feature of the game. Why prevent people from doing something indirectly that you've already allowed them to do directly? It makes no sense.
« Last Edit: March 25, 2011, 01:06:05 PM by BirdofPrey »

DaedricPrime

  • Newcomer
  • Posts: 8
  • Karma: +0/-0
    • View Profile
Re: Methods against Save Scumming
« Reply #9 on: March 25, 2011, 04:57:44 PM »
It's rec.games.roguelike.development. For centuries it has been the forum for roguelike developers.

Ah!  Thank you!  I know about the newsgroup, I just didn't associate the initialism to it.


You're combatting a problem that doesn't exist.

edit - particularly if you're adding savescum functionality as a feature of the game. Why prevent people from doing something indirectly that you've already allowed them to do directly? It makes no sense.

I have to disagree.  I'm sorry you don't understand what I'm attempting to do, all I can say is it's the same thing as to why people put locks on school lockers, or why roguelikes will bother to delete the savegame after loading it in.  I'm simply attempting to go a bit further (but not drastically so).  The savescum functionality you refer to that I mentioned is not a conflict.  As I alluded to, that functionality is only available for non-permadeath situations, and I only mentioned it specifically to show I'm not trying to take away work-flows for some people.  I'm only attempting to see if some ideas can help make permadeath more meaningful and make cheating harder.  I don't think I need to explain why a "traditional rpg" difficulty setting should/is different in substance to a roguelike/permadeath setting.  It's not my intention to resurrect philosophical discussions on permadeath/etc that are already on rgrd, as has been explicitly pointed out by others.



That being said, thanks for the input!  =)    Between the suggestions here and a search in rgrd, I think I have plenty of ideas to consider. 

BirdofPrey

  • Newcomer
  • Posts: 31
  • Karma: +0/-0
    • View Profile
    • Email
Re: Methods against Save Scumming
« Reply #10 on: March 25, 2011, 05:09:59 PM »
Can you explain the assertion that making savescumming harder makes permadeath more meaningful? You've said it a couple times but I'm not getting it. We've already established that people who want to savescum will do it anyway.

e - After considering a little more, I do see a bit of a point. Making it harder to do may discourage a subset of the savescummers from cheating and instead play the game in a way that is actually tense and fun. I still don't see how it makes permadeath more meaningful but I realize now it's not a worthless exercise. Still, as others have said don't put too much effort into this aspect :P
« Last Edit: March 25, 2011, 05:22:19 PM by BirdofPrey »

Kaskad

  • Newcomer
  • Posts: 10
  • Karma: +0/-0
    • View Profile
    • Email
Re: Methods against Save Scumming
« Reply #11 on: March 25, 2011, 07:58:43 PM »
I still don't see how it makes permadeath more meaningful but I realize now it's not a worthless exercise.
It's the only thing that makes permadeath meaningful in the first place

Permadeath isn't a thing if it's not permanent

BirdofPrey

  • Newcomer
  • Posts: 31
  • Karma: +0/-0
    • View Profile
    • Email
Re: Methods against Save Scumming
« Reply #12 on: March 25, 2011, 08:13:02 PM »
I still don't see how it makes permadeath more meaningful but I realize now it's not a worthless exercise.
It's the only thing that makes permadeath meaningful in the first place

Permadeath isn't a thing if it's not permanent

Yes but making cheating harder doesn't affect that at all. For the people who don't cheat permadeath is just as meaningful as it was before and for people who do cheat it will also be just as meaningful (i.e. not at all).

Fenrir

  • Rogueliker
  • ***
  • Posts: 473
  • Karma: +1/-2
  • The Monstrous Wolf
    • View Profile
Re: Methods against Save Scumming
« Reply #13 on: March 25, 2011, 11:38:26 PM »
You're trying to keep someone from doing something because your game would be more fun for them if they didn't do it. It is already understood that meta-game editing is not the way that developers intended users to play the game, so I don't see a reason to protect players from themselves.

Quote
Mostly i assume there will have to be a combination of tricks to hide "key files" required to decrypt the save file.
If all you need is something to stop file tampering, use hashes of save files.

That won't stop save scumming, but encryption wouldn't either.
« Last Edit: March 26, 2011, 03:32:05 PM by Fenrir »

willraman

  • Newcomer
  • Posts: 24
  • Karma: +0/-0
    • View Profile
Re: Methods against Save Scumming
« Reply #14 on: March 26, 2011, 12:57:39 AM »
I agree with fenrir, no need to do it for a single player oriented game. I'd only consider it if scumming interferes with someone else's fun.

I put a little bit of thought into this. I was thinking I might allow the player to save online stats. In which case a scum save can interfere with anothers' fun.

If the player wants to use online stats I would host an internet server. The server would generate a per character SSL key. The character on death has the option to upload the character stamped with this key.

Several things would be tracked for the online save option:

1. A saved file itself would contain a time stamp of the last save file modified time. If the modified time is mysteriously changed after the time stamp, it was scummed or edited externally. Encryption here also would help ensure the data confidentiality (from the user).
2. The current state of the character (dead, loaded, playing, saved, hacked) is saved. If the character state is in playing state, and the game is loaded, it will flag a hacked state. Computers being unstable (including the app), I might allow a grace load for a character, which could be reset after a certain period of time ( maybe 1 hour).
3. To prevent memory hacking, you can generate a CRC of the core statistics of the player. This value is checked after every change and then a new CRC is generated.
4. While playing the save system would stream data in the game to the save character file every 5-10 seconds including the above mentioned game state.  

On death, the character data when received by the server is checked to make sure it wasn't a hack. Things like time span of character life, HP, AC, items, kills, or whatever else I want checked. For example, a 1 hour life span of a level 50 character = fail.

Hrmm. Maybe this would be overkill too. Just a few thoughts off the top of my head.
« Last Edit: March 26, 2011, 06:14:55 AM by willraman »