Checklist for authors of IF and Inform 7 IF in particular

I’m sure I might have seen one somewhere, but something along the lines of:

  1. Have you provided Help? Credits?
  2. Does everything have a description?
    etc

Richard


Collected suggestions quoted from downthread, feel free to reply and update this list - [Hanon]


4 Likes

Well, let’s build one.

  1. Do all mentioned things exist in some form? Even if it’s just saying that a thing is not important/interesting.

Rather frustrating when a description mentions some object, but the word used is not recognized.

2 Likes

I got a few that I’ve run into over the years.

  1. Can you go IN or OUT of any buildings that you’ve implemented?

  2. If you have an object where you block TAKE, so it can be taken later, can it be REMOVEd instead?

  3. If you’ve implemented a cup or a barrel, or some other form of a container, can you EMPTY it?

  4. Can you EAT, TASTE, or SMELL food?

We all run into these when we play or write them, so I’m sure we can come up with an extensive list.

Ensure that listen and smell (without object) work after you mention a sound or a smell in a description or some other response text.

Things I often try:

x me
about
listen
smell
xyzzy
jump
sing
dance
wave

There’s a really handy advice post by @emshort about this, which I’ve found very helpful myself in the past.

3 Likes

Similarly but I think less widely observed: if the text directly or indirectly suggests that the player might do something, or might not do something, or can, or can’t – implement that action, in the same words. Even if it’s just saying that you can’t.

Related to this–can you ENTER the building?

Also, debugging extensions can be very helpful! “Object Response Tests” by Juhana Leinonen tries different combinations of verbs and objects to help you check to see if your responses make sense. “Property Checking” by Emily Short is helpful to find things you may have forgotten to write a description for.

Some more things to check:

  • Are all exits/directions correctly mentioned in the room descriptions (and/or in the status line, if you use an extension for that)?

  • Does the intended “winning walkthrough” work, i.e., can the game be played from the start to a/the winning ending? You can use the handy TEST command (see Chapter 24.2 in the I7 Manual) to let the IDE play your “walkthrough” automatically.
    (Of course, ideally, the game should be thoroughly tested by beta testers in all aspects, but I thought I’d mention this test specifically because a) it really is kind of the absolute minimum that should definitely work, and b) it’s relatively easy to check in an automatic way.)

  • If you provide “feelies” (PDF files, accompanying map, documentation etc.), do they reflect the current state of the game correctly? (It’s easy to forget keeping everything in sync when you update the game.)

  • If you have a cover image, is it still reasonably legible at a small resolution (for example, when displayed as a thumbnail or preview or on a mobile device)?

  • Are all your beta testers mentioned in the CREDITS/ABOUT?

  • Do you give the players a way of contacting you for feedback, praise, bug reports?

Thank you for all the replies; hopefully get through it all and still have time to beta test before next September :slight_smile:

One thing I would add to the list is to watch responses which don’t make sense if they’re repeated and to put in an alternative.

For example:

show the crucifx to the vampire
The vampire laughs. “Those things don’t work on me! Actually, I’m a Christian, I just have a different view on things.”
show the crucifx to the vampire
The vampire sighs. “Yes, yes - it’s very nice”.
show the crucifx to the vampire
The vampire ignores you.

Richard

  • Have you written a description of the player character in response to EXAMINE ME ?

The default in Inform 7 is “As good-looking as ever.” Experienced authors will always update this in some manner.

  • Can the game respond sensibly to EXAMINE ROOM ?

A “room” is a specific type of object in I7, but the parser won’t understand it from player input by default. The easiest method is to redirect it to LOOKing.

the environment is a backdrop. It is everywhere. 
Understand "surroundings/room/around" as the environment.
Instead of examining the environment: try looking.
Instead of searching the environment when the location is Room 2:
	say "You find nothing but dust upon careful search."

Make sure to implement that dust as scenery! Mentioning it specifically means the player will try to interact with it!

Room 1

This is room 1. Room 2 is south of here.

x room

Room 1

This is room 1. Room 2 is south of here

look around

Room 1

This is room 1. Room 2 is south of here.

examine surroundings

Room 1

This is room 1. Room 2 is south of here

search room

You find nothing of interest.

s

Room 2

This is Room 2. Room 1 is north of here.

search room

You find nothing but dust upon careful search.

1 Like

I had to double check but it’s “I’m sure you know what you look like.”

I might come up with something better later :slight_smile:

1 Like

I don’t actually have a lot of “rooms” in my adventure, as it’s mainly out doors.

What I have done is implemented a thing called “enclosing”, like this:

Enclosing is a kind of backdrop.

Enclosing has text called short name. The printed name of enclosing is “[printed name] that you are in”.

The description of enclosing is “Being inside the [short name], you’ve already got as good a description as you can possibly get.”.

Instead of doing anything other than examining to enclosing, say “Concentrate on what’s inside the [short name] rather than on the [short name] itself.”.

Instead of doing anything when the second noun is enclosing, try nulling the second noun.

(nulling is an action that does nothing but just redirects from one rule to another)

Then:

The enclosing vast forest is enclosing. The enclosing vast forest has short name “vast forest”. The enclosing vast forest is in the woodlands.

Where “woodlands” is a region. Resulting in:

examine forest
Being inside the vast forest, you’ve already got as good a description as you can possibly get.