Taking - what's going on?

Okay, I just went around typing ‘get’ in my game to see what would happen. Some of its choices are weird, or at least I haven’t worked out all their logic.

If there are non-scenery objects present, it tries to pick those up. If there aren’t, but there are people in the room, it may or may not try to pick up another person. Does it only try this if there is only one other person present? IE Not more than one?

Then, in some cases it will try to pick up scenery, but in others it won’t. I have a thing called superscenery, which I defined like this:

superscenery is a kind of thing. superscenery is scenery. superscenery can be spoken of or not spoken of. superscenery is usually not spoken of.

I’ve noticed it will never try to pick up a superscenery.

As for plain old scenery, in one room it tries to grab the scenery, in another it tries to grab a part of the scenery.

I traced the rules that are going ogg and there’s no illumination there. What’s the heirarchy?

Also - can I control this with ‘supply a missing noun’? My attempts thus far haven’t worked. I know it ain’t working as is because this:

Rule for supplying a missing noun while taking: now noun is player.

compiles but has no effect.

I think that activity only takes place if you define a command with too few arguments for the action it triggers – if e.g. you have a line like «Understand “take” as taking», besides (or instead of) «Understand “take [something]” as taking».

I have a feeling Zarf told me that before, but it hasn’t sunk in. Plus, you’ll try anything when the program’s not doing what you want.

Ok, so it looks like a way to disable Inform’s AI about what it should try taking if the player doesn’t type a noun is to redefine your game’s taking verbs so they’re more elemental.

IE - ‘get’ as taking, instead of ‘get [things]’ as taking… etc.

If you can then run your game, type ‘take’ on its own and receive the response ‘You must supply a noun’, it shows you’re in a position to start using ‘supplying a missing noun while taking’ tricks to guide the action depending on location, context etc.

Inform makes decent guesses half the time when it uses the built-in routines, but it also makes some not so cool (and some dumb) guesses at other times, at least in my game, so I think it’s another area where I need write my own routine.

You know, I typed “get” by itself in my game but it didn’t have the same effect. Has anyone else reproduced this?

Which same effect? With the standard grammar, “get” by itself will pick an object or disambiguate.

I usually find it sufficient to control the disambiguation with “does the player mean…” rules. But severedhand’s approach, adding “Understand ‘get’ as taking”, will give you more control.