Make a save force a quit, and delete save upon loading

Discuss how to use the Ren'Py engine to create visual novels and story-based games. New releases are announced in this section.
Forum rules
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
Post Reply
Message
Author
Ivlivs
Veteran
Posts: 267
Joined: Sun Feb 25, 2007 1:00 pm
Contact:

Make a save force a quit, and delete save upon loading

#1 Post by Ivlivs »

I'm thinking of doing a new project.

However, due to its nature, I need a way to keep the player from saving a game, then reloading when things go wrong without disabling saves entirely.

Then I found the solution: Make it so that saving the game forces a return to the menu screen, then when you reload the game, the save is erased. How is that done?
Jitteh Dawn --- A VN by Ivlivs

Jake
Support Hero
Posts: 3826
Joined: Sat Jun 17, 2006 7:28 pm
Contact:

Re: Make a save force a quit, and delete save upon loading

#2 Post by Jake »

Ivlivs wrote:Then I found the solution: Make it so that saving the game forces a return to the menu screen, then when you reload the game, the save is erased. How is that done?
I wondered about this kind of approach myself a little while ago, but fundamentally, nothing you can do in code will defeat the determined player. If you delete the save, then the player will just copy the file/directory the save is in somewhere else before loading the save, and copy it back if they want to go back to that previous save again.

Not to mention that there are related problems - what if the player gets 95% of the way through your game, then there's a power cut, or his system crashes? His last save will have been deleted when he reloaded it, so his progress will be gone and he'll be angry. And probably not ready to play through the game again unless it was very short or very compelling.

You can get away with this kind of thing on consoles or online games, where the filesystem isn't accessible to the end user, but there's really no secure and safe method for PC games.


That said, if you're working on this principle, why not just disable in-game saves/loads entirely and auto-save after every decision? It would be less intrusive to the player if the game didn't drop out and restart when he tries to save his progress.
Server error: user 'Jake' not found

Ivlivs
Veteran
Posts: 267
Joined: Sun Feb 25, 2007 1:00 pm
Contact:

Re: Make a save force a quit, and delete save upon loading

#3 Post by Ivlivs »

Good point. I forgot that the files were accessible to end-users. Silly me. :oops:

That being said, how do you disable saves and auto-save after every decision? I might just go ahead and leave the save system as it is, but I just want to know.
Jitteh Dawn --- A VN by Ivlivs

monele
Lemma-Class Veteran
Posts: 4101
Joined: Sat Oct 08, 2005 7:57 am
Location: France
Contact:

Re: Make a save force a quit, and delete save upon loading

#4 Post by monele »

Something better : leave only one save slot.

But really, it's very different to have a game that prevents you from reloading and forces a save when you quit. I'm thinking of NetHack and other roguelikes. Sure, you can copy files... but you usually won't. On the other hand, if you have all the saving possibilities in the world, you certainly won't make it harder on yourself by deleting your save when you die :p... that's the kind of thing that has to be a rule inherent to the game.

JQuartz
Eileen-Class Veteran
Posts: 1265
Joined: Fri Aug 31, 2007 7:02 am
Projects: 0 completed game. Still haven't made any meaningfully completed games...
Contact:

Re: Make a save force a quit, and delete save upon loading

#5 Post by JQuartz »

I wondered about this kind of approach myself a little while ago, but fundamentally, nothing you can do in code will defeat the determined player. If you delete the save, then the player will just copy the file/directory the save is in somewhere else before loading the save, and copy it back if they want to go back to that previous save again.
I got into the same argument 7 days ago at another game-making forum. Anyway I think if it doesn't take too much time making something that makes cheating ( well some people consider it so) harder then just do it. A door only requires 3 whacks from a hammer to take it down (at least that's how many whacks it took for my door) but everyone still putting up doors.

Something better : leave only one save slot.
I agree but how do you do it? Also I think rollback should be disabled. Again I must ask how do you do it.

Thanks in advance.
I suspect somebody is stealing my internet identity so don't believe everything I tell you via messages. I don't post or send messages anymore so don't believe anything I tell you via messages or posts.

Raikiri
Regular
Posts: 58
Joined: Mon Jan 29, 2007 10:32 am
Location: Sweden
Contact:

Re: Make a save force a quit, and delete save upon loading

#6 Post by Raikiri »

JQuartz wrote:Also I think rollback should be disabled. Again I must ask how do you do it.
I don't know if it is a good idea to disable rollback altogether; the player might always want to go back a few pages to re-read something he missed, or didn't quite grasp the first time. I know I do it all the time, myself.

If you just want to stop players from rolling back and picking another option whenever they feel like it (most likely to prevent them from "cheating death" or avoiding a bad ending), you can use the renpy.block_rollback function.
Lucifer status:
It Will Be Done When It's Done™

User avatar
PyTom
Ren'Py Creator
Posts: 16096
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: Make a save force a quit, and delete save upon loading

#7 Post by PyTom »

I personally don't think that games should really try to block the meta-level stuff like saving, loading, skipping, etc. The VN format isn't really good for tests of skill, and so the gameplay needs to be about story. If the story is so frustrating that the user wants to rollback/save/whatever, the meta-level isn't the best place to address that problem.

I think right now, Ren'Py's menus have basically the feature set VN players have come to expect from a game. Reducing that to increase player frustration... well, that's not a good thing.

Remember, the player is on your side. You want to tell him a good story, and he ways to read a good story. You shouldn't have to restrict his freedom of gameplay.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

Ivlivs
Veteran
Posts: 267
Joined: Sun Feb 25, 2007 1:00 pm
Contact:

Re: Make a save force a quit, and delete save upon loading

#8 Post by Ivlivs »

PyTom, I understand your concerns, but a large part of my next project (a sequel to Jitteh Dawn) involves an elaborate puzzle, and I want to make it difficult to solve perfectly.

Ah well, I guess there is no point in blocking saves since the player will just want to go back into the game without sitting through the opening sequence over and over if he/she does not get the desired ending. That is probably the logic that the programmer of the game Cave Story used when he gave the player infinite lives by default, making it more of a "Are you persistent enough?" challenge than a "HA HA HA! Back to the beginning with you! Do not pass go, do not collect $200 because you're DEAD!" challenge.

I will not block the saves and such, then.
Jitteh Dawn --- A VN by Ivlivs

JQuartz
Eileen-Class Veteran
Posts: 1265
Joined: Fri Aug 31, 2007 7:02 am
Projects: 0 completed game. Still haven't made any meaningfully completed games...
Contact:

Re: Make a save force a quit, and delete save upon loading

#9 Post by JQuartz »

If you just want to stop players from rolling back and picking another option whenever they feel like it (most likely to prevent them from "cheating death" or avoiding a bad ending), you can use the renpy.block_rollback function.


Thanks that's exactly what I wanted.
I personally don't think that games should really try to block the meta-level stuff like saving, loading, skipping, etc. The VN format isn't really good for tests of skill, and so the gameplay needs to be about story. If the story is so frustrating that the user wants to rollback/save/whatever, the meta-level isn't the best place to address that problem.
Well I played a SNES game called doukyusei and the game only allowed one save slot even though it's not a game for tests of skill (just need to go to specific locations at a specific time).And it's not like the game wasn't capable of having multiple save slots (you get more save slots after finishing the game the first time). So I believe that restricting use of rollback so that it'll just be used to reread the previous dialog and allowing only one save (at least for the first playthrough) is not extreme or unreasonable.
I suspect somebody is stealing my internet identity so don't believe everything I tell you via messages. I don't post or send messages anymore so don't believe anything I tell you via messages or posts.

monele
Lemma-Class Veteran
Posts: 4101
Joined: Sat Oct 08, 2005 7:57 am
Location: France
Contact:

Re: Make a save force a quit, and delete save upon loading

#10 Post by monele »

(you get more save slots after finishing the game the first time)
Mmm... Does it make sense when it comes to the game? I mean... you can *always* restrict things the player can do in some way (like prevent skipping cutscenes :p) but it isn't always a good thing.
I'm not against self-erasing save files as long as it's absolutely linked to the game... meaning that if you *could* save as much as you want, the game would be flawed and uninteresting. But otherwise, it's just adding an annoying "feature" for no gain :). Think about it well and don't copy old games just because ;)

Criptych
Regular
Posts: 87
Joined: Sat Jun 23, 2007 9:19 am
Projects: ALICE.NET
Location: The other end of the internet.
Contact:

Re: Make a save force a quit, and delete save upon loading

#11 Post by Criptych »

The "delete your save file on load" sounds a lot like the Suspend function in Riviera, among other games. For something like that, it makes sense (even if it is a little frustrating when you forget to "Save" save). But for that to be the only save function in the game? :? Not something I'd be likely to play.
Computers are useless. They can only give you answers. —Pablo Picasso

Image

monele
Lemma-Class Veteran
Posts: 4101
Joined: Sat Oct 08, 2005 7:57 am
Location: France
Contact:

Re: Make a save force a quit, and delete save upon loading

#12 Post by monele »

I suddenly remember that Phoenix Wright has the same Suspend concept. It *is* a bit annoying that you're only allowed ONE save per cartdrige (hey, what about families?) but as it's a rather linear game, it's no big deal.

Ivlivs
Veteran
Posts: 267
Joined: Sun Feb 25, 2007 1:00 pm
Contact:

Re: Make a save force a quit, and delete save upon loading

#13 Post by Ivlivs »

Criptych wrote:The "delete your save file on load" sounds a lot like the Suspend function in Riviera, among other games. For something like that, it makes sense (even if it is a little frustrating when you forget to "Save" save). But for that to be the only save function in the game? :? Not something I'd be likely to play.
Of course there would be an actual save. I'm not that cruel. :)

A "suspend" function was exactly what I had in mind.
Jitteh Dawn --- A VN by Ivlivs

Criptych
Regular
Posts: 87
Joined: Sat Jun 23, 2007 9:19 am
Projects: ALICE.NET
Location: The other end of the internet.
Contact:

Re: Make a save force a quit, and delete save upon loading

#14 Post by Criptych »

Ivlivs wrote:Of course there would be an actual save. I'm not that cruel. :)
*breathes a sigh of relief* Not like Nero, eh. Hail, Caesar! :p
Computers are useless. They can only give you answers. —Pablo Picasso

Image

Post Reply

Who is online

Users browsing this forum: No registered users