August 6, 2023

We need to talk about save game practices.

Since the public release is very soon to be upon us, here a short little rant about how to properly handle saves in Light of my Life, or any ren'py game for the matter.

Get that chip off my shoulder
Let me start of by saying I never really got why anyone'd want to get a random stranger's save game when starting a new chapter. Unless you care absolutely nothing about all the choices you made in the previous chapters (what are the pet names you are called or call people, what fetish did you encourage or discourage, when you had that heart-to-heart, did you comfort them, or relate to them by you struggle with that too, are you afraid of heights, and the list goes on and on and on), but you know, hey, that's up to you.

If you can't wait to click trough the text as fast as possible to see some lewd, who am I to wag a finger at you over this? Well, actually, it turns out I do have a reason, but more on that later.

But if you're invested in the storyline at all, and you used someone else's save game, just know that all those times something came up that made you scratch your head a little, those weren't continuity errors or wonky writing or the game being weird or buggy, that were choices that other person made that are playing out, and not your choices.

(Don't you care about all the things we talked about?)

It's so much worse though.
But that's not really what this is about. Coming in this version of the ren'py engine, some additional safety features are implemented. Basically what it comes down to is that when you load a save file that was not created on the device you are playing it on now, it'll warn you about it, and you need to confirm that you do.

Why was that added? Well, it turns out that ren'py saves are actually software, and someone can quite easily insert their own payload to execute arbitrary code on your computer (that vid is hilarious btw). I'll wait a sec or two for that to sink in.

(Why's the light on my webcam on?)

So for the love of Macy, don't ever ever ever download and use a save file from a source you don't trust. And let's be honest, do you really trust ilickchihuahuas69 over at that forum you visit sometimes, even if they do post all those funny memes? And do you trust the guys he gets his saves from?

Note: you won't get this "are you sure" question loading external saves with Light of my Life immediately: saves made in chapter 6 will not trigger this in chapter 7. But saves made in the upcoming release of Light of my Life will trigger it, and it's a small step in the right direction.

My personal advice is: don't ever use a ren'py save you did not create yourself. Ever.

Comments (18)

S
Silent Observer · August 9, 2023

The amount of what seems like "just data" that includes code these days is staggering. I learned to avoid wantonly swapping floppy disks back when they were still a standard data exchange medium (hint: I was using DOS 3.31 at the time), and if files you received had extensions for known document formats (.doc, .xls, .jpg, etc.) they were safe (this was before long file names allowed spoofing past this stuff). These days, even a simple text file can carry a payload, it seems, and anything with any "life" to it surely can.

N
Naughty Road · August 9, 2023

In reply to @Yodasheep, to give it a bit more visibility here: "Interesting, never heard of that one either. Do you have an idea what's the purpose of this feature in renpy? I really can't think of a scenario where I would need to run code from a savegame. I mean a save isn't a mod and shouldn't be able to change anything in the game." I think it was just chosen as a really convenient way to save a complete game state including all instantiated classes and running logic. The process is documented here (https://docs.python.org/3/library/pickle.html) , and it's really quite powerful. It means that you can do pretty complex stuff in your game, and your save will just work without additional effort from you as a dev. That's a plus, as many devs are not experienced software developers (or in fact software developers at all), and would be hard pressed to write serialization/deserializations for their ren'py games, apart from the extra work involved in coding, and testing, and supporting inevitable issues. The downside is that if you go and swap those save files over on the internet, you're really opening yourself up to malicious content, and none but a very few with specific knowledge of the process involved will understand how dangerous this actually is. Even people very aware of safe browsing practices and security will be blindsided by this.

j
j b · August 7, 2023

very soon as in a few days? or is that wishful thinking?

T
Trucokiki · August 6, 2023

I will start a new game to come back and enjoy it from start to finish :D

W
William Elliott · August 6, 2023

in other words, its only a security flaw if you do something stupid. Like leaving the keys in your car and the doors unlocked in a bad neighborhood...

S
Sin Art · August 6, 2023

Well, needs to say, your game is maybe the only one, where i stay for the story and the characters. And for most all other games: hit the skip button :)

H
Happyninja42 · August 6, 2023

Glad I don't do that then.

N
Naughty Road · August 6, 2023

Remember, it's not a security flaw as long as you don't get any save files from unknown sources.

Y
Yodasheep · August 6, 2023

It's still a security flaw from renpy's side. Savegames simply shouldn't contain code. I don't understand who thought this was a good idea especially because most people probably never heard of it.

d
darlic · August 6, 2023

Wow, I didn't know about this massive security flaw in renpy's saving system. This is both hilarious and terrifying at the same time

T
Trucokiki · August 6, 2023

Will it be released next week? oh god that's right, give us joy xD

N
Noir · August 6, 2023

I like 2 play my own saves, but i didn't know it is that bad to get them from others. Much appreciated. Thx =)

T
Totes Not Thea · August 6, 2023

That video is excellent! I've shared it far and wide.

A
Atixes · August 6, 2023

That aside, if you really lost your save file don't waste your time asking just skip through the game. You likely will get there faster than if you wait for someone else.

A
Atixes · August 6, 2023

To those people who ask for save files on Naughty's Discord server. Rule 7: Don't post or solicit save files, they are an unsafe file format that can execute arbitrary code on your device.

M
Marcus · August 6, 2023

Edit - Nevermind, you answered this while I was typing.

N
Naughty Road · August 6, 2023

Sorry about the weird Subscribestar gate in those links. Copy paste error, should work normally now.

M
Marcus · August 6, 2023

Good as gold now.