Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

Wavinator

All dressed up and nothing to say...

This topic is 5985 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

But wait, following some of these suggestions we would have missed out on the best line of dialogue ever in an RPG:

"I''m selling tomatoes." (Courtesy Dragon Warrior 1 and Nintendo, who changed the original sexually suggestive Japanese line)

-------------------

There isn''t any problem with "irrelevant" conversations as long as they are short and interesting in some fashion. Take for example Golden Sun for the GBA. In that you can talk to people and also read their minds. There is a lot of interesting humor that comes from the differences between what people *say* and what they actually think, but almost none of it is relevant to your actual mission.

The problem I see is when the people don''t add any flavor OR say anything relevant most of the time, but you feel compelled to talk to everyone in case you miss something. In many games it feels like a chore to walk around town talking to everybody just so you don''t miss out on some tidbit.

So, as the number of people in town grows it has to become clear which people you *have* to talk to. Maybe give them a mark over their head if they have something important to say, or give them a portrait or something. I think the thing you want to avoid is having people wade through meaningless conversation after conversation.

I think people are missing on of the points of NPCs. It isn''t just talking, it''s looking alive. If you don''t believe this go track down Gdleen for the Super Famicom. In the towns nobody moves, they just stand perfectly still. It is *really* eerie and strange. (I think it was intentional) Having a dog running around that says "arf arf" when you talk to it adds vitality, but obviously doesn''t add to the backstory or drop clues or whatever.

Furthermore, I would stay way from saying things like "I''ll just have every NPC able to talk about 50 different things using advanced AI algorithms, and tailor their responses to the current game state..." Yeah, you *could* do that, but how much value-added is there compared to the work it would take? Spending a lot of time and resources on some amazing conversation engine seems like a waste unless conversation is going to be a main point of the game. Essentially that solution is "I''ll just spend a lot more resources and make it better!" Which is valid, but how feasible/desireable is that? It''s a lot easier to just script people better than develop crazy AI schemes.


Share this post


Link to post
Share on other sites
Advertisement
I like short and potentially irrelevant (I think its irrelevant at the time but latter on I realize it wasn’t). There’s also the comical one liners found in the ff series. I have no problem with the repetitive default msg. Like after you have probed the shop keeper for all the info all he will say is “go away”, or “I have to get back to work”.

Share this post


Link to post
Share on other sites
quote:
Original post by berserk
I suppose one could make a parser that analyzes what player types in, sort of like a search engine. That has its own problems. Can you think of better approaches or should I pursue the parser idea?

a.) Pursue the parse idea.
b.) Use a point-and-click sentence builder. Click on a person (subject), click on another person or object (sentence object), click on a verb (ask, say, tell, whatever) and click on a specific property of the object. Generate NPC response.

I like b used in conjunction with a, so experienced/hardcore gamers gain the speed of the commandline while relative newbs get to use a semi-intuitive point and click interface.

[ GDNet Start Here | GDNet Search Tool | GDNet FAQ ]
[ MS RTFM [MSDN] | SGI STL Docs | Boost ]
[ Google! | Asking Smart Questions | Jargon File ]
Thanks to Kylotan for the idea!

Share this post


Link to post
Share on other sites
I got a few other things that interest me:

Assume a 3D game with 1st point of view. Assume it''s multiplayer and several people are able to hear conversations between others if they are close enough. What should happen when several players attempt to talk to the same NPC at the same time?

I would like to find an alternative to having NPCs "multitask" conversations (like in Diablo), I want a more realistic approach.
NPC would queue a question and respond when he''s done answering to another player. It would also be possible to interrupt conversations.

Do you think it''s any good?

Share this post


Link to post
Share on other sites
quote:
Original post by berserk
Assume a 3D game with 1st point of view. Assume it''s multiplayer and several people are able to hear conversations between others if they are close enough. What should happen when several players attempt to talk to the same NPC at the same time?

He should tell others (the ones butting in) to wait their turn unless it''s very important (or the interrupting party has higher social status than the original conversant).

If I was a Lord and came across a blacksmith conversing with a farmer, if he told me to wait until he was done with the farmer, he''d be tied to a stake before the words left his mouth!

[ GDNet Start Here | GDNet Search Tool | GDNet FAQ ]
[ MS RTFM [MSDN] | SGI STL Docs | Boost ]
[ Google! | Asking Smart Questions | Jargon File ]
Thanks to Kylotan for the idea!

Share this post


Link to post
Share on other sites
There are a few problems with the idea of a parser, graphical or otherwise. One is that in a typical RPG when you press ''A'' or whatever you assumedly ask some normal conversation opener like "what''s up?" Do you want the player to have to type or graphically construct a sentence the first time they meet an NPC, just to get the basic conversation going?

A good example is a shopkeeper. Do I really need to say "what do you have on sale?" It seems at the least there should be a default behavior - if I go to shop 99% of the time I am looking to buy/sell. I would hate to have to drag around verbs and such to do that.

The other problem is not really with a parsing system per se, but a problem a parser is likely to expose. Most NPC''s have nothing noteworthy to say about most items. I would hate to see something like:

PLAYER: "Can you tell me about this ?"
NPC: "Hmm I''m afraid I can''t help you with that."
PLAYER: "Can you tell me about this ?"
NPC: "Hmm I''m afraid I can''t help you with that."
PLAYER: "Have you seen ?"
NPC: "Hmm I can''t say that I have."

In typical games most NPC''s have one useful thing to talk about. A parser would mean just hunting for that one thing. It is rare that your NPC''s will have something useful to say about the majority of things you can ask them, which means you most likely will be just aksing them over and over about everything in your inventory.

A good example of this is a game like Daggerfall. Villagers occasionally had useful things to say about all sorts of things, but usually they didn''t. So if you wanted information you would walk up to one, ask them a bunch of questions, get a bunch of negatives, then go to the next person. Very tedious, when all you really want to do is yell "CAN SOMEBODY TELL ME WHERE THIS FREAKING GUY LIVES ALREADY!" (You could also use different tone''s of voice, but there was no way of knowing which would work best, so it was pointless)

In a way that is why I would say a conversation tree might be better, where you can ask only about relative topics. Then you don''t waste time asking all sorts of questions the person knows nothing about.

Another approach would be to give the players some clue about what the person knows about. A gem dealer might know about gems, the town gossip might have some good info. It might be hard to generalize this to random people in the populace however. Chances are if you just happen on someone you have no idea what they do or don''t know, so you have to just keep asking away.

The only way a parser seems useful to me is if the NPC''s can converse about enough stuff so that a tree of single response is less efficient. If your NPC''s can talk about loads of things a tree might get unweildy. But in a typical game a parser would be silly. How do you know what to ask them about?

The typical game is designed to get you the information/humor/whatever with as little work as possible, at the expense of converstional freedom. If you look at my "I''m selling tomatoes" example, the good thing is you don''t have to reach for 5 minutes to ask the proper question to get the woman to talk about tomatoes. The bad thing is that''s really the whole conversation. I can''t then say "oh, that''s nice. Lovely hair by the way. Could I buy a tomatoe or two?"

The question is really how conversant are your NPCs going to be? Note that is NOT the same as "what interface do you converse with?" You could slap a parser on Final Fantasy and all you would end up with would be a really tedious game. So if you are going to have a parser, conversation has got to be a really major focus of the game. If you are going to have a parser you need a well-developed NPC system that makes it worthwhile. If in reality each NPC just says the same thing as every other NPC, or just knows about 1 or 2 topics, a parser becomes a negative.







quote:
Original post by Oluseyi
[quote]Original post by berserk
I suppose one could make a parser that analyzes what player types in, sort of like a search engine. That has its own problems. Can you think of better approaches or should I pursue the parser idea?

a.) Pursue the parse idea.
b.) Use a point-and-click sentence builder. Click on a person (subject), click on another person or object (sentence object), click on a verb (ask, say, tell, whatever) and click on a specific property of the object. Generate NPC response.


Share this post


Link to post
Share on other sites
quote:
Original post by AnonPoster
A good example is a shopkeeper. Do I really need to say "what do you have on sale?" It seems at the least there should be a default behavior - if I go to shop 99% of the time I am looking to buy/sell. I would hate to have to drag around verbs and such to do that.

You answered your own question. Have default conversational openers handled automatically.

quote:

In typical games most NPC''s have one useful thing to talk about. A parser would mean just hunting for that one thing. It is rare that your NPC''s will have something useful to say about the majority of things you can ask them, which means you most likely will be just aksing them over and over about everything in your inventory.

An intelligent graphical system would only present relevant options, and the text parser could feature an IntelliSense-style popup that lists relevant options in the commandline.

[ GDNet Start Here | GDNet Search Tool | GDNet FAQ ]
[ MS RTFM [MSDN] | SGI STL Docs | Boost ]
[ Google! | Asking Smart Questions | Jargon File ]
Thanks to Kylotan for the idea!

Share this post


Link to post
Share on other sites
quote:
Original post by Oluseyi

You answered your own question. Have default conversational openers handled automatically.



Hmm yes I did, but I sort of meant to in case the orginal poster was reading.



quote:

An intelligent graphical system would only present relevant options, and the text parser could feature an IntelliSense-style popup that lists relevant options in the commandline.



I guess the question then is, how is that really different from a tree or Ultima type thing?

If you know all the relevant subjects because you are presented with some list, why not just go through the list in order, rather than actually creating sentences out of them or whatever? I mean, if I know there are 10 things an NPC will respond to, I''ll just go through and ask about each of those ten things.

(BTW I have no idea if IntelliSense is something you made up or actually refers to something)

My fundamental question would be what is this new conversation engine trying to achieve?

It might be useful to look at something like the old parser based Infocom and other quest games. I think in those games having a parser made sense, because you had *some* idea of what you needed to do, but not the exact specifics. You could still be clever and get interesting answers and tidbits out of things other people might not have asked, but you also had good information about the task at hand.

The thing I think that differentiates that from the typical RPG is that in an RPG often there isn''t a lot of context to clue you in. You walk into a town and there is some guy standing there - that might be literally all you know. As I mentioned in Daggerfall you could speak with different tones and about different subjects, but there was no way to tell which tone would be effective or which subject the person would know about.

It might make sense to perhaps have basic NPC''s follow a tree or just a straight single response and have a few NPCs who are more germane to the plot use a parser. Assumedly you have a better idea what to talk about with those NPCs. I think that is a fundamental problem I am seeing - when you first meet someone how do you know what to talk about?

If you compare once again to old parser games, generally instead of a person you have a room or a situation, and the description describes things you will probably be interested in. I mean, if you walk into a room and the description says "a room with lots of shelves" you might think "look shelf." But if you are playing an RPG and you talk to someone with no description, and whose graphics don''t convey much, you don''t know where to begin.

What might make sense is to have every NPC start with some pre-fab speech that you could then ask about. For example, if some townsperson said "yesterday I though I saw someone sneaking around behind the shed" you might say "where is the shed?" or "show me the shed" or "who was it?" or whatever. Or you might ask about something totally random, or remember someone else telling you something about this person.

Basically what I am saying is that IMO the best way for a parser system to be fun is if you don''t know exactly what to do, but you have a good idea of where to start and what the relevant topics are, at least some of them.

Share this post


Link to post
Share on other sites
quote:
Original post by Oluseyi
An intelligent graphical system would only present relevant options, and the text parser could feature an IntelliSense-style popup that lists relevant options in the commandline.


Don''t you mean AutoComplete? (Then again, you usually say what you mean )

This sounds a little like the way things like the old Lucasarts point-and-click games worked - you build up a ''sentence line'' by clicking on a verb and one or two objects, and then ''execute'' it. It worked pretty well, but as has been said, limits your choice of verbs and objects. It wouldn''t take much more to limit the choice to only those things which are relevant, defeating the point of the system.

An AutoComplete system might be an idea, though, thinking about it. The game has a built-in dictionary. When you start typing, the text shows up with the stuff you typed in one color and the game''s "guess" afterwards. So, I type ''DR'' and the game fills in ''AGON.'' Because the game has guessed my word correctly, I hit space and move onto the next word.

The main advantage of this approach is that while you give the player access to any word in the dictionary, you''re still not giving them unprecedented language access.

(G2G, more later maybe).

Superpig
- saving pigs from untimely fates
- sleeps in a ham-mock at www.thebinaryrefinery.cjb.net

Share this post


Link to post
Share on other sites
quote:
Original post by AnonPoster
I guess the question then is, how is that really different from a tree or Ultima type thing?

For one thing, you don''t have to manually scroll through a tree. Usability improvements = happier users.

For another, it allows you to generally constrain/prompt the user without making the options. I''ll explain in response to the next quote.

quote:
Original post by AnonPoster
If you know all the relevant subjects because you are presented with some list, why not just go through the list in order, rather than actually creating sentences out of them or whatever? I mean, if I know there are 10 things an NPC will respond to, I''ll just go through and ask about each of those ten things.

The system I propose is designed to support "intuition". Say you initiate a conversation with an NPC (and the opening dialog is automatically spoken). You can choose to ask a question and the system will present you with a list of relevant abstract or concrete entities to ask about (ranging from people/places to events) - but only entities that the NPC logically could/would know about. If necessary, you can ask about a specific property of said entity.

How does this improve on selecting from, say, 10 possible questions? You don''t need to prepare specific questions per NPC/knowledge item, and the system scales as you add more NPCs seamlessly. Developer benefits. It also benefits the user by providing a simple yet flexible and robut means of querying anyone in the system about nearly anything - and quickly!

quote:
Original post by AnonPoster
(BTW I have no idea if IntelliSense is something you made up or actually refers to something)

quote:
Original post by superpig
Don''t you mean AutoComplete? (Then again, you usually say what you mean )

IntelliSense is that feature of MS Office and Visual Studio applications that presents parameters, attribute lists or spelling suggestions as you type. AutoComplete enhances/complements IntelliSense by inserting the remaining text of your selection into your document. With respect to this idea, IntelliSense would see text like "ask John Mike''s" and pop up all the possible attributes of Mike (just like when you type "struct_name." in MSVC).

quote:
Original post by AnonPoster
Basically what I am saying is that IMO the best way for a parser system to be fun is if you don''t know exactly what to do, but you have a good idea of where to start and what the relevant topics are, at least some of them.

I concur.

[ GDNet Start Here | GDNet Search Tool | GDNet FAQ ]
[ MS RTFM [MSDN] | SGI STL Docs | Boost ]
[ Google! | Asking Smart Questions | Jargon File ]
Thanks to Kylotan for the idea!

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!