My ideas were along the lines of entering "chat mode" whereupon the screen
format would look something like this: (conversation between player
character "Norman" and NPC "Jim")
> chat with jim
<<CHAT MODE -- 'end' to return to normal mode>>
JIM: Hey Norm. How's the case going?
NORMAN> what have you heard about sally?
JIM: Only that she's been throwing a lot of money around lately.
NORMAN> any idea where she's getting it?
JIM: Eddie the nose says she's got a new sugar daddy. [He rolls his eyes]
NORMAN> you don't believe that?
JIM: She's involved in something big this time, Norm.
JIM: No prob man.
<<END CHAT MODE>>
It doesn't have to be an extensive generalized AI chatbot since presumably
only a very limited range of questions would be logical given the context of
the adventure. In fact, the NPC responses could be canned responses given
either in a predefined order, or in an order determined by finding some key
word in the player's question. Or if the player's question cannot be
understood then some intermediate segue into the canned response might
create a passable simulacrum of conversation. For example:
JIM: How's the case going Norm?
NORMAN> I don't know what to say.
JIM: Whatever. I thought you should know, I hear Sally's been throwing
around a lot of money lately.
NORMAN> how do you pronounce xyzzy, jim?
JIM: You not making any sense, Norm. Eddie the nose says she's got a new
sugar daddy. [he rolls his eye]
NORMAN> what is the capitol of Zambia?
JIM: You'd better keep your mind on the case. She's involved in something
big this time, Norm.
NORMAN> what about anna?
JIM: She's clean, Norm. Eddie says Anna's not messed up this thing. I believ
NORMAN> I'll have the spam, spam, eggs bacon and spam
JIM: Look, if you're done playing games, I gotta run. See ya.
<<CHAT MODE ENDED BY JIM>>
Jim leaves by the south door.
Now if the player "plays along" and makes a reasonable effort to stay on
topic the responses can be picked to match the occurance of some keyword in
the players chat input. But if the player chooses to be ridiculous the NPC
will still try to impart the information and make it appear that a real
conversation is taking place. All it takes is a reasonable amount of
sincerity on the part of the player, and the mention of one or more of the
key words (would should be set up by the preceeding events) to trigger the
responses in an appropriate order.
I'm going to try some experiments to see if I can come up with something
that would pass for conversation within a limited game context. If I get
some interesting results (or even if it fails miserably) I'll post some
results here in case anybody's interested. But it seems to me that something
along these lines would be a lot easier than a real chatbot, and probably a
lot more convincing within the game context.
Te audire no possum.
Musa sapientum fixa est in aure.
I really like the way Everquest deals with conversations:
>hello (brings you in chat mode, but you could replace it with talk)
A message appears from the NPC:
>Have you heard about the terrible <i>orcs</i>. They defeated the
><i>pixes</i> with the help of <i>Agaaut</i> in the <i>valley of
>groping</i> and his <i>Coltog amulet</i>
You can then inquire about everythig that is italized (it could be colored
So you know you can probably ask:
>Who are the orcs?
>Who are the pixies?
>Who is agaaut?
>Where is the valey of groping?
>What is the Coltog amulet?
It is a system that I think works quite well.
Wow, being a long time EQ junky myself I wonder why that didn't occur to me.
Perhaps "Graphic First Person RPG" is stored in a different brain
compartment than "Text Adventure".
But you are right. In HTML TADS (for example) That would be a piece of
cake. Then add a few words of instruction to the player (in case he hadn't
used the system before) and you'd have a pretty decent conversation engine.
On the other hand, it might feel like the player was being forced to say
certain fixed things to trigger the next sequence. In EQ the method was
used to tell the player how to carry out some specific quest. "Take this
box of carrots to the Fool's Gold and then ..." So as long as that final
spurt of info spewed forth the line of questioning was a success.
But in an IF setting you might want to reveal only what the player had the
ingenuity to ask for. To reveal all the possible questions ahead of time
seems like giving too much away, and possibly removing the role of
creativity on the part of the player. His job is reduced to that of
stenographer who's only input is to copy the italic key words.
Maybe there's some happy medium approach that would highlight subjects, but
then allow the user to ask a wider range of questions about those subjects.
Not just the EQ "tell me about the box of carrots?" but something more
specific like "When was the last time you saw Mr. Grimes alive?"
That would be harder to implement but might be better for the more
open-ended nature of IF.
What you could do is have options for different questions, so giving just
the word doesn;t give up the question.
If you have:
>when the great <i>Kodrik</i> defeated the <i>Orc king</i>, the village was
You could have many possible questions:
* How did kodrik defeat the orc king?
* Who is kodrik?
* Where can I find Kodrik?
* When did Kodrik defeat the Orc King
* Why is Kodrik so great?
* What is Kodrik's weakness?
Try to make your dialog have many branches with the same keyword.
I think an IF adventure doesn't have to be hard to be good, on the
contrary, it has to give you enough guides so it's not frustrating, but not
be too easy so it's challenging.
It is important for this system to work and feel good, to always have the
NPC initiate the conversation (after the "hi") so you can have your guides.
Emily Short's games, particularly _Best of Three_ from the last comp,
are generally heavily focused on long-term, realistic-NPC
conversations. They handle, to varying degrees, a conversation
interface, topic segues, new-topic introduction, NPCs initiating
conversation, etc. This is not to say you shouldn't make up anything
on your own, but it's probably worth your while to look at the current
state-of-the-art and start work from there.
Dan Shiovitz :: d...@cs.wisc.edu :: http://www.drizzle.com/~dans
"He settled down to dictate a letter to the Consolidated Nailfile and
Eyebrow Tweezer Corporation of Scranton, Pa., which would make them
realize that life is stern and earnest and Nailfile and Eyebrow Tweezer
Corporations are not put in this world for pleasure alone." -PGW
> So you know you can probably ask:
> >Who are the orcs?
> >Who are the pixies?
> >Who is agaaut?
> >Where is the valey of groping?
> >What is the Coltog amulet?
In Ultima 5 and 6, the above would be more like
Have you heard about the terrible orcs? They defeated the pixies
with the help of Agaaut in the valley of groping and his Coltog amulet.
and the player might ask the person 'orcs', 'pixies', 'Agaaut', etc.
The keywords aren't made obvious, and the NPC responds to keywords.
This worked pretty well for those games, and is similar anyway to much
IF -- except that the Ultima games had hundreds of NPCs you can talk
to and a large world. It didn't matter that walking up to people
and mechanically picking out keywords or asking standard questions (name?
job?) would let you pick them pretty much clean, because the challenge
was really in traversing the world and connecting things together.
The only thing you'd need to exactly duplicate this system in a typical
inform game, though, is a standard way to get information from a person.
You see a policeman here.
>ASK POLICEMAN ABOUT JOB
"Oh? Well... it stinks. Every other night Mr. Watlson is robbing another
bank, and I... well, nevermind."
The policeman looks upset.
>ASK POLICEMAN ABOUT WATLSON
"That little bas-- well, I don't want to talk about him. Move along."
>ASK POLICEMAN ABOUT NAME
"Oh? Huhn. I'm Grundy. And you are?"
>ANSWER FELIX THE CAT
"Nice to meet you. Move along."
Or have a command like 'GREET POLICEMAN' that'd give some information.
So long as talking to someone doesn't become like a game of 'Guess the
With *most* of the current IF I have seen TALK is the way you start a
conversation with the NPC, so you would have to let the player know some how
to use hello or hail.
Maybe when you enter a location where the NPC (Jim) is he would say
something to let the player know this such as "Hello" or "Hail", or the game
could just automatically put you into a conversation.
You have just entered the Moon Light Cafe'. Not much of a crowd here at
this time of the morning, although you do spot your friend Jim here. Jim
walks over to greet you.
JIM: Hello Norman, haven't seen you around in the last couple of days that
new case must be keeping you busy. Did you hear the latest on Sally?
NORMAN>no what have you heard about sally?
JIM: Only that she's been throwing a lot of money around lately.
and so on.
Of course you could program that so that it only happens in with certain
NPC's and possibly in only certain locations if you like.
> If you have:
> >when the great <i>Kodrik</i> defeated the <i>Orc king</i>, the village was
> You could have many possible questions:
> * How did kodrik defeat the orc king?
> * Who is kodrik?
> * Where can I find Kodrik?
> * When did Kodrik defeat the Orc King
> * Why is Kodrik so great?
> * What is Kodrik's weakness?
> Try to make your dialog have many branches with the same keyword.
> I think an IF adventure doesn't have to be hard to be good, on the
> contrary, it has to give you enough guides so it's not frustrating, but not
> be too easy so it's challenging.
I personally feel that all the available commands the player can use
should be known to the player. I can't think of any other game where
the player is left to discover the moves he or she can make. I don't
believe in giving the illusion that the game understands more than it
does. For example, I am quite happy to limit conversation with
characters to 'talk to x', 'tell x about y', and 'ask x about y'. With
this system, the italics wouldn't be necessary because it would be
possible to code a response for 'tell' and 'ask' for every object
If telling the player absolutely every verb they can use gives the
solution to a puzzle away then it is a bad puzzle (IMHO).
I guess the 'Use' competition was an extreme example of how far this
can be taken. I watch a lot of people who are not into IF play my
games online. They do a lot of walking around (because the exits are
hyperlinks), but very little typed interaction. And every person who
gets three 'can't use that word' errors in a row logs off.
I know this is getting a bit off topic, but I personally think clever
use of a small vocabulary is the way to make a game fun to play. Too
much IF these days is written for people who are already very good at
playing IF. It is my plan to make my next game solveable using a
point-and-click interface, with the option to swap to a standard IF
interface. The point-and-click interface will be the default, as the
newbie will be able to get into the game straight away, while the
expert will be comfortable with configuring the interface to their
I also hope that once a new player uses the point-and-click interface
for a while, they will get the feel for the types of commands they can
use and eventually make the transition to the IF interface for its
greater flexibility. Point-and-click is a training tool.
Point-and-click is our friend. ;)
This sounds like the system Doe used for Carma, which I thought worked