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.’
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…