Sit on door = enter door?

Hello,

I haven’t been using doors a lot, but this looks weird. If we SIT ON DOOR, we basically get the behaviour of ENTER DOOR (i.e. going to the other room). So, do doors work as containers/supporters…? This isn’t very convenient, is it?

1 Like

Since the I7 Standard Rules don’t have any notion of postures, “sit on” and “stand on” are both treated the same as “enter”. This conveniently allows the player to type “sit on chair”, but it also happens for doors as you noticed.

1 Like

In most cases this is a non-problem; if the player types SIT ON DOOR then they’re probably just probing the game’s responses to silly commands, rather than playing immersively. I suppose it might be an issue if your game involved sitting on things a lot, but in that case you’d probably be using Postures by Emily Short, or an equivalent.

If it bugs you:

Understand the commands "sit" and "stand" as something new.
Understand "stand" or "stand up" as exiting.
Sitting on is an action applying to one thing. Understand "sit on/in/inside [something]", "sit on top of [something]" or "stand on [something]" as sitting on.
Instead of sitting on a supporter: try entering the noun.
Check sitting on something: follow the can't enter what's not enterable rule instead.
5 Likes

You could also use the “mistake” machinery to knock out grammar you don’t like:

Understand "sit on/in/inside top/— of/— [door]" as a mistake ("That's not something you can sit down on.")
7 Likes

Indeed, not many would just go around the game world sitting on doors. Neither did I. But I noticed the problem when I just typed SIT in the presence of a sofa (enterable container) and a door. And the game picked the door, for some reason.

Living Room
A comfortable, bright room with a sofa and a TV. A corridor leads east. The main entrance leads back outside.

>sit
(on the entrance)

Garden
A huge garden…

5 Likes

I guess this would also work:

Before entering a door:
	if the player's command includes "sit/stand":
		say "[The noun] is not for that.";
		stop the action.

But I still need a “does the player mean” since SIT still gives me:

>sit
(on the entrance)

You can’t sit on the entrance.

2 Likes

Yes, if it’s not clear, SIT ON is a synonym for ENTER since chairs are usually enterable supporters.

You might want to try some form of
Does the player mean entering a thing that is not a supporter: it is very unlikely.
(Check syntax, I’m real rusty.)

Of course this won’t work if you’ve declared doors as supporters for holiday wreaths, or some such!

1 Like

The strategy of the standard rules’ Understand lines is to be okay with admitting a lot of nonsense in order to catch a bunch of reasonable things. Out of the box, Inform games will let you try to screw on the furniture, saying either “It isn’t something you can switch.” or, if you had said, say, “The desk can be switched on” in order to implement a built-in light or some such, “You switch the desk on.” (“screw” is an alias for “turn” and you can “turn on [something]”.)

For sit, we could…

Understand the command "sit" as something new.
Understand "sit on top of [enterable supporter]" as entering.
Understand "sit on [enterable supporter]" as entering.

but I’m not a fan of trying to push fine distinctions down to the grammar level 'cause it makes it harder to give meaningful failure messages. With this, sit on with a thing in the room that wasn’t an enterable supporter would get “You can’t see any such thing.” (!)

So I’d prefer this:

Understand the command "sit" as something new.
Sitting is an action requiring light and applying to one touchable thing.
Understand "sit down/-- on top of [thing]" as sitting.
Understand "sit down/-- on [thing]" as sitting.
Before sitting when the noun is an enterable supporter, instead try entering the noun.
Instead of sitting, follow the can't enter what's not enterable rule.

This is very similar to @jrb’s above (and, in fact, I totally stole reusing the can’t enter what’s not enterable rule from that example).

1 Like

I don’t think that’s going to help, unfortunately. If the player is in a room with a door and a sofa and types ‘enter’, it’s almost certainly the door they’re thinking of…

The fundamental issue is that ‘sit’ is a very poor synonym for ‘enter’ when there’s both a door and a ‘sittable object’ in the room. There’s probably no more elegant way round this than to separate them out as commands.

5 Likes

So perhaps individual statements are better: Does the player mean entering the sofa: it is unlikely. Unless I’m mistaken that would prefer the door unless the player explicitly types ENTER SOFA.

But if the player types “sit”, then they probably intended the sofa, not the door. (And “sit” means “enter” to Inform.)

I truly think that’s the appropriate course. I just tried this out:

lab is a room.
oak door is a door.
oak door is north of lab.
conservatory is north of oak door.
sofa is enterable supporter in the lab.
spam is in lab.
does the player mean entering a door: it is very likely.
does the player mean entering an enterable supporter: it is likely.
does the player mean entering an enterable container: it is likely.

and was treated to this great moment in maintaining suspension of disbelief:

lab
You can see oak door, sofa and spam here.
 
>sit
(on oak door)
(first opening oak door)
 
conservatory
You can see oak door here.
2 Likes

Well, you’d hardly want to sit on a closed oak door, now would you?

4 Likes