Multiple saves in Ink

I’ve been poking at how the save-game system works in Ink (or rather the Ink web runner), and it seems simple enough technically to keep multiple saves. This is something I’d like to offer, since there are a couple major decision points where players might want to restore and try a different choice.

But, I’m not sure how to make it work on the user-interface side.

Are there any well-regarded design patterns for keeping multiple saves in a choice-based game? I can imagine having a drop-down menu of save slots, like in a lot of non-IF games, or prompting for a “filename” for the save, like in parser IF. But both of these seem to have some significant pitfalls. (Menu = hard to remember why you saved “file 3” versus “file 4”, filename = requires pulling up a keyboard which can get annoying on a phone.)

2 Likes

I’ve also wondered about this in Ink—glad to know it’s doable, and I might return to this thread at some point to ask how you did it. :smile: As far as choice-game saving norms, though, Twine games with saving typically just have a list of slots with no ability to name them, which has never bothered me as a player; usually I only ever use a few at a time, so I either remember what each is or just open them to refresh my memory.

2 Likes

A couple games I’ve been playing lately (not IF) just have dated autosaves, and report when they’re from in relative format: “a few seconds ago,” “five minutes ago,” “10 AM yesterday”, “Tuesday, December 26th, 5 PM,” etc. and that works surprisingly well.

If there’s some way for your specific game to also include a tiny bit of context, that’s extra cool. Early 3D spaceship game Descent stored a screenshot with each dated save and it was hugely useful. (there are some modern games that do this too, but it didn’t take off like I expected it would). So in a parser game I’d bet current room and maybe most-recently-acquired new inventory item would be super useful.

If you’re messing with the web-runner anyway I wonder if it’d make sense to give yourself a tag which says that the current line shouldn’t be displayed but is instead a description of a “story checkpoint” that you could hold onto so the save description could report the most recent one (two?) that you passed.

3 Likes