Get rid of default "You can see..."

I have found numerous topics on this already, but many of them are years old and don’t exactly address my problem. I’ve scanned the Inform docs a few times and searched for keywords, but those don’t seem to give me anything helpful.

I get default text like “You can also see some plastic chairs and a table here” printed at the end of a room description. This is repetitive and ruins the immersion. I know I can have it print out non-standard text for such items, like “Wow, there’s some chairs!” or “Wow, there’s a table!”, but that still feels unnecessarily long, especially when it’s a separate paragraph for every item.

I already mention items of importance or value that won’t change in the room text. There’s no need for this, especially when I want items you can take or modify (i.e. not scenery) that aren’t special enough to warrant a new paragraph being brought up every time you look around.

My game also involves two characters that follow you around for the majority of it: they’re very involved in the items you use, puzzles you solve, and the conversations you have, and both of them will have different “examine” descriptions saying what they’re doing depending on where you are. You don’t need to know that they’re there every time you look around.

Is there some kind of rule I can add to get rid of this default “you can see…” text, and only have these items listed when I explicitly add appearance text for them?

To nuke it completely:

Before listing nondescript items: 
	now every marked for listing thing is not marked for listing. 

(There are lots of other ways to achieve the same effect. This one is used in the example, The Eye of the Idol, though it is more limited in its scope there.)

Note that if you’re mentioning a thing in the room description, you can ensure it’s not also marked for listing as a nondescript item simply by enclosing its name in square brackets, [the plastic chairs]. (Inform will substitute the printed name of the item, and set its “mentioned” flag.)

5 Likes

Oh my gosh, these both sound really helpful! I’ll try them, thanks!

It might be more computationally efficient to write the following:

The you-can-also-see rule is not listed in any rulebook.

Depending on the size of your game, the speed difference between the two solutions may range from “negligible” to “very noticeable”.

Note that any item that is taken then dropped will stop using its special appearance text, so with this change, dropped objects will seem to disappear entirely.

jrb already mentioned the option of using [brackets] to mark things as listed when you mention them. Another similar option is to mark things as “scenery” when you don’t want them to be takeable.

1 Like

Yes, that is definitely better if you want to suppress it entirely. I doubt whether the speed difference would ever be noticeable though, because the loop runs only over “marked for listing” things, which generally limits it to (a subset of) objects in the location.

The method from The Eye of the Idol does have the advantage that you can tailor it to apply to some objects but not others.

1 Like

Ah, yes, that makes sense.

Characters are not takeable, so they could be scenery.

1 Like

There’s also this trick:

Rule for writing a paragraph about the not handled hassock:
	now the hassock is mentioned.

Here the object will be effectively scenery until the player picks it up and drops it. This is a pretty standard compromise: if the player starts moving things around, they probably are interested in the results.

You could also do something like

Rule for writing a paragraph about the hassock when the hassock is in the Living Room:
	now the hassock is mentioned.

…thus mentioning it only when it’s been dropped somewhere unexpected.

Of course you have to be careful about mentioning movable things in the room description! By far the most common pattern is for furniture to be both untakeable and mentioned in the room description; that’s why scenery does what it does.

5 Likes