Jump to content


Photo

NPC's


  • Please log in to reply
10 replies to this topic

#1 Drackir

Drackir

    Admin/Project Leader

  • Admin
  • PipPipPipPip
  • 1,519 posts
  • Gender:Male
  • Location:Canada

Posted 13 January 2006 - 02:32 AM

Nalyid brought to my attention that when you speak to NPC's in Runescape you are given multiple options with which to reply to them. Now, the game currently doesn't even allow you to answer the NPC's and offers very minimal interaction between the players and the NPC's. So the question then becomes, how do we implement, or rather how would you (the players) like to see us implement, the NPC interaction system. I would also like to find someone/some people that are willing to write NPC's dialogue/design quests/etc. If you're interested contact me (there are ways all over).

#2 Caseyweederman

Caseyweederman

    Moderator/Corridors of Time Admin

  • Admin
  • PipPipPipPip
  • 1,147 posts
  • Gender:Male

Posted 13 January 2006 - 07:36 AM

Well, let us think about how we can make this game incredible and fresh and new. All the other games have point and click conversations, so how do we make a standing impression?

Text.
That's right. Text.
In the manner of an oldschool dungeon game.
Go east.
You see a door to the north. There is a passage east. There is a Zorkmid on the floor.
Take the Zorkmid.
You take the Zorkmid.
Unlock the door with the key.
You unlock the door with the key.


Except more like this:
Hello.
Hello. How are you?
Fine, you?
I do not understand the question.
Nevermind. How do I get to the castle of the dragon-king?
I do not understand the question.
The castle of the dragon-king
The castle of the dragon king is a scary place.
How do I get there?
Get where?
The castle of the dragon-king.
The castle of the dragon king is a scary place.
Bah. I'll find it myself.
I do not understand the question.



Admittedly, there are some flaws. I've been thinking though. Do the words have to be in sequence? I'm thinking there would be key words in the sentence of the user that would be searched for (that sentence was really awkwardly put together). By that I mean... One main question word, quest names, greetings etc...
So the speech engine would, in the following case, search and find the following words:
Where is the castle of the dragon-king? ===> "where", "castle of the dragon-king"
Thus the NPC would respond and say "The castle of the dragon-king is the third door on the left."
Examples of words in the standard speech-search at a point like this:
"hello" ==> "Greetings, kind sir(mam), the day is young, the air is fresh, and you are standing on my flowers."
"who" ==> If this is found, stick it with other possible nouns to make the following:
"you" ==> If this is found with "who", then the NPC would say: "I am the good Sir Tankard, and I am the proprietor of this humble tavern."

Example line of code:
if "where" and "castle of the dragon-king" then print "The castle of the dragon-king is the third door on the left.";

if "where" and "lavoratory" or "lou" or "can" or "crapper" or "toilet" or "bathroom" or "washroom" then print "Oh, don't even ask. It's being guarded by Ivan the Terrible Body Odour Gnoll.";

This allows for a lot more freedom. It may take more work, but for the most part it is just copying and pasting, changing a few words and their responses, for example the multiple hot-words for "bathroom". I would recommend the speech engine stops searching after 4 words, meaning it ignores the rest of the sentence. If there are multiple hot-words which conflict ("how who what are dragon-king excretement?"), the NPC would respond like any human ("Excuse me sir, you seem to be suffering a stroke, because I really can't understand you.").

I think this method would nest easily in the normal chat arrangement (ie. the NPCs would show up as bots that speak or something, and the player can initiate a private chat with any of them, and this would allow multiple players to talk to one NPC), and it would also be a lot freer and interesting. Other possibilities to be explored are searching for words not only as they are spelled, but phonetically too (wur ist der kassle of der draygun-king, any of which can be substituted for the real words etc).
Indeed.

sum day ill eat ur cat ricko...


#3 Drackir

Drackir

    Admin/Project Leader

  • Admin
  • PipPipPipPip
  • 1,519 posts
  • Gender:Male
  • Location:Canada

Posted 13 January 2006 - 12:38 PM

It is an interesting idea that I have considered before. Implementing it is the problem. For example, if we were to do it like that, each NPC would have to have it's own code. How do we implement it without doing that? By creating generic functions to plug the NPC's info into which would still limit the amount of stuff that could be said. It's possible, seeing as I'm drawing up a way to do it in my head, but the main problem with doing things this way is that, as you mentioned, the user will get the good old "I do not understand the question." thing so much that they will get bored. It will be a novelty until they can't figure something out, if you know what I mean. Implemented and planned correctly, it could work. Maybe we could do both a point and click and a text recognition engine type deal. We shall see! :D

#4 Nalyid

Nalyid

    Padawan Mapper

  • Game Staff
  • PipPipPip
  • 227 posts
  • Location:Canada...the great Canadian place..

Posted 14 January 2006 - 05:40 AM

I really like that talking bot idea...I think a little too much...I must go now...for reasons ;)

#5 Drackir

Drackir

    Admin/Project Leader

  • Admin
  • PipPipPipPip
  • 1,519 posts
  • Gender:Male
  • Location:Canada

Posted 14 January 2006 - 08:50 AM

You just want to be able to hit on the NPC's. Fool!

#6 Caseyweederman

Caseyweederman

    Moderator/Corridors of Time Admin

  • Admin
  • PipPipPipPip
  • 1,147 posts
  • Gender:Male

Posted 14 January 2006 - 04:45 PM

Gweheheh. Funny.
Well, I'm thinking there could be one main repository of responses that everybody says, for example "You leave my mother out of this!" and such. Then each individual npc could have their own vocalizations for their specific tasks. This would prevent overlap.

Also, to keep up with user interests, you could program it to record every use question that returns the "I do not understand the question" into a secondary file. Every once in a while someone could quickly skim through this file, root out the reasonable ones and add new rosponses or new key words for old responses.

Thinking more on the one main "repository" of responses, there could be several which target specific npc character types and behaviors. For example, there could be "male specific", "female specific", "rude", "quest *.*", etc.

There would also be multi-layered conversations, where the npc would search for only certain words, and respond again. "Help!"; "What do you need help with?"; "My hair."; "How can I help you with your hair?"; "You can give me a freaking perm, you stupid idiot npc."; "I'd love to give you a perm, Please have a seat."
Or something. Hm.

sum day ill eat ur cat ricko...


#7 Drackir

Drackir

    Admin/Project Leader

  • Admin
  • PipPipPipPip
  • 1,519 posts
  • Gender:Male
  • Location:Canada

Posted 15 January 2006 - 01:14 PM

Yeah. Good idea. I was thinking something like that, a file with a bunch of responses. Kinda like how over time I add more replies to Dracky's reply list as people find new ones that I haven't added.

#8 Faselei

Faselei

    Fondusian

  • Beta Testers
  • PipPipPip
  • 230 posts

Posted 16 January 2006 - 05:26 PM

If you successfully implement this, i have no doubt you will be offered a job by Ncsoft or SOE or someone... at least i'd hope so, sounds very difficult.

Btw, i'd like to just say how refreshing it is to see decent spelling and grammar :biggrin:

Don't post here ever again.

Posted Image

#9 Drackir

Drackir

    Admin/Project Leader

  • Admin
  • PipPipPipPip
  • 1,519 posts
  • Gender:Male
  • Location:Canada

Posted 17 January 2006 - 03:26 AM

Bah. It's not that hard to implement. More annoying than anything. The real problem is keeping it accurate and fast. Wouldn't want the server being bogged down cause two people are talking to NPC's would we!? :P

Yeah, it occaisionally happens on the net. Just not very much! :P

#10 Caseyweederman

Caseyweederman

    Moderator/Corridors of Time Admin

  • Admin
  • PipPipPipPip
  • 1,147 posts
  • Gender:Male

Posted 17 January 2006 - 07:38 AM

Hm... Would it take up that many more resources to load the speech file on two different users' computers? Text is very small, no? Even just uncompressing it along with sprites and other data.


I had the idea that if two people were talking to the same NPC, they would both have their own private insulated conversation, and possibly extend that to the local area chat (however that goes) by printing out the responses. So the conversation actually all occurs on the client, and is then dumped to the server. Just like normal user actions.

sum day ill eat ur cat ricko...


#11 Drackir

Drackir

    Admin/Project Leader

  • Admin
  • PipPipPipPip
  • 1,519 posts
  • Gender:Male
  • Location:Canada

Posted 17 January 2006 - 04:23 PM

It's not the text file. It's all the checks that would have to be done to have a *good* speech engine. I don't know, I'll have to think through it a little more.

The second part is a good idea but leaves room for the players to screw with things. There was a problem with Deloria and someone haxoring it. I will be implementing things to stop that but still better to be safe than sorry. It may be possible if I split the server like I want to but yeah anyways, we'll see what happens!




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users