[ANNOUNCE] NPC Conversations (ASK/Tell Theory & Menus)

6 views
Skip to first unread message

Jim Fisher

unread,
Apr 22, 2002, 2:28:58 AM4/22/02
to
There's been a fair amount of discussion on NPC conversation of late, and I
think that much of the basics have been covered, however I believe that the
conventional conversation system of text adventures (that is, the "ASK/TELL"
system) offers a bit more potential than the others and a complexity which
could be investigated a little deeper. By doing so, additional advantages
can be squeezed from the system which benefit both the developer and the
player alike, including such things as menus which sit atop of the ASK/TELL
system.

1) The Article

I've written an article on what I perceive to be the four basic models of
ASK/TELL implementation. This article is on the "theory" of ASK/TELL and it
was my attempt to keep it platform independent so it *should* apply equally
to TADS, INFORM, or any other game system that supports ASK/TELL. The
article can be found at the following URL:

http://www.onyxring.com/InformGuide.aspx?article=74

2) The Example

Next I forsook any such desire to achieve "platform independence" and wrote
an example one-room implementation of the most complex of the four models
described in the article. This example leverages a "pop-up" menu
reminiscent of Emily Short's "Best of Three," however the menu is simply an
"Add-on" for the ASK/TELL system. The player need not be bound by the
choices in the menu (They appear only because they are related to the
conversation that has occurred.) Should the player choose to, they can turn
the menu off entirely and proceed with an NPC conversation in a fashion more
akin to "Galatea."

Having made these two parallels, I feel that I must say that I am *NOT*
trying to compare this example to the quality of Emily's games. This is,
after all simply an example intended to demonstrate the possibilities of an
ASK/TELL/MENU hybrid. It is quite small and lasts only 16 turns each time
it is played, but can be played multiple times resulting in a fair amount of
diversity in the resulting conversation. The Z-machine game can be found at
the following URL:

http://www.onyxring.com/downloads/ORLib%20Examples/medusa.z5

3) The Source Code

For those that are interested, the source code to this sample is also
available. It is written in Inform (as you might have guessed by the Z5
extension), leverages the ORLibrary, and will compile to both the Z-Machine
and the GLULX native platform. The source code can be found here:

http://www.onyxring.com/downloads/ORLib%20Examples/medusa.inf

4) The Map

As an aid to both developers trying to understand the code and players that
have the interest, I have also created a visual map of the conversation
possibilities. This map can be found here:

http://www.onyxring.com/downloads/ORLib%20Examples/medusa%20conversation.jpg

I would certainly be interested in your thoughts.

--
Jim (AT) OnyxRing (DOT) com
Visit "An Inform Developer's Guide" or browse the
"ORLibrary" extensions to the standard library at
www.OnyxRing.com
----------------------
Some days you eat the code; some days the code eats you

kodrik

unread,
Apr 22, 2002, 2:10:05 AM4/22/02
to
I've posted before that I really like the way Everquest implements
conversation and I find it a really efficient system. I am suprised not to
see it mentionned.

This is how it works:

First, you must engage a conversation with an NPC by greeting him.
The NPC replies with a speech and some of the words of his speech are
highlighted. These highlighted words guide the player for questions this
NPC might answer.

I think it is very powerful because it gives information to the player for
the question he can ask and keeps the kind of interactivity expected from
IF.
Conversations with NPC in everquest are a central part of quests, NPC can
hold a great deal of information depending on how you query them and what
you have accomplished in the game.

I find it very suitable for IF, the player acts in the game according to
objects at his disposal and the author plans various actions around these
objects, why not have him interact with an NPC based on specific
information given in his speech and have the author plan various response
around these informations.

I don't explain well, if someone who has played Everquest want to expand on
what I said, don't hesitate to do so.

atholbrose

unread,
Apr 22, 2002, 4:14:40 AM4/22/02
to
kodrik <kod...@zc8.net> wrote in news:uc7e23l...@corp.supernews.com:

> I've posted before that I really like the way Everquest implements
> conversation and I find it a really efficient system. I am suprised
> not to see it mentionned.

This system is much older than Everquest... the earliest game I remember
using it was Ultima IV, IIRC, or one of the Ultimas at any rate. There were
a couple of standard topics (NAME, JOB, HEALTH) you could talk to NPCs
about, and words you could use to further converse were highlighted.

kodrik

unread,
Apr 22, 2002, 3:43:48 AM4/22/02
to
> This system is much older than Everquest... the earliest game I remember
> using it was Ultima IV, IIRC, or one of the Ultimas at any rate. There
> were a couple of standard topics (NAME, JOB, HEALTH) you could talk to
> NPCs about, and words you could use to further converse were highlighted.

I know Everquest didn't invent it, it was the most known example I could
find.
Why isn't it more used in IF, it is a good and proven way for NPC
interaction?

dgr...@cs.csuabk.edu

unread,
Apr 22, 2002, 5:32:17 AM4/22/02
to

Now that you've reminded me of this, I plan to use it on my masterpiece
which is due... um.. sometime.


--
David Griffith
dgr...@cs.csubak.edu

Jim Fisher

unread,
Apr 22, 2002, 9:22:26 AM4/22/02
to
> First, you must engage a conversation with an NPC by greeting him.
> The NPC replies with a speech and some of the words of his speech are
> highlighted. These highlighted words guide the player for questions this
> NPC might answer.

That's actually a good idea, and certainly helps to drive home what the
player can ASK/TELL, but it does't seem like another system altogether,
rather just some specialized formating in the conversation text.

kodrik

unread,
Apr 22, 2002, 7:43:18 PM4/22/02
to
Jim Fisher wrote:

>> First, you must engage a conversation with an NPC by greeting him.
>> The NPC replies with a speech and some of the words of his speech are
>> highlighted. These highlighted words guide the player for questions this
>> NPC might answer.
>
> That's actually a good idea, and certainly helps to drive home what the
> player can ASK/TELL, but it does't seem like another system altogether,
> rather just some specialized formating in the conversation text.

Upon greeting, you get a "talk" reaction where the NPC says something and
the parser gets into a conversation mode where only some query inputs are
matched based on your "knowledge" of the NPC information.
You leave the conversation with a "bye command.

Krayy

unread,
Apr 22, 2002, 9:08:40 PM4/22/02
to
"Jim Fisher" <jimATonyx...@NoSpam.com> wrote in
<m8Uw8.164714$oN6.3...@news1.east.cox.net>:

>> First, you must engage a conversation with an NPC by greeting him.
>> The NPC replies with a speech and some of the words of his speech are
>> highlighted. These highlighted words guide the player for questions this
>> NPC might answer.
>

The first game that I played with this system was Ultima 6. The caveat was
that you could turn it on and off using the "Hints" command. I would think
that an implementation of a hint system could have different levels for NPC
conversations, room descs (highlighting usable items), item descs (theres a
DRAWER in that desk? I can't BELIEVE it!) and other niceties to mnake your
games accessible to even the newest of newbies.

Saves supplying a walkthrough at any rate.

Krayy

Emiliano G. Padilha

unread,
Apr 24, 2002, 1:02:32 PM4/24/02
to
kodrik wrote:
>...

>
> First, you must engage a conversation with an NPC by greeting him.
> The NPC replies with a speech and some of the words of his speech are
> highlighted. These highlighted words guide the player for questions this
> NPC might answer.
>

That's a very good idea indeed.
The thing is, it could work the same way as IF conventions already dictate for
what we can interact in a game. We find the things we can examine, manipulate,
etc, in the descriptions of places and things. Likewise, we can ask/talk about
things the NPC said or the PC "thought". And they don't need to be highlighted,
just as the objects implemented in a game don't come highlighted in the
descriptions.


Detailing:

You engage in conversation through "<NPC>,hi" or just "hi", or "talk to <NPC>".
But NPCs may also take the initiative to start talking, when you enter the room
or when you do something to attract her attention, etc. Then you are "in
conversation": i.e. the status line changes to "Room (talking to <NPC>)". While
in conversation:

- you end it through a "bye", or the NPC may disengage herself: say, you gave
her something to do or helped in some way, or you offended her, etc.

- normal commands are now orders to the NPC rather than the PC (because you are
"facing"
her, not on "your own" anymore): go north then wait, open the cupboard, sit
down, etc. (To command the PC, then, you have to resort to "me, sit down".)

- some additional 'actions' are also applicable:

what (about) X ? (is the "ask about X" outside conversation)
who is X ? (synonym)

know X ? (same as "tell about X")
about X (idem)

how to/where/when/whose is X ? (other possible ways to get information)


As Jim said, it's not really a whole different system, but IMO it's a more
IF-like and natural way to "run" a conversation than menus or a series of
ASK/TELL (which don't give a sense of "continuity", as if NPCs were just passive
things you can interact when you like and ignore when you want to do other
things in the room).
I said "IF-like" because to me "what X?" (or "what about X?" / "who is X?")
could be regarded as what "examine X" is to descriptions.


--
Emiliano

kodrik

unread,
Apr 24, 2002, 10:12:24 PM4/24/02
to
> That's a very good idea indeed.
> The thing is, it could work the same way as IF conventions already dictate
> for what we can interact in a game. We find the things we can examine,
> manipulate, etc, in the descriptions of places and things. Likewise, we
> can ask/talk about things the NPC said or the PC "thought". And they don't
> need to be highlighted, just as the objects implemented in a game don't
> come highlighted in the descriptions.

It doesn't work the same way because examining an object doesn't give you
more objects to examine while keeping all the objects you can examine,
which each of them upon examination give you more objects to examine.
It's like if you went to another room, you just added this room to yoru
current room, and so on and so on.

This is the case with the discussion system and it is why some words need
to be highlighted. If you took every word into account, the possibilities
would be too great, there needs to be a guide within the sentence.

Also, when you are in conversation, you cannot interact with other object
until you leave the conversation.

Emiliano G. Padilha

unread,
Apr 25, 2002, 4:06:40 PM4/25/02
to
Sorry,
I meant that "what X" could be regarded as the "examine.." of conversation.
And yes, examining objects quite often reveal other objects to manipulate (annoyingly too
much in some games).


Here's an example, I was thinking along these lines:


John's Office
A small but tidy place, with a desk and piles of papers everywhere.
John is here, working on his computer. He appears somewhat agitated.

> x desk
John's desk is cluttered with hastily hand-written sheets and piles of unrelated papers.
There's also a compiler diskette over there."

> talk to john
"Hi, John! How are you doing?"
His expression is worried: "I'm almost F***INISHED!! I need to complete this IF game in
half an hour,
or my boss will kill me!"

> what game
"I don't have a name yet! That's another problem.
First, I need to ask Dennis for the compiler, I don't know how to use it."

> what hour
"I don't know what you are talking about." [ hum, word not implemented ]

> what boss
"THE boss! He appeared today, and said everyone must show results: the deadlines are
coming!"

> what deadlines
"For the IF competition man, didn't you know?"

> what dennis [ could be "who is dennis" ]
"The system administrator: he knows everything about computers."

> what system
"I don't know what you are talking about."

> where is dennis and boss
"Dennis is upstairs in the network control."
"My boss is probably on the living room reading the newspapers or harassing the
receptionist."

> what receptionist
"Suzy, she is new, but quite a nice person to talk to."

> take compiler diskette
"Ok, but I still don't know how it works. Need to ask Dennis."

> insert diskette in computer
"Oh, you're gonna help me? Thanks! Okaaay... nothing happens."

> turn off computer then turn it on
John turns his computer off. "So what I do now??"
John turns his computer on. After a couple of minutes of whizz and whirls, it boots and
loads the IF compiler on the diskette, showing the message: "Error #245, memory leak.
Press RETURN"

>x computer
"It's a normal XYZP model, with a standard keyboard.", says John.

>x keyboard
"The common type, with all sorts of keys, including ESC, DELETE and RETURN.", says John.

> press return
John presses the RETURN key. The computer finally runs the compiler. "Hum, it's the XYZS
compiler", you think, that's the best one for him. It's pretty straightforward, you have
used it yourself several times. The compiler is currently asking a game name to be typed.
"Okay, I still don't have a name, but I'll figure it out. Thanks very much! You helped a
lot. Ah, and have a nice day!!!"
He turns back to his sheets of hand-written code and resumes his frantic work.

> type xyzzy
"No, don't type anything in my computer! Please, I'm very busy right now... Unless you can
figure out a good name."

> hi
"Hi, look I'm very busy right now... Unless you can figure out a good name."

> type xyzzy
"No that's not a good name. I don't even know how to pronounce it!!"

> type memory leak
"No that's not a good name. I don't even know how to pronounce it!!" [oops ;)]

> type finished
"Hey, that one's good!! Atmosferic. Dramatic. ORIGINAL! I'll use, thanks."

[ Your score has increased by 2 points. ]

> know the xyzs compiler [ same as "tell john about .." ]
You tell John about the XYZS compiler. After a couple of explanations, you feel he's
going to be FINISHED in no time! He's is in bliss, delighted by your help.

[ Your score has increased by 2 points. ]

> bye
"Hey, thanks once again!"

>x computer
It's a normal XYZP model, with a standard keyboard.
...

--
Emiliano

TheCycoONE

unread,
Apr 26, 2002, 10:53:05 PM4/26/02
to

"atholbrose" <cinn...@one.net> wrote in message
news:Xns91F82BE2518D...@209.249.90.101...

Yes, it's been used in a lot of early CRPG's, (the mid Ultima series, and
almost everything made for ACK as examples,) before point and click menu
conversation became popular. If you don't want to give things away so
easily one doesn't have to highlight important words; they should look
important without any special formatting. (At least they do in Ultima V)
No real expansion of the current system is needed, only a standard set of
topics for every NPC which would lead you into their particular key words.
(Perhaps: Job, Health, Name, as in the early Ultima games.) Entering a
conversation mode may be convenient, and libraries are already available to
do that under the most popular systems.

TheCycoONE
cyc...@hotmail.com

Reply all
Reply to author
Forward
0 new messages