Something I’ve been noticing in processing some Sand-dancer feedback (and that certainly many others have noticed before): IF default messages don’t do a very good job at telling the player what sorts of commands would work better than the ones they just tried.
Take, for example, this scenario:
IF vets know what this means, but I’ve almost never seen a newbie respond to this by typing “GET OUT”. Instead, imagine if we had something like this:
This isn’t perfect, and would probably fall apart in this common scenario:
…but on the other hand, there’s at least some indication of how the parser misinterpreted the command now.
Extending this farther, while the IF parser has often been unfavorably compared to a UNIX command line, even UNIX has man pages: if a command doesn’t work the way you thought it did, you can type MAN COMMAND to get the full specs. There’s absolutely no way to get this information out of an Inform game. What if you could do things like this:
Essentially, this is just a gussied up form of the testing command SHOWVERB. But how lovely! Now we see that we’ll be understood if we type “THROW BALL AT WINDOW” instead, and maybe we’ve learned a bit more about the world model: that there are things can stuff can be put on or inserted into. Also, we’ve demonstrated that we do understand THROW, just not the particular usage of it.
Man pages are not exactly cutting edge UI technology, either, but hey, they’re better than nothing.
This seems like a great idea, particularly with THROW, where it seems like everyone implements a different syntax and I often spend a lot of turns trying to figure out the right one. (Or maybe I just tend to try THROUGH when no author does.) Another pet peeve is that I don’t think THROW should be a synonym for DROP – has anyone ever typed THROW KNIFE when they wanted to drop it? – but that’s another issue.
How hard would it be to write something that matched any possible verb in it and offered a choice of man pages, so I WANT TO GET OUT DAMMIT gave you the explanation for “I” but also said “If you want to know how to use ‘GET,’ type ‘HELP GET’; if you want to know how to use ‘OUT,’; type ‘HELP OUT’”? That’s not the best syntax, but one of the challenges would be letting people know how to use this (other than by triggering an “I only understood you as far as knowing how to” error).
One caution would be making sure that you don’t wind up lying about exceptional cases: “I know DROP any number of things you’re holding as a way to put them down, unless one happens to be a particular fragile item, in which case it means smash it against the ground with great force.” The solution may be not to design puzzles like that. Yeah, I’m still kind of ticked off about it. (Incidentally, I think “put them down” is much clearer than “drop them.”)
Great idea! Should definitely be included, not just in a ‘for beginners’ extension, but in your Smarter Parser extension.
I would also agree with Matt that having ‘throw’ be a synonym for ‘drop’ is beyond old-school. That dates clear back to Adventure, IIRC. A modern library should detach it.
It’s hard for me to imagine a story situation in which ‘throw the knife’ would make sense as a command. That’s a curiously aimless command – and literally so. Most stories would need a second noun for the action – ‘throw knife at Betty’ or whatever. So the default response for ‘throw knife’ should probably be something like, “You’ll need to mention the intended target as part of a throwing action. Try THROW XXX AT YYY.”
Ditto for ‘toss’ and ‘hurl’ as synonyms for ‘throw.’ However, ‘throw away xxx’ and so forth are equivalent to ‘drop’.