Monthly Archives: September 2019

The Imitable Process of Ryan Veeder: Advanced Autosaving in Inform 7

In a previous post I explicated the basic principles of how to automatically track and restore the player’s progress in an Inform 7 game. What it really comes down to is this:

  • Represent the parameters of your game’s progression in a table.
  • Whenever the player does something worth autosaving, record it in that table, and then write that table to an external file.
  • When play begins, read that external file and use those data to reconstruct the player’s progress.

I said we’d get into some ways of representing progress in a nonlinear game. The first thing that comes to mind is my game The Lurking Horror II: The Lurkening, in which the player character learns various spells that let you manipulate the environment and solve puzzles. Learning certain spells requires you to learn certain other spells first, but the “tech tree” has enough branches that we can’t predict in what order the player will discover everything.

Continue reading

The Imitable Process of Ryan Veeder: Basic Autosaving in Inform 7

Ryan Veeder’s Authentic Fly Fishing autosaves your progress! This is kind of noteworthy, at least in the realm of text adventures. I don’t think Ryan Veeder’s Authentic Fly Fishing is the first text adventure to autosave your progress, but it might be the first game to do it in Inform 7.

Why bother with this feature for this particular game? Well, it was kind of necessary to make another feature work: Ryan Veeder’s Authentic Fly Fishing also uses the real-world date for certain “real-time” elements. The game can’t really keep track of these elements (say, counting how many different days you’ve played) if players are able to “change history” by loading outdated save files.

But there’s another reason, one which may more likely be applicable to your own personal design interests: Ryan Veeder’s Authentic Fly Fishing is supposed to be an extremely casual experience. There is no urgency for the player to reach the ending. (There is no ending.) It’s not supposed to be a battle of wits between the author and the player. You’re meant to visit the world of Ryan Veeder’s Authentic Fly Fishing for however long you want, whenever you feel like it, and maybe you’ll make some “progress” by finding something new, or maybe you won’t. It’s supposed to be very chill.

Requiring players to manually save their state at the end of a play session and then restore their state the next time they show up (being careful not to restore an old file and lose progress!) would detract from the casual experience I wanted to create. So it was doubly important for me to take the burden of progress management off the players’ shoulders.

Maybe you’d like to do something similar with your own Inform 7 project. Here’s how you can do that!

Continue reading