New Author - Trying to wrap my head around the enormity of it all

Oh, of course; I only suggested that solution since @Kristian said he printed it manually already. If it’s manually printed it doesn’t need to be part of the startup rulebook, but I obviously agree that it should be printed somehow. (I don’t remember if the information within, like the version of Inform used to compile it, MUST be printed after Inform went open source?)

Yep! I’m working on a story where there is an interactive pre-credits scene/tutorial like that, which is why I didn’t suggest the (simpler, but less versatile) solution @Hutch suggested. But if this opening crawl is simply text that’s printed during startup, then that works too.


I will give the advice I never followed (cautionary tale: I ended up turning into an I7 contributor and still not yet a game author): start with digestible chunks. Set achievable goals. The whole of the sprawling tech stack of Inform and its infrastructure is actually really mind-bogglingly large and complex, moreso than any outsider would guess for something that remains a framework to build games recognizably like the text games that ran on home PCs in the eighties. But you don’t need to know it anything close to all of it (no one person does, truly!) to get useful stuff done.

Sometimes people discourage newcomers from using extensions. Even the docs say

Newcomers will probably not need extensions for quite some while

I personally think that overstates the case somewhat. Modified Exit is an improvement for most games. Far Away is good for anything involving backdrops that can be seen but not touched, which is a lot of games.

I made the Friends of I7 github docs page to provide (something approaching) an easy to browse directory of extensions (something similar can be seen by browsing the Public Library in the IDE… for 10.1, the contents of the two are very, very close).

But don’t get bogged down in coming up with some perfect set of extensions and tweaks that customizes every aspect of the World Model straight out the gate. Inform’s defaults were selected because they worked well for many cases, and were at least ok for most cases.

Read over (and bookmark for reference) the I7 docs and resources thread. Look at the tutorials there if you haven’t yet.

Read Jim Aikin’s I7 Handbook: it’s easier to learn from than the docs.

The Z-machine Matter is a now-defunct blog about an author’s development of a murder mystery game. Play The Act of Murder if you haven’t yet.

For a notebook system, you might like to check out Notepad by Jim Aikin. You might like to try playing The Weight of a Soul which has an interesting journal system and the Weight of a Soul source code is available.

How to organize/structure your project (spoiler: it begins “there’s no one answer”)


It’s a great adventure, in more ways than one! Glad you’ve found your way here. (Just be careful crawling through the narrow, windy tunnel, as your candle may blow out…)

My suggestion for learning Inform would be to start by sketching out the basics of your story – the rooms, the objects, and then after that the characters. (Eric Eve’s extensions are excellent for adding realistic character interactions, by the way.) Details of presentation, such as the banner, I would suggest that you leave for later on, when you’re more familiar with Inform syntax.

For organizing, I typically group all of the rooms in one Volume, with a separate Book for each, and within those Books the Chapters on movable items, scenery, and so on. (My Inform is really rusty, but you get the idea.) I put the Hint system in a separate volume, my new verbs in a separate volume, and so on. That keeps everything tidy. And as someone else suggested, there should be a Contents tab that you can switch to in order to navigate more quickly from place to place within your code.


Tons of good advice here!

re: extensions, I think the most common are easy doors and locksmith. If you are ever looking for something specific, asking here is a good way to go about things. I just did this yesterday! Speaking of which, my number one bit of advice is

:clap:ask for advice here :clap:

most requests for help are answered quite quickly. lots of helpfulness and experience here for Inform 7 programming.

It’s good to share some code when doing so. You can copy paste here then apply the “preformatted text” style to it (it’s under the little gear icon).

Alternatively, share a code snippet! Welcome & good luck on your journey.


Not OP, but as someone who’s also pretty new, I hesitate to post. Not because anyone is unkind or anything, I just feel weird starting a whole forum post for (what seems to me) a small question, that I couldn’t figure out from the docs or searching the forum. Is there maybe a Discord server?


We like answering I7 questions in these here parts, and we don’t do the thing where we say or imply that someone should already have known it. We’ve all been there.


Yeah, for every question one person has, there are probably five or six other folks with the same question who have it but haven’t registered or don’t feel up to saying anything. So it’s really a good deed to post a question, even for something that seems small – I know I’ve run into what I thought was a tiny issue, only to learn that resolving it was actually a fairly involved process that stretched my knowledge of Inform in all sorts of ways.

Oh, and there is a chat in the forum, and various other IF fora and venues, but they tend to be less searchable or permanent, so generally this is the best place to put coding questions.


Love the idea of breaking it into extensions - I hadn’t even considered it, but I think that’ll be my temporary solution.

I’ll take a look at the VS Code extension, too, to see if I can make something that works.



Ah - that’s exactly what I’m after. I initially tried to make the rule for displaying the banner text: do nothing (but this obviously resulted in me not being able to manually call it, either.).

Thanks heaps!

1 Like

What a fantastic response - thank you!

I will do as you suggest, and yes, I am rapidly learning that the best (and only) way to eat the proverbial element is in frustratingly small chunks.


Great suggestions, thank you!

You’re quite right, of course, that I have found myself agonising over window-dressing before I have actually laid the foundation. But, in my defense, I blame it at least partially on the excitement of finding an interactive story-telling medium that is relatively easy to use and has low barriers to entry.

That system of organising sounds very sensible - thus far I have been proceeding scene-by-scene, but I find myself rapidly losing my place and forgetting where, exactly, the rule for xyz interaction or relationship first appeared.

This may be a leap, but going purely off the name I assume you are the same Jim Aikin who wrote the Notepad extension? In which case - do you think that Notepad would be a good fit for the detective-style notebook I have in mind?


I get that. I remember feeling that way when I first discovered Inform 6, and that was 25 years ago.

I tend to think in terms of the player wandering around the map. I seldom try to construct scenes, other than cut-scenes. But that’s just my admittedly old-fashioned take on interactive fiction.

Yeah, that’s me. But I have to be honest. It’s been a long time since I wrote a game in Inform. I first wrote the Handbook about 15 years ago, and I have updated it twice as a community service, but these days I use a different development system when I write a new game. That being the case, I can’t even tell you whether Notepad will compile under the latest version of Inform. You’ll need to try it out for yourself. I seem to recall that it only wants to hold one message at a time, so that would be a limitation for a detective-style notebook. But maybe there’s an easy way to modify it. I might have a look at it – no guarantees.

1 Like

I tested it just now. Notepad compiles fine with the current version of Inform. You can technically put multiple notes into the detective’s notebook, but the output won’t be pretty. Here’s a sample:

>write #1 The butler did it! in the notebook
You write "#1 The butler did it!" on the notebook.

>add #2 In the conservatory? to the notebook
You add to the text on the notebook. The text is now "#1 The butler did it! #2 In the conservatory?"

>add #3 With the truncheon -- or was it the revolver? to the notebook.
You add to the text on the notebook. The text is now "#1 The butler did it! #2 In the conservatory? #3 With the truncheon -- or was it the revolver?"

>read notebook
On the notebook is written "#1 The butler did it! #2 In the conservatory? #3 With the truncheon -- or was it the revolver?"

Note the syntax: “add … to the notebook” must be used after the first entry, or you may accidentally overwrite what was there.


My philosophy toward notepads in games is:

  • Notebooks are very useful things! Include them if you can!
  • The player shouldn’t have to keep an in-game notebook updated by hand: they can use their own paper notebooks for that

In other words, if you provide an in-game notebook, it should record information automatically as the player makes progress. If you don’t want to do that, a physical notebook, note-taking app, or the like will be more convenient than anything you can provide in Inform.


(Specifically, neither the Z-machine nor Glulx provides any way to have a multi-line editable textbox. Any notebook software without that feature is going to be sorely limited.)


That’s one advantage of the Notepad extension: you can drop it in and the player can basically use it however they want to. It’s literally a functional in-game notepad object they can have in inventory - you don’t even need to define how they’re supposed to use it. They can ignore it if they’d rather keep notes outside the game.

You can also change the text on a notepad via rules, so you could cutscene an interview with a character and then add a relevant page of authored information automatically in addition to what the player wants to add.

I basically wrote Psychomanteum to experiment with this extension’s functionality!

1 Like

It is, but to my mind, the days of line editors should be well behind us! Players deserve the ability to use arrow keys and backspace while editing their notes!


I mean…Vorple…


It’d be cool if you could remove “pages” from the notebook and give them to NPCs.

Upon closer examination, you determine that one of the loose hairs is not blond, like the victim. A loose thread, indeed! That is something noteworthy! [You can record this clue in your notebook.]

> record clue

You dutifully document the clue in your notebook.

> record clue

You see no additional clues at this time.

> read notebook

Page 1: The butler claims they searched outside for the mistress, but their shoes are meticulously clean despite the yard being a mudpit in the torrential downpour.

Page 2: A picture has recently been removed from above the mantle in the great room as evidenced by the silhouette made by its recent removal.

Page 3: A long brown hair has been found wrapped around the unlucky *blond* mistress's fingers on her right hand.

> remove page

I understood you as far as wanting to remove a page from your notebook, but which page would you like to remove? 1, 2, or 3?

> 3

You crease and recrease the page where it meets the spine and then carefully tear it from the notebook. You fold the page in half and stuff it into your pocket.

> read notebook

Page 1: The butler claims they searched outside for the mistress, but their shoes are meticulously clean despite the yard being a mudpit in the torrential downpour.

Page 2: A picture has recently been removed from above the mantle in the great room as evidenced by the silhouette made by its recent removal.

Page 3 has been removed.

> inventory

A quick accounting turns up the following:
Disability Card
Snazzy Hat (worn)
Horn-rimmed Glasses (worn)
A page from your notebook (page 3)

> x card

A card briefly explaining and verifying your injury and your resultant inability to speak. You have mixed feelings about the card and its necessity, but find it indispensable when interacting with an unfamiliar police department like the one overseeing Mistress Fadune's unfortunate demise.

> give page 3 to captain

Captain Williams accepts the page and leans forward to read it under the faint light.

"A hair! How did we miss that!? Deputy! Go and fetch us a new evidence collection bag. The techs missed something again.

I’ve always wanted to write a mute detective that had to pass out notes to get their point across.


This is a really cool idea!

1 Like