You can add conditions to the understand rules, so I believe if you set a property for the egg (ie “The egg is known or unknown.”) And then “Understand “gold” as the egg when the egg is known.”, you should be okay. (Untested - the syntax may be off.)
Yes, that solves it as far as controlling when “gold” is understood as referring to the egg, but I don’t want the player to find out that the egg is made of gold by examining “egg”, he must use the actual word “gold” to find that out…
But it may not be possible as long as “gold” and “egg” refer to the same object, that’s why I’m thinking I may need a second, off-stage gold object, but it seems a bit inelegant
This pretty much works…but it needs a second object.
But perhaps that’s ok
[code]The gold is a thing. The gold can be smelled.
The player carries an egg. The egg can be discovered.
Understand “gold” as egg when egg is discovered.
After deciding the scope of the player:
If gold is smelled and egg is not discovered, place gold in scope.
Instead of smelling:
say “You smell gold!”;
now gold is smelled;
Before of doing something to the gold:
say “You know there is gold here somwehere…hey! The egg is made of gold!”;
now egg is discovered;
now printed name of egg is “golden egg”;
now the noun is the egg;[/code]
Not long ago, an idea that I was tossing around in the “ideas I might want to use someday” part of my brain was that of an NPC who could be addressed (or referred to) with two different names, one quite respectful, the other less so. Depending on which one you used, his attitude towards the player (and hence his responses to diffreent things then player might do) would differ. It occurred to me that this could only be done if you could have two synonyms which are understood as referring to the same thing, but where the machine keeps track of which one you use. I didn’t know if it was possible to do that – but it sounds like its basically the same thing that you’re trying to do.
Robert Rothman: this was used for a slightly subtle effect in (first spoiler is the name of the game and the second is what the effect was) Ad Verbum where the directions listed in the room descriptions were abbreviated if the player used abbreviations for them: if the player issues direction commands like “> go e” or “> e” the room descriptions say things like “To the e you see [whatever].”
I don’t think Cunctator will mind if I post a bit of code from Gigantomania:
[spoiler][code]Understand “comrade” as a person.
Before talking to or examining an other proper-named person during Proletariat:
if the player’s command does not include “comrade”:
say “Don’t you mean [italic type]Comrade[roman type] [printed name of the noun]?” instead
Before printing the name of someone proper-named during Proletariat:
say "Comrade "
I don’t know how you’ve planned the puzzle, but you need to be extremely careful to hint this correctly and not to frustrate players if this is a mandatory thing and not an… um… easter egg. Many if not most players (or, at least I) don’t give such a strong connection between the parser and the game world itself, just like the compass directions are just a convenient abstraction for navigating the map and the player character doesn’t actually think in compass directions. If the game understands the player when they use EGG to refer to the object but expects the player to use some other wording to solve the puzzle, most people won’t make the connection without help. Anyway, playtesting should reveal flaws in the design if any.
That is a good point. What I am after is not so much a puzzle as a gradual revealing of information…
An ordinary object becomes special only after the player makes ANY sort of reference to the special object (and the name of the special object will be mentioned to the player before I expect him to use it…this is me trying to be as helpful as possible in order to NOT frustrate the player…but as you say, maybe its too “non-standard” to work. Well, well see. Maybe I need to throw in more hints if it’s too obtuse…)