I have a painting of a tree:
> X PAINTING
It is a poorly executed painting of tree.
> X TREE
The tree is composed of two straight lines for the trunk and a ball
for the leaves.
Fine. Now if I (as a player) take the painting to a "room" containing
a mighty oak tree:
> X TREE
Which do you mean, the painting or the mighty oak tree?
(Ouch)
The problem is: If the player had never bothered to examine the
painting (and thus doesn't know that it is of a tree), this would
seem like a very odd question.
Should I change the program such that X TREE only works if you have
first examined the painting (something repeat players could very
well hate)? Meaning that if you tried to X TREE while the painting
was hanging on the day care wall you would get:
> X TREE
You don't see any such thing.
... something not exactly true.
I suppose the best solution might be:
> X TREE
(Examining the painting)
The tree is composed of two straight lines for the trunk and a ball
for the leaves.
... but then I'm back to the "mighty oak" conflict (at least, as
I'm programming in Inform, that would do nothing to avoid it)
Kathleen
--
-- Excuse me while I dance a little jig of despair.
Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.
I don't know how much control Inform gives you over disambiguation
strategies (I program TADS) but if you do, you could adopt a
'least seen examine first' strategy, in which case the painting,
whose tree is already seen, would not be looked at when you take
the painting to the mighty oak tree and 'x tree'.
The problem isn't resolved entirely, though, as how do you disambiguate
flowers in a garden? There seems to be a irremediable desire on the
part of players to have the program supply context automatically
when the context is less than obvious. Even supposedly well engineered
programs do this, like the way Microsoft Word puts the first word
in a sentence in caps, even when I don't want it to.
David.
> (This is a programming language independent question.)
>
>I have a painting of a tree:
>
> > X PAINTING
> It is a poorly executed painting of tree.
>
> > X TREE
> The tree is composed of two straight lines for the trunk and a ball
> for the leaves.
>
>Fine. Now if I (as a player) take the painting to a "room" containing
>a mighty oak tree:
>
> > X TREE
> Which do you mean, the painting or the mighty oak tree?
>
>(Ouch)
>
You could give it a name like "painting of a tree." That way,
the disambiguating question would be:
Which do you mean, the painting of a tree or the
might oak tree?
irene
True... but what if my painting also contained a kitty, a chain
saw, and a can of spam, each of which could be examined:
> X TREE
Which do you mean, the painting of a tree, a kitty, a chain saw,
and a can of spam or the mighty oak tree?
Kathleen (not trying to be difficult, honest!)
--
*******************************************************************
* Kathleen M. Fischer *
* kfis...@greenhouse.nospam.gov (nospam = l l n l) *
** "Don't stop to stomp ants while the elephants are stampeding" **
What if, whenever you enter the room with the tree, you secretly removed
"tree" from the painting.name property?
--
---------------------------------------
Assistant Professor Dennis G. Jerz
Department of English (715)836-2431
University of Wisconsin--Eau Claire
419 Hibbard, Eau Claire, WI 54702
www.uwec.edu/Academic/Curric/jerzdg
But my answer is Inform-specific ;-)
: > >I have a painting of a tree:
<snip>
: > >Fine. Now if I (as a player) take the painting to a "room" containing
: > >a mighty oak tree:
: > >
: > > > X TREE
: > > Which do you mean, the painting or the mighty oak tree?
: > >
: > >(Ouch)
: >
: > You could give it a name like "painting of a tree." That way,
: > the disambiguating question would be:
: >
: > Which do you mean, the painting of a tree or the
: > might oak tree?
: True... but what if my painting also contained a kitty, a chain
: saw, and a can of spam, each of which could be examined:
It seems to me that this situation is exactly that which 'ChooseObjects'
was designed for. Give your painting object a lower priority than the
'default' object, and all should be well. You could even pick and choose
a few verbs that more obviously go with the painting object ('rip',
'paint') and give the painting a *higher* priority in those situations.
I had to do exactly this in Edifice; look at the ChooseObjects code in
nalian.inf at the archive for an example.
-Lucian
Then "painting of tree" would suspiciously stop working.
My solution would be a parsename routine, which flags the word "picture" as
necessary, and other words as optional. It's been a while snce I did much
inform, so I'd suggest taking a look at the examples in the DM.
+--First Church of Briantology--Order of the Holy Quaternion--+
| A mathematician is a device for turning coffee into |
| theorems. -Paul Erdos |
+-------------------------------------------------------------+
| Jake Wildstrom |
+-------------------------------------------------------------+
> > X TREE
> Which do you mean, the painting or the mighty oak tree?
>
> The problem is: If the player had never bothered to examine the
> painting (and thus doesn't know that it is of a tree), this would
> seem like a very odd question.
In this particular example, I think I could live with this question as a
player. If the parser spit this at me, I would just think "Oh, the
painting must be of a tree!" No trouble. It wouldn't break mimesis for me,
since I think I could know it was a painting of a tree at a glance, without a close
examination.
Now, if the tree is just one feature of the painting (as your later
message suggests), I think ChooseObjects (or its non-Inform equivalent) is
your answer.
Of course, I don't think I would be in this situation as a player, since I
tend to examine everything before I pick it up, but neurotic player
behaviors are a topic for another thread... :)
--
Paul O'Brian obr...@colorado.edu http://ucsu.colorado.edu/~obrian
"Sometimes even music cannot substitute for tears."
-- Paul Simon
Julie
ChooseObjects will help here, when called with code 2.
Here is a simple-minded solution (which includes my handy ChooseObjects
stub):
[ ChooseObjects obj code ret_val;
switch (code) {
0: ret_val=0;
1: ret_val=0;
2:
ret_val=1;
if (obj == painting) ret_val=ret_val-1;
}
return ret_val;
];
This won't stop the painting from being preferred in every case, but it
will prevent it from ever having equal priority to the *real* oak tree.
(ChooseObjects is weak since 6/8).
--
Neil Cerutti
ne...@norwich.edu
Maybe have separate objects for the things in the painting.
Then the offending interchange would be:
>X TREE
Which do you mean, the tree figure or the mighty oak tree?
object painting "painting"
with name 'painting',
description "On it are some figures: a tree, a cat,
a chainsaw and a can of spam.",
add_to_scope painting_tree painting_cat
painting_chainsaw
painting_spam;
object painting_tree "tree figure"
with name 'tree' 'figure' 'figures//p',
description "It's drawn on the painting as two
straight
lines for the trunk and a ball for the
leaves.";
HTH
-- Ricardo
"Nearly asleep, I swam through my skull, and sometimes
listened."
Tanith Lee, "Stained with Crimson"
> Fine. Now if I (as a player) take the painting to a "room" containing
> a mighty oak tree:
>
> > X TREE
> Which do you mean, the painting or the mighty oak tree?
>
> (Ouch)
>
> > X TREE
> You don't see any such thing.
>
> ... something not exactly true.
One of these options is probably the best. If the contents of the picture
are sufficiently obvious that a casual glance is sufficient to pick them
out, the initial for the painting should contain them ("Hanging on the
wall is a simple picture of a tree.") and they should compete with real
objects ("Which do you mean, the painted image of a tree or the might oak
tree?"). If they're not obvious, they should be hidden until the player
examines the picture sufficiently. The odd comment isn't so odd if the
game has briefly mentioned the content of the picture, even if it doesn't
merit a place in the name.
-Iabervon
*This .sig unintentionally changed*