A Quick-Start Guide to Inform 7

I’ve started work on a quick-start guide to Inform 7, using examples from Colossal Cave Adventure. I’ll be publishing 1 lesson a week for at least 9 weeks. The first lesson is out now, covering how to set up Inform and how to build and connect rooms.

This is not a comprehensive guide, and it won’t teach people the “best” way to do things. It is tailored instead for environments like game jams, where people will benefit from a streamlined tool that helps them get from zero to game as fast as possible.


Feedback and recommendations welcome!

It looks good so far - okay, maybe the variuos room definitions is a bit confusing to start out on, but I like the direct approach of just getting a game up and running!

My plan is to have people ready to build a basic game by week 4. At that point, they’ll have access to rooms, basic objects (supporters, containers, scenery), and simple lock-and-key puzzles (for both doors and containers).

It won’t necessarily be a good game, mind. But it will be one that works.

I’ve never played it to completion! But thanks, any tutorials or examples are gratefully received, and where better to draw inspiration from.

I’ll be following closely, and talking through your tutorial with my nine-year-old also.

That’s awesome! Let me know if you discover any hitches along the way, and I’ll try to make things clearer if so.

Next lesson is up: sibylmoon.com/welcome-to-adventure-lesson-2/

Lesson 3 is up: sibylmoon.com/welcome-to-adventure-lesson-3/

This one covers doors, keys, and a couple rudimentary examples of text with variations. I tried to include enough from text-with-variations to intrigue quick-starters into reading Chapter 5, because there is SO MUCH MORE there than I am ever gonna cover in a quick-start series.

Lesson 4 is up! This one covers the implementation of XYZZY.


It’s kind of funny to me that I cover part of the Advanced Actions section before covering any of the Basic Actions section, but… it seemed to make sense as I was planning it out. Next week, I loop back to the Basic Actions chapter.

Thanks, I can tell this will be really helpful! I was frustrated early on because the Inform manual goes into a lot of detail on certain things but doesn’t ever really give you simple instructions on how to do the basics, so this sort of thing is really handy!

Glad to hear it!

The depth and power of Inform 7 is incredible, and there’s a whole lot that won’t be covered. But I’m hoping that the quick-start approach will be beneficial to people who just want to hit the ground running, and comments like this are really encouraging!

Been flattened all week by a horrible cold, so this week’s update is a bit tardy. Sorry about that!

Lesson 5 covers how to create people and how to alter the functionality of existing actions (the Inform before/instead of/after system), with the bird and snake used as examples.


Lesson 6! This one covers scoring, new kinds with new either/or properties, and ending the game.

sibylmoon.com/welcome-to-adv … -the-game/

At this point, people following along should have the following tools:

  • how to make and connect rooms, with doors, lockable and otherwise
  • how to make objects, including containers and supporters
  • how to make new verbs, including out-of-world verbs like Help
  • how to alter existing verbs for new functionality
  • how to use if/then statements to check object properties
  • how to change the state of existing object properties
  • how to move the player from room to room
  • how to make new kinds of objects with new properties
  • how to turn on scoring and give points to the player
  • how to end the game with custom messaging

I took some time to reconsider and update the lesson plan. At this point, I’ve got three more lessons in queue:

  • how to implement the dwarves (global variables and every turn rules)
  • how to implement a maze of twisty little passages (printed/understood name vs. actual name)
  • how to implement the lamp (darkness and time)

Is there anything really big and iconic that I’m missing, things that would cover important Inform 7 topics?

Some others I already considered:

  • the bridge, but it doesn’t introduce any new concepts
  • the pirate, but it also wouldn’t introduce any new concepts
  • the limited inventory system, but we all hate limited inventory puzzles and I’d just as soon not encourage them
  • the high score table, but external files and tables seem esoteric and complicated for a quick-start guide

Maybe a section on extensions: where to find them, how to install them and include them in the source, etc. New authors may find it useful to first search for something they want to implement in the extensions list, rather than attempt to tackle the coding on their own.

Thanks for continuing your lessons, I’m learning a lot (but not putting so much into practice yet).

This question seemed more appropriate here than in the comments for that lesson, but would an example that used the ‘handled’ property of an item look like this:

[code]Some bars of silver are a thing. The bars of silver are in Low N/S Passage.

After taking the bars of silver:
if the bars of silver are not handled:
increase the score by 5;
continue the action.


You’d want to put the “continue the action” back one level, otherwise it won’t print the “Taken.” message if they’re already handled.

I’m not sure how these relate to Adventure, but you might want to cover:

How useful adjectives can be. For example making a pocket in the player’s clothes, and saying a thing can be “pocketable” and using rules to keep the player from putting a bowling ball in the pocket.

“To flood the basement:” - essentially macros. Running a repeated set of rules by calling a phrase in the source.

“The raven flies in five turns from now/At the time when the raven flies” - delayed events, turns vs “minutes”.

Every turn rules - making something happen or checking something every turn.

Saying a list of things, saying the time [in words].

Think I found a bug in chapter 6:

After taking a treasure (called the current treasure): if the treasure is unscored: increase the score by 5; now the current treasure is scored; if the score is 15: end the story saying “Hooray, you win!”; continue the action.

I recommend changing to

if the current treasure is unscored:

You absolutely did - which is ironic, since I’ve got the little explanation right above about WHY it’s the “current treasure”. Thank you for the catch!

Covering the dwarves will cover every turn rules, so I’ve got that one already in queue. I can probably sneak creating new activities in there too.

I hadn’t thought of delayed events, and that’s a good one. (I use these constantly!) Closing the cave is the only example in Adventure, I think, but it shouldn’t be too hard to explain and I can squeeze it in somewhere.

As for extensions - I don’t have an example from Adventure for that one, but I could cover it in kind of a wrap-up at the end of the series.

Thank you for the suggestions!

Lesson 7 is up! It’s a quick-start guide to make your very own threatening little dwarves!


I managed to cover timed events as well as every turn rules, but I didn’t cover new activities per se. Will keep an eye out for a way to get those in.