Category Archives: text adventures

2021 Year in Review

I love making things. I feel I am my best self when I am creating something. Do you feel the same way? How interesting.

But if you used this blog to keep up with all the things I make, you would get the impression that I never make anything (and may in fact be dead). Let’s correct that. Let us, in the middle of 2024, do my 2021 Year in Review.

My 2020 Year in Review is here.

And my 2021 Year in Review is HERE.

Uncovered! CROCODRACULA: THE BEGINNING

You can play this game right now! But you should probably find out where it came from first:

A few months ago, I came into the possession of a copy of a very old, very rare text adventure game. I happened to be poking around in—Well, maybe I should start from further back.

THE STORY SO FAR

A few years ago, I came into the possession of a copy of a very old, very rare text adventure game titled Crocodracula: What Happened to Calvin. Feeling an obligation toward the preservation of an oft-overlooked art form, I—

—Actually, I should go back even further.

Continue reading

The Imitable Process of Ryan Veeder: Additional Autosaving Techniques for Inform 7

There are a few more things I should say about implementing autosaving in Inform 7. In the previous posts I neglected to address how these techniques interact with the default verbs UNDO, SAVE, and RESTORE, which was a bit of an oversight. I’ll get around to that now, and then I’ll show you a couple of other neat things you can do with autosaving.

Continue reading

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