Reasons for command not succeeding

I’ve been making a list of reasons why a command might not succeed … here is what I have so far:

  1. The action is logically impossible: put box inside box -> “You can’t put something inside itself”.
  2. The action is unreasonable: take mountain -> “Good luck with that”.
  3. The action is reasonable but not physically possible (so the PC doesn’t attempt it): take desk -> “That’s fixed in place”.
  4. The PC attempts the action, but it turns out to be impossible: [i]push door-> “The door doesn’t budge”.
  5. The wrong object is being used: unlock chest with key -> “It doesn’t seem to fit the lock”.
  6. The object is of the wrong kind: wake rock -> “You can only do that to a living creature”.
  7. The object does not have the required properties: open coin -> “That’s not something you can open”.
  8. There is no appropriate object in scope: drink -> “There’s nothing suitable to drink here”.
  9. A physical action with a non-physical object: take light -> “You can’t take the shaft of light”.
  10. The world geography prevents the action: north -> “You can’t go that way”.
  11. A physical limit has been reached: put gem in pouch -> “There’s no more room in the pouch”.
  12. An object’s state prevents the action: look in box -> “You can’t see inside, since the box is closed”.
  13. A change of state that has already happened: open box -> “The box is already open”.
  14. A change of state that is physically prevented: open box -> “It’s locked”.
  15. A change to an invalid state: set dial to ten -> “The dial only goes from one to nine”.
  16. The object is in the wrong place for the action: remove hat -> “You’re not wearing the hat”.
  17. There are no applicable objects: take all from box -> “The box is empty”.
  18. The object is not in scope: ask Fred about life -> “Fred isn’t here”.
  19. The object is distant: touch moon -> “The moon is too far away”.
  20. The object is present but unreachable (sense is blocked): take bird -> “You can’t reach it through the bars of the cage”.
  21. The action is not in character with the PC: smash vase -> “You would rather not break the priceless vase”.
  22. The action is obviously dangerous: jump in lava -> “Umm … no”.
  23. The PC doesn’t have the required knowledge: say alohomora -> “You don’t know that spell”.
  24. The PC is physically restrained: north -> “You are chained to the wall”.
  25. The PC’s senses are blocked: look -> “You are blindfolded”.
  26. The world state affects the PC’s senses: look -> “It’s pitch dark and you can’t see a thing”.
  27. The PC’s abilities are impeded: get up -> “You try to stand, but feel too dizzy and disoriented”.
  28. An NPC is unwilling to obey a command: Fred, north -> “Fred does not obey”.
  29. An NPC prevents the action: take hat -> “That seems to belong to Fred”.
  30. An event prevents the action: north -> “You are about to leave when a snake appears and blocks your way”.
  31. The action may be reasonable but is irrelevant to the story: feel carpet -> “The carpet isn’t important”.
  32. The action is not useful: blow on shoe -> “There doesn’t seem to be a lot of point”.
  33. The action is ineffective: look under mat -> “You find nothing of interest”.
  34. The parser has an opinion about the action: hug Mary -> “Keep your mind on the game”.

Any others?

I would say some of these could be combined: 14, 24, 25, 29, and 30, for example, seem to be sub-groups of #4.

Yeah, there’s a lot of subjective splitting here. (Some of the splitting delves into internal implementation of the game, or the IF language design, rather than the game’s design. E.g. the difference between “wrong object kind” and “object lacks property”.)

Whether you want to lump or split depends on what you want the list for.

Other ideas:

Protagonist accomplishes wrong result due to incompetence: “steal gem” -> “You bump the stand and the gem rolls down a drain.” (or) “steal gem” -> “You lift the gem from the gentleman’s pocket and duck away. Then you hear him laugh, and you realize you’re holding a lump of coal.”
Complete parse failure: “dfgjk znmxnvm” -> “That’s not an action I understand.”
Failure of out-of-world actions due to out-of-world problems: “restore” -> “That save file does not match this game.”
Failure of in-world actions due to out-of-world problems: “look” -> “Out of memory – Frotz has crashed.”

Yep, you can certainly combined some of these, but it helps me to divide them up this way.

The reason for the list if partly because it’s just interesting – but I was also looking at the possibility of doing all action handling in a single place, so I wanted to think about ways it can terminate.

True; I was thinking of #4 as a very general, “The action is currently physically impossible due to the world state (and might permanently be)”, with the others being more specific cases, e.g.
#14 “There is a simple (and obvious to the player) state change that would make the action possible, e.g. unlocking something”.

I like this one!

I’m not so much focusing on out of world actions, though.

I would generalise 31 to ‘the narrative voice forbids an ostensibly reasonable action for reasons extraneous to the current narrative (though perhaps not to a frame-story)’. Other examples would be ‘No, you didn’t do that until later’ or ‘I’d really rather not talk about that just yet.’

We love to blur the boundaries, we do.

You could generalise to 'the player and PC are both willing and able, but the narrator refuses," which would also subsume #34.

That makes me think about situations where the PC and the narrator are both willing and able, but the player refuses …

In that case there wouldn’t really be a command to fail, would there?

There are certainly games in which there’s a clear command you’d have to give in order to advance, but it’s distasteful and players may decide not to go forward.

Like the first ending-affecting choice in Counterfeit Monkey? That makes sense, but I don’t really see it as a command failing–it’s the player refusing to give a command in the first place.

And then there’s the weird variant where players will do things they don’t want to do, just to see what happens. Example:

In “Beet the Devil”, I originally allowed you to kill the puppy. If you tried “attack puppy”, you got a horrific little message about snapping its neck, and then demons dragged you down to Hell for your sins.

The beta tester who found it was up in arms. She was expecting a funny message where the PC refused to follow through, and got completely thrown by the result. She told me in no uncertain terms that, even if she HAD typed “attack puppy”, what I’d done was completely unacceptable and needed to leave the game RIGHT NOW, because knowing that it was there spoiled her pleasure in the game.

Big wakeup call for me. And yes, I took it out. So I suppose the reaction in place is actually a “PC was OK, parser was OK, player was not OK” reaction, even though it looks like a “PC was not okay” reaction.

Huh, that’s an interesting exchange. I’ve run into quite a bit of the opposite kind of feedback, from people who resented the narrator’s “you don’t want to do that” response and felt they SHOULD be allowed to do anything they were willing to type, but none where they were upset about being taken seriously.

Players. They are not all the same. Game design would be so much easier…

Hear hear!