Initial Appearance of a Room

I would like my rooms to have an initial appearance so that I can have long and short room descriptions. This is not the same as “brief” room descriptions, as I would still like there to be a few words spoken about each room as the player enters it. I’ve looked around for extensions to do this, but without luck. Does anyone have advice? The closest I’ve been able to get to it is this:
(Context: the game takes place in a surreal series of hallways. Think “House of Leaves.”)

The corridors is a region.
The (list of rooms) is in the corridors.
After going to a corridors more than one time:
		say "[hallway_short]";

to say hallway_short:
	say "[bold type]Hallway[line break][roman type]You are in the main hallway. It stretches indefinitely in either direction."

The problem with this code is that I also have the extension Exist Lister by Gavin Lambert installed, and when I use this code, it prevents the exits from being listed. I also can’t use “list the exits” command with this extension, so unless I want to do a lot of re-coding with Eric Eve’s extension, I’ll have to find another way.

Also, I don’t want to permanently change the room description. I want the player to still get a long room description with the “look” command, but to only get a short description of a sentence or two when they enter.

Writing with Inform chapter 5.6 has this code:

The Cell is a room. "Ah, [if unvisited]the unknown cell.[otherwise]the usual cell."

This doesn’t address the point in your final paragraph, though…

1 Like

Yeah, not quite what I’m looking for, but useful nevertheless. I may settle for this in the end.

You can just carry out the listing exits activity if you want to trigger an exits list at some arbitrary moment.

Or follow the exits rule if you want it to only happen if the player hasn’t used exits off.

But if you do the below then you shouldn’t need to do this anyway.

I don’t think there’s anything out of the box that does this, but you could probably manage it easily enough with a bit of reversed logic on top of the standard rules:

Use brief room descriptions.

A room has some text called brief description.

Carry out looking (this is the brief room description body text rule):
	if the visibility level count is 0
		or the visibility ceiling is not the location
		or not set to sometimes abbreviated room descriptions
		or abbreviated form allowed is false
		or the location is not visited, continue the action;
	let desc be the brief description of the location;
	if desc is not empty:
		say desc;
		say paragraph break.
		
The brief room description body text rule is listed before the room description body text rule in the carry out looking rules.

The first part of this rule prevents it printing anything in the cases where the regular rule would print the full description. Then, as long as the player hasn’t switched away from the BRIEF description mode, this will only print the brief description property value of rooms on subsequent visits. So all that’s left is to set that property on all your rooms (or at least all that you want to print anything at all).

The downside is that for any room that you haven’t set a brief description, it will just display no description at all on the second and subsequent visits.

I often play in verbose mode, which would show the full description all the time. Recipe book example 395, Verbosity 2, could be adapted to keep players in brief mode. I don’t understand Gavin’s code enough to know whether it could be amended to the same end.

Everyone does; verbose mode is the default in any new story. That’s the point of the first line, to change the default for this particular story.

But it still respects the player’s decisions, so if the player explicitly requests verbose then they will get it. That’s a good thing. No amendments needed.

I hadn’t noticed before that verbose was Inform’s default. Thanks for pointing that out. I’ve only played two recent games (Lost Pig, and what I guess is about half of Counterfeit Monkey). I must have been relying on my hazy memory of Magnetic Scrolls and Infocom games in which I think the default was brief.

I’m not sure your code does respect the player’s decisions. Brief mode won’t work as anticipated: it will display full then brief descriptions, instead of full descriptions then none.

As it’s already effectively a hybrid of verbose and brief, it would make sense to me to remove the ability to change it. This would especially the case if losing the “few words spoken about each room” in the brief descriptions would detract from the the surreal effect that the author is trying to achieve.

I’ve turned this into an extension now; just download this anywhere and then File -> Install Extension.

Yes. brief was the original Infocom default. Inform changed to verbose in 2010 though.

That is how it is intended to work. Perhaps you’re confusing it with “superbrief” mode, which only ever shows brief descriptions.

This extension will not show either description in superbrief mode. It could perhaps be argued that it should still display the brief description in that case, but typically people would only use superbrief mode if they really really meant it, so I think this seems reasonable.

And yes, it’s changing the meaning of “brief” from “full then none” to “full then brief”, but if you read the text issued when you type the command then this behaviour still fits with the stated purpose, and it matches up with what EldritchToast seemed to want.

1 Like

“Brief mode won’t work as anticipated” maybe was ambiguous. I meant that the player typing “BRIEF” won’t get what was anticipated (full descriptions on the first visit and none thereafter). I didn’t mean your code won’t work as you anticipated.

This could be confusing. As your extra sentence says, as far as the “descriptions” discussed here are concerned, superbrief shows neither full nor brief descriptions.

Re-reading Kathryn’s post, either allowing verbose mode (and so never displaying her brief descriptions) or disabling verbose mode (and so always using your modified brief mode) might align with her wishes.

When you actually type that command, the default response tells you that it will now give long descriptions of places never before visited and short descriptions otherwise.

Assuming that the author doesn’t go overboard, displaying an explicit brief description still meets that, which is what I meant earlier.

I guess the question is whether she wants long-then-brief or always only brief unless explicitly looking. I was assuming the former (because usually the latter would be less playable). The latter is doable as well of course, but would require a different solution. Probably best to wait and see what she says.

I don’t think taking the player’s options away is a good idea, though, that will just annoy people. Unless there’s some really good reason…

Yes, you’re right about “short descriptions” - which already include the room name and descriptions of things, people etc on return visits - easily encompassing “a few words” in your brief description property and therefore working as anticipated.

I don’t think those are the two choices. It’s pretty clear she wants long-then-brief, and long again when looking. What’s not so clear is how important to her the brief descriptions are. If she doesn’t disable verbose mode then a player choosing it won’t see them. That might be a really good reason to restrict the player’s options!

This forum is great, by the way. It’s good to think these things through, though it is a distraction from what I should be doing…

Would this possibly work?

A room can be viewed. A room is usually not viewed.
After looking: now the location is viewed.

Before looking:
	if the noun is nothing:
		now the location is not viewed.

Study is a room. "This is the Study. The Library is south[if not viewed]. The walls are rich mahogany and the scent of pipe-tobacco lingers in the air[end if]."

Library is south of Study. "This is the Library. The Study is north[if not viewed]. There are so many books here! You wish you could read all day[end if]."

There is a book in Library. "One book on the shelf catches your eye." The description is "Room Descriptions: Brief or Verbose?"
Transcript

Study

This is the Study. The Library is south. The walls are rich mahogany and the scent of pipe-tobacco lingers in the air.

s

Library

This is the Library. The Study is north. There are so many books here! You wish you could read all day.

One book on the shelf catches your eye.

n

Study

This is the Study. The Library is south.

look

Study

This is the Study. The Library is south. The walls are rich mahogany and the scent of pipe-tobacco lingers in the air.

s

Library

This is the Library. The Study is north.

One book on the shelf catches your eye.

x book

Room Descriptions: Brief or Verbose?

l

Library

This is the Library. The Study is north. There are so many books here! You wish you could read all day.

One book on the shelf catches your eye.

That works.

You don’t need the “if the noun is nothing” line, actually. (The noun is always nothing while looking.) The LOOK done while moving is not technically a looking action, so the “before looking” rule does not run. So it works the way you want.

1 Like

Yeah, I figured that out after I posted - LOOK AT SOMETHING resolves to EXAMINE SOMETHING but it’s a completely different action.

Probably not at all what you are looking for but I was playing around with “Description Decay” a bit here:

I made an extension for myself called “Description Decay” based on this and it kind of goes along with my idea of descriptions that contextually shift:

I have an extension I wrote along those lines for myself as well. Again, not sure if this is at all even in the ballpark of your thoughts but your post got me thinking about this stuff again.

I like this as it’s really neat, and affects verbose mode but allows brief and superbrief modes to work as expected.

1 Like

Thank you all for your help! Sorry I didn’t keep up with this thread; I got distracted by other things. For anyone interested though, I got the solution! Here’s how I did it:

A room has some text called the unvisited_description.
instead of looking in a room:
	say  the unvisited_description of the location;

The Red Room  is a room.
The description of the Red Room is "[if unvisited][redroom_long][otherwise]This room is red.".

The unvisited_description of the Red Room is "[redroom_long]."

to say redroom_long: say "This red room has many interesting details including blah blah blah yadda yadda yadda. ".


The Yellow Room  is north of the Red Room.

The description of the Yellow Room is "[if unvisited][yellowroom_long][otherwise]This room is yellow.".

The unvisited_description of the Yellow Room is "[yellowroom_long]".

to say yellowroom_long: say "This yellow room is full of so many interesting yellow things. Let me describe them all to you in detail! Blah blah..."

I would have thought this would prevent me from being able to look at anything in a room at all, but it doesn’t. I guess Inform is able to make the distinction between “looking in a room” and “looking at something in a room.”

With this code, the player only gets the long description the first time they visit or if they ask for it specifically by using the “look” command. Otherwise, they get the shorter room description that I specify in the otherwise block. The only drawback to this rule is that the room the player starts in will not behave appropriately, since you never “went to” it, triggering the look command. I haven’t worked out how to fix that yet, but it seems like a much easier puzzle. If anyone has comments or ideas for making this more intuitive let me know!