What I'm trying to figure out is how to give the player access to
objects that are not physicly present. I thought of creating
floatingverb constructs, but wouldn't that cause problems if the actual
NPC was present as well?
>WHO IS BOB
Which do you mean, Bob or Bob?
Yes, it would cause you problems. The asktell.t approach is the one you want
to take. This is one of those cases where disambigDobj() would work very
well. You put this parser hook in your whoisVerb and handle bob just like a
IMHO ... the full potential of the deepverb parser hooks have only just been
(Incidently, Inform boasts of a scope==routine and scope==scope_routine
mechanism available for its grammar, which are used to define the scope of
certain verb templates. Expanding the use of topics and actor conversations
is one of the best ways of getting to grips with the scoping mechanism. This
sort of mechanism is also inherent in the deepverb structure, and could be
There's alot of power in the validXoList / validXo / disambigXobj() methods.
>I'm trying to figure out how to implement a "Who is/ What is" verb as
>part of my game's help system to inorm the player of what the character
>already knows about certain NPCs and objects. The syntax of the verb
>will be "Who is <<object>>".
>What I'm trying to figure out is how to give the player access to
>objects that are not physicly present. I thought of creating
>floatingverb constructs, but wouldn't that cause problems if the actual
>NPC was present as well?
The best way to handle this, IMHO, is to create a verb for which only
topics (a special kind of abstract object) are in scope, and have a set of
topic objects that run parallel to game objects. However, implementing this
well is a bit complex, an involves the use of the parser hooks disambigDobj
and disambigIobj. You might want to check out the manual and source code of
Chatter (http://www.igs.net/~tril/if/chatter/) to see how I handled it.
"I'm sure the authors will write me and say yes, there were playtesters.
Sorry. It's a rhetorical question. What I meant to ask was, please, can I meet
the playtesters and *set them on fire*?" -- Andrew Plotkin
How would I accomplish this?
1. I could have it refer to a floatingItem object
of the topic class. The problem here lies in
disambiguation. How would I teach the parser to
prefer the topic over the actual NPC with regards
2. I could refer to the actual character or item.
How would can i cause the verb Whois to refer to
objects not in the same location as the player?
This poor humble soul is greatful for any advice
rendered unto him regarding these matters.
On an unrelated note, I am working on a futuristic
chariot racing style game NOT based on Phantom
Menace... but it has a similar feeling as pretty
much anything of this kind draws from the Roman
races. Hopefully the main character in my game
will be a better Actor than Phantom Menace's.
Sent via Deja.com http://www.deja.com/
Before you buy.
Suzanne's advice is the best. Take a look at her chatter implementation.
It'll handle your topics.
: Coorlim <Coo...@yahoo.com> wrote in message news:384517...@yahoo.com...
:> Kevin Forchione wrote:
:> > Coorlim <Coo...@yahoo.com> wrote in message
:> > > What I'm trying to figure out is how to give the player access to
:> > > objects that are not physicly present. I thought of creating
:> > > floatingverb constructs, but wouldn't that cause problems if the
:> > > NPC was present as well?
:> > >
:> > > >WHO IS BOB
:> > >
:> > > Which do you mean, Bob or Bob?
: Suzanne's advice is the best. Take a look at her chatter implementation.
: It'll handle your topics.
What Kevin means to say here is, go to http://www.igs.net/~tril/if/chatter
and download the chatter.t module. It's got several gazillion features,
many of which are impressive, one (2?) of which is complete implementation of
"who is" and "what is".
The only problem I foresee is that you'll have to actually read the manual
and change the "tell" and "ask" stuff currently in your game to fit with
the chatter methods.
The basic point here is that someone's already done it for you, so unless
you want to make a point, just steal their work.