Disambiguation for verbs

I’m trying to figure out how to attach verbs to an object such that several verbs have the same effect, without completely redefining those verbs across the whole game. For instance, I have a parking brake where the command that works is ‘pull parking brake’–I’d like to make it so ‘release parking brake’ will also work, but I don’t want to create a new verb ‘release’ and make releasing something synonymous with pulling it because those aren’t even synonyms most of the time. Is there a way to just add something like ‘understand releasing the parking brake as pulling the parking brake’ that only applies to just that one object?

What do you want “release” to do when it’s applied to anything else? Rejecting it with “I don’t understand that verb” is a bad idea.

Generally you want to define a new verb, give it a Report rule which gives a general refusal, and then write

Instead of releasing the brake: try pulling the brake.

(Another possibility is to make the general case of “release” map to the dropping action. That will usually make sense.)

Understand “release [the parking brake]” as pulling.

Note that this is often not a good way to do things, because it will give strange and confusing errors if the player tries to “release” something else. But for one-use verbs like “ring” for a doorbell this can save a lot of time.

It saves about two lines of time.

Thanks for the help! Making ‘release’ usually mean drop is a good idea. I try to put the proper verb in the object description (the brake says “you can PULL it to release” but it seems people don’t always read those. Maybe a better general solution is to always implement ‘use’ for any object with one obvious use, and make it instead do the correct verb? Then as long as the player knows that ‘use’ will often work, it will eliminate a lot of problems.

This is not what most IF games do, although some have.

My feeling is, the player will spend most of the game typing USE to see what happens, which is not playing the game.

Is that still a thing? that if you implement a verb the player walks around shouting XYZZY everywhere? Is there a way to guard against or mitigate it?

Have players changed? They will always play using the interface you give them, not the interface you want them to see.

Besides, if a certain verb turns out to be useful for something, I won’t assume I’m done with the verb. I’ll probably try it on other things I’m stuck on. I’m not just shouting XYZZY for fun, it’s also because I do not know the solution to the puzzle so I have to experiment a lot. :slight_smile:

so, as IF writers, do we acknowledge and embrace this behaviour and make “USE” or “XYZZY” useful for many things? Or roll our eyes and ignore it? Or, being as I7 is quite clever, do we write a little routine that says “if the player says XYZZY after it is used for the one puzzle it’s meant for, print a message ‘Say that again punk and you’ll be fed to the grues’ for the first time, end the game in death for the second time” ? :laughing:

The worst flaw that can occur in one of my games, from my perspective, is for someone who’s honestly attempting to engage with the narrative from being blocked from doing so, and when people have problems with, say, manipulating levers and buttons and other things which shouldn’t pose a problem for the characters, that’s exactly what happens. My intent isn’t to replace all verbs with use, but to use ‘use’ it situations where there’s only most obvious use to which the item would be put. A character USE-ing a flashlight in dark room probably means ‘as a light source’, so why make them fumble with trying ‘turn on’, ‘switch on’, ‘light’, ‘activate’, etc? When the player has to think about the parser, it’s not working.

I’m not much concerned about the possibility of someone going from room to room trying the word on random things, since I’m trying to make a world environment, and in the real world you can wander around just poking at things, if you want. And if someone finds value in interacting that way with the game, I don’t see why I should say that’s wrong, since either 1) I successfully made an world that’s interesting enough and has enough depth and detail that it’s rewarding to just poke around or 2) the story itself is so boring or obtuse that they’re given up on it, in which case blocking them from wandering around isn’t going to fix the underlying problem.

EDIT - I got carried away, sorry! I’ll put this all in a RANT tag, so you’re free to ignore it if you wish. :slight_smile:

[rant]

Do you know that XYZZY is a widely-used easter egg in very many IF games? I always type it just to see what happens. I’ve seen XYZZY responses that are way better than many actual games.

Any of you gents played Excelsior? Widely panned for a number of reasons, and one of them was eschewing the traditional multi-verb interaction in favour of just USE. Every review I’ve read complains about the game trying to read the player’s mind, and the player’s work becoming dull and uninteresting. Plus never really knowing what action was going to come out of it.

In fact, I would say that to seriously implement that verb is to distance the player from the game and forcing him to think about the parser, the way you don’t want him to. When USEing an item can be anything from opening a door to picking something up to turning on a light source, what am I really doing as a player?

I’ve spoken at length, elsewhere, about the act of communication. In a well-designed parser game, ‘turn on’, ‘switch on’, ‘light’ and ‘activate’ are not fumbling. On the contrary, they ensure that the player will easily light up the flashlight in the most natural possible way. It’s part of what parser IF is all about: you’re communicating in English with the game. You’re not just going “click click click” like in a graphic adventure: you are saying “turn on the flashlight”. You are saying “open the door”. You are saying “light the fuse. s. s. s. hide”. These are meaningful interactions. These are not “thinking about the parser”; very much the opposite! This is the player communicating directly to the game and forgetting, if all goes well, that he’s talking through a parser.

As a general rule, as a player, I have to say it’s good form to allow a verb to be used in multiple situations, so Understand “verb [specific object]” is not something I’d like to see. Why? Because I don’t know the game like the author does, and if I’m given tools to see it through, I’m going to use them. The player does not know the solutions to the puzzles. The player does not know what is important and what isn’t.

Another thing: if I tried the right verb on the wrong object, and the action was defined as “verb [specific object]” instead of “verb [something]”, I’d probably get an error message that’d lead me to believe the verb wasn’t implemented. Then when I gave up, turned to the walkthrough and realised that the verb was in fact essential but only for a single usage I’d probably feel very, very angry.[/rant]

I plan to put USE in every game I make. I mean, if it’s obvious how something is used, then it’ll be used that way, and you don’t have to use USE if you don’t want to. IMO, it’s not that much of a chore to code.

In Opal:

[code]Understand “use [something]” as using. Using is an action applying to one thing.

Carry out using:
if the noun is a book:
instead try reading the noun;
else if the noun is the bottle of chocolate syrup or the noun is the bottle of lubricating oil:
instead try squeezing the noun;
else if the noun is a closed container:
instead try opening the noun;
else if the noun is the bed:
instead try entering the bed;
else if the noun is the sink or the noun is the faucet:
instead try switching on the faucet;
else if the noun is the water:
instead say “There are many different uses for water. You’ll have to be more specific.”;
else if the noun is the television or the noun is the power button:
instead try pushing the power button;
else if the noun is the cabindoor:
instead try opening the noun;
else if the noun is the window:
instead try opening the window;
otherwise:
instead say “You will have to be more specific about how you want to use [the noun].”

Understand “use [something] on/with [something]” as using it on. Using it on is an action applying to two things.

Carry out using it on:
if the noun is the bottle of chocolate syrup or the noun is the bottle of lubricating oil:
instead try squeezing the noun onto the second noun;
otherwise:
instead say “You will have to be more specific about what you are trying to accomplish.”[/code]

For what it’s worth, in HL I decided to have the verb USE always say: “The command ‘use’ is vague. Try a more specific action. Notes are for reading, dials are for turning, levers are for pulling, and so on.”

My sense is that the average player of the game was always able to find an obvious verb where an action should have been obvious. (Because I put work into that.) So this decision did not cause pain. Of course it’s possible that scads of players found that message patronizing and fled in horror, or got stuck early because they couldn’t figure out “obvious” verbs. But none of them emailed me about it, or wrote nasty reviews.

(I also removed the now-standard “LOOK SWORD” grammar and made it gently suggest “LOOK AT SWORD” or “X SWORD”. This, too, failed to result in a wave of confused or annoyed players.)

(Lesson: IF players aren’t as fragile as you think.)

I’ve had a few people mention having problems in mine with things like switches or other things that need a specific verb; I didn’t get letters about it or anything, but testers noticed it in playthroughs. I don’t think it generally stops too many people from proceeding eventually, but if you can eliminate frustration, why not do it? This may just reflect differences in our ideas of what areas a good game focuses on, so I’m not sure it’s something we can really resolve.

busterwrites, I don’t think I found any spots in yours I had trouble with, but it couldn’t hurt!

(Stop me if this is getting too derail-ranty.)

I prefer to eliminate frustration by not having objects that need a specific verb. A switch can respond to “flip”, “switch --/on/off”, “turn --/on/off”, “push”, “pull”, “move”…

I don’t think one single person used USE in my game (it definitely wasn’t necessary), but in a weird way, that’s part of the fun for me. It just exists in the universe I made, and you can use it or not.

Another command I had fun with was BOIL. If you solved all the necessary puzzles and try BOIL WATER, Opal would fill up the cauldron with water and put it on the stove in one action. BOIL SUGAR, however, would put the sugar in the boiling water. EMPTY CAULDRON would dump the water down the drain, while EMPTY FRIDGE would take everything out of the fridge. One tester found boil, but I don’t think anyone found empty. That’s ok! They’re like buried treasures without a map, and I love them.

I was thinking exactly the same thing!

I’m liking this thread, lots of interesting ideas and opinions :slight_smile: