Problem with defining two things with similar names

I have two things defined: the base of the state and the statue. When I test it, I examine the statue but inform asks the statue or the base of the statue, not allowing the player to choose the statue. Is there any way around this?

snippet
1 Like

The way around a problem like this is to change names. For instance, you might use “marble statue” and “statue base” (or “pedestal” might be better).

This is a perpetual and annoying problem, but it’s a fact of life for parser games.

2 Likes

I agree that changing the name would be a good idea–having at least a unique adjective for the statue would give the player a way to refer to the statue without having to answer the “Which do you mean?” question.

For times when disambiguation does come up, I believe there’s also an extension called “numbered disambiguation choices” that makes it more convenient for players to pick the option they want.

3 Likes

Yes, it’s a very bad situation to have object names based on others like

clock
face of the clock
clock hands

Because the game will get in a disambiguation loop if the player types EXAMINE CLOCK
Do you mean the clock, the face of the clock, or the clock hands?

Typing “clock” as a response triggers the same disambiguation resulting in no way to interact with just the clock.

This is a good reason to give everything that’s a kind or similar iterations or part of something an adjective like in Inform games: faded scroll, dusty scroll, tattered scroll…

base of statue
body of statue

“Statue” will work for both, and the player can disambiguate with “base” or “body” and it subtly provides a clue to the player there are different component parts to interact with.

1 Like
Understand "itself" as the statue.
Rule for printing the name of the statue when asking which do you mean:
    say "statue itself".
4 Likes

Or for a more general solution:

A thing can be ambiguous.
Understand "itself" or "actual" as a thing when the item described is ambiguous.
Before printing the name of an ambiguous thing when asking which do you mean:
    say "actual ".

Now you can tag anything in your game as “ambiguous” and it’ll say “the actual statue” in disambiguation questions.

6 Likes

I dunno! Like bg said, if you use the Numbered Disambiguation Choices extension, the ‘loop thing’ is a solved problem.

You would still also want to use ‘Does the player mean doing something to the …’ rules and judicious naming to avoid disambiguation moments that the player won’t want to see, but you should be doing that without NDC, anyway.

This is why I recommend NDC to anyone. The extension for current Inform is here:

-Wade

2 Likes

Ack, just don’t if you can help it. Make them THE STATUE and THE BASE, which is part of the statue, Or the plinth or the pedestal or the granite block on which the statue rests.

How important is it that this be called “the base of the statue”?

My advice is: do not mess with all the “does the player mean” rules or extensions or anything like that. Just call them different things. It’ll save you a world of hurt and trouble.

3 Likes

That is a really sweet solution. But since I’ve already typed them, here are some worse ones. :laughing:

The base of the statue is a privately-named thing.
understand "base", "base of the/-- statue" as the base of the statue.
The base of the statue is a thing.
does the player mean doing anything to the base of the statue when the player's command does not include "base": it is very unlikely.

Either of these head off the player being asked a disambiguation question. With the latter you get “(statue)” messages indicating the statue was chosen. With the former you don’t.