Project Wish  
Project Wish
Project Wish
hardwired

Welcome Guest ( Log In | Register )

 
Closed TopicStart new topic
> NPC requirements
Fuinelen
post Mar 15 2005, 09:05 PM
Post #1


Seasoned User
***

Group: Members
Posts: 65
Joined: 13-January 05
Member No.: 223



(again shmelessly ripping most of this from one of Sil's threads:P
NPCs is a broad and general topic, and one that is important to the enjoyment of a MMOG to many people. Like the other major topics, there have been no decisions about it even being in, but the odds of PW not including NPCs of some kind is probably not good enough to go betting on.

The goal if this thread is to settle on the basics of NPCs. How should they act? How does the player interact with them? How ~intelligent~ should they be? What should be their purpose?

All of these questions and other general NPC topics should be discussed in this thread.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Fuinelen
post Mar 15 2005, 09:48 PM
Post #2


Seasoned User
***

Group: Members
Posts: 65
Joined: 13-January 05
Member No.: 223



NPCs are mostly relegated to the role of coca cola vending machines in RPGs (on- and offline) nowadays. It's a "press the right button and get your reward" affair.

I'd like to see NPCs which act and react as much as possible like a player for a change. Actually, in my perfect world, NPCs should not be recognizable from PCs until after an extended discussion. While this is technically not possible, there are things that can be more or less easily implemented that would make NPCs much more interesting.


there are three classes of NPCs :
shop-owner/crafter, from which you can buy stuff or to which you can sell stuff to.
quest NPCS, who have an active part in (static or dynamic) quests
crowd, who don't have any specific function but to fill the world.
Of course, shop-owners can also be quest NPCs.


Shop owners should open and close their shop according to a regular schedule (with shops having different schedules so that there is always a shop of each type open somewhere).
NPCs should wander around the towns and the countryside, ~talk~ to each other, and basically doing their thing ... perhaps even have an habitation to which they return comes the night.


talking to NPCs shouldn't be a matter of clicking on dialogue lines. I'd like to see chatterboxes instead. If you want to talk to an NPC, you type your text as you would if you talked to another player. Using a concept-based semantic approach (tm:P, which can be done by using databases like Wordnet () the devs don't have to enter every single possible keyword, but can limit themselves to concepts for most things.


if we have different factions in PW, NPCs should react differently depending on the player's standing toward different factions. Additionally, NPCs should have personal feelings toward each player depending on the way they are/were treated by this player in the past (rude answers on the player's part should decrease it's standing with this particular NPC). Each NPC should also have a different personality, which have an influence on the way it reacts to players.

if we can implement those requirements, I think we would have a living world, in which NPCs are perhaps not as interesting as players, but at least much more interesting than in any MMORPG today (and most RPGs too). Please keep in mind that, although it sounds like I want a full fledged AI, all I'm talking about is to merely implement intelligent-seeming agents. In the end, it's just a matter of checking a few variables for the mood, setting a current goal (going home, selling, whatever) and then checking for predefined key-concepts and keywords in the sentence uttered by the player and looking in a database for a fitting answer.

bbye,
Fuinelen
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Frith-Rae
post Mar 16 2005, 11:39 AM
Post #3


Newbie
*

Group: Members
Posts: 19
Joined: 11-January 05
Member No.: 132



don't click ... TALk

talking to NPCs shouldn't be a matter of clicking on dialogue lines. I'd like to see chatterboxes instead. If you want to talk to an NPC, you type your text as you would if you talked to another player. Using a concept-based semantic approach (tm:P, which can be done by using databases like Wordnet () the devs don't have to enter every single possible keyword, but can limit themselves to concepts for most things.




Actually this is the one part I greatly disagree with.

As many of you did, we grew up on text based adventures - personally I have found little in the world since then that is half as frustrating as figuring out 245 different ways I can say "put the key in the lock" in order to get it to work.

Planeshift is doing this right now with their NPCs - you have to say certain keywords to get the information you want from the NPC - wether that be geting a quest, turning in your things at the end of the quest, etc. And its frustrating. Not only do you have no idea if you're missing any lore or history about a place by trying to figure out the right key words to put in the right order to talk to an NPC anywhere (or if they even have any lore or quest to give you), but then figuring out how to "return" the quest item they sent you for is equally as frustrating.

I really don't think this adds anything to "immersion". Trying to phrase "Bob needs more money" (as one quest I had sent me to buy something, and the guy who was selling it raised the price, so I had to return to the first NPC and tell them they wanted more money) takes you OUT of the RPG experience - because you're typing the same thing 10 different ways and not getting anywhere.

I think it might be too complicated to program the NPcs so that no mater how you put something it would understand, and anything short of that and you've got chatscreens and chat screens full of trying to communicate a single sentence.

I really don't think this is helpful. I don't feel this immerses one - perhaps it would if any phrase you put in for "getting a quest" or "getting information" would trigger the NPC to give you the information/quest/reward you were looking for without having to sit there thinking up phrases - *would* be a good thing. But if we're already talking about spending less dev time on creating anything but a human race - this isn't where I want that dev time to go.

I think clickable phrases would be fine, if you want to have something other than "right click get information". But trying to have a conversation with an AI.... I'd rather see the dev time spent on having more than one race :).

However - I do like NPCs moving around, patrolling, looking like they are alive and the other suggestions.

Frith-Rae


--------------------
Frith-Rae BridgeSol
DragonLady Royale
Proud Officer of Keir Chet K'Eilerten - Horizons
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
emeraven
post Mar 16 2005, 01:00 PM
Post #4


Long Winded
*******

Group: Members
Posts: 370
Joined: 11-January 05
Member No.: 8



Yes I would agree with you Fithe but that is a case of a bad script, not a fault of the idea itself. What we would like is for the NPC to understand you easily without figuring out the exact script that was entered into the script.

NPC should be able to understand yes, and no, and it should take answers in a variety of ways. In your examble it should have taken, bob wants more money, or Look, I went to him he wants more. If the npc was unsure it should ask you questions, like, do you mean bob?

Basically it would be nice to have a little interaction instead of the vending machine mentality of npc design. But only if it works for most people. It should be easy to use, and you have pointed out one flaw to look for, thank you :)


--------------------
No longer on the project.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
silmaril
post Mar 16 2005, 04:22 PM
Post #5


Master
******

Group: Members
Posts: 287
Joined: 11-January 05
Member No.: 27



Techniques for doing this is certainly possible today, but it requires a lot of processing and a huge database. What would be needed (as I see it) to work, would be a giant ontology over the English language as well as some natural language processing.

Some examples of what would be needed:

All words would have to be reduced to their base forms, removing postfixes and prefixes.
An ontology showing relationships such as "equal" (cash, credits, gold, money all mean the same thing).
Additional natural language processing. This would discover relationships such as "Bob is poor" => "Bob doesn'have money".

An probably some more as well. There is a lot of research going on in this area, and I would think it would be possible to work well enough for a game today, even though it would not be possible to cover all relationships and it would still be some cases where you would search for the "correct" line.

Most ontology tools today have a human step involved as well when searching through documents to create automated ontologies. It is obvious that that isn't possible for NPC conversations in a game, so it would lead to some "Sorry, I don't know what you mean" replies.

The problem is storage space and processing time. With the amount of NPC/player conversation a MMOG got, I doubt it is feasable to provide the computing power to do it. It would be both too expensive and too time consuming.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Jerky
post Mar 16 2005, 05:33 PM
Post #6


Former PW Project Manager
**********

Group: PW Admin
Posts: 1,610
Joined: 11-January 05
From: Dallas, GA
Member No.: 62



Aside from the limitations that Silmaril brings to light, I disagree with typing as well. If we are trying for realism/immersion, in reality you do not have to think and type and double check for error. I know I am not alone in the fact that I can type fast but I still need to look at the keyboard every once in a while to get my bearings again. I mistype/misspell things often and this would completely suck in a game if I had to try something multiple times just because of my fingers mistyping something. Clicking on an answer is closer to how you would do it in real life anyways. Let me explain. When you hear something and want to respond, you brain already has the answer or speaks as it goes. Anyone fluent in more than one language (and had to learn the the extra language through study/practice and not from growing up speaking multiple languages) knows that sentence formulation happens on the fly. When you cannot quite think in another language, this is like trying to hammer it out on a keyboard. When you are fluent, it just comes out and there is no forethought. That is why clicking an answer is closer to reality. As you read the NPC's text, you think of your response and by the time you are done reading, you are ready to respond. I for one do not want to have a game where I have to try to read the keys on my keyboard just to get by (and I like to play games with the lights off in the dark). There are other options, and this could be one to add as an option, but both need to be there. If there are enough people that want to type, let them. It is not for me though. I played Hero's Quest (Quest for Glory) and that was enough guessing for me (as to how to get the information I needed. "Who is that?" "Who is Spielsberg?" "Who is spelsburg?" "Who is Spielsburg?" etc. Get the point?)

Now as far as NPCs go, I agree that they need to have routines and rules. They need to act like PC's. Even if that means that the master smith goes to bed at night and his daughter takes over sales at night (or his apprentice). At least he goes to bed. That in itself adds to realism. There are ways to add realism without hurting the players(and their schedules).

Dynamic questing and NPC realism. This is a couple of ideas I came up with while talking with the world team. I will just cut/paste from what I typed to them before:
"1)When an NPC vendor is going about his task (carpenter going to the
saw horse), whatever that task may be, it should effect his inventory
(ie. He should actually be making something that is added to his
buyable inventory). This is the most basic of all things that can be
added to make things more immersive; meaning, there is much more
realism to add, this is just the first step.
2)Custom(unlimited) Quests. Say you like to sword fight, and that is
your skill of choice. So you go to your local trainer, but not to
train. You ask if he knows where/how to better your skill. He then
asks you a bunch of questions based on what you really want. (ie.
*sword fighting, axe fighting, hand to hand. *how difficult (how
much danger)do you want it to be. *Do you plan on going with
friends/group. *how far do you want to travel. *what kind of enemy
do you want to fight). After you answer the questions, based on his
knowledge of the surrounding areas, he give you one choice or many.
This AI algorithm is based on radius (like most mob's attacks are),
but in a different way. Based on the skill sets you chose, the
server's databse narrows the choices down and, because it knows where
the mobs are, and what you want....et viola! Custom quest created.
Now this can be done for any trainer for any skill with much
variation. I think this can take away the mundane quests (go fetch
this for me, go kill these things and bring me this) and replace them
with dynamic ones.
This could also be done with custom loot. Say you go and say that
you are trying to find something of value, or something unique, the
NPC can answer like he heard some rumors about something, but based
on what is really in the game, you get a quest (that would have to be
a little vague (so as not to be repeated too many times and be abused
for cool loot)) that is unique and dynamic. There is a LOT that can
be added to either of these ideas, so get it started!!!!"

Well, that shouuld give you all something to chew on for now.


--------------------
Erik Briggs (Jerky)
Project Manager
My Blog
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Pashta
post Mar 22 2005, 09:06 AM
Post #7


Seasoned User
***

Group: Members
Posts: 64
Joined: 13-January 05
From: Ohio
Member No.: 259



I believe the solution here would be to have a few keywords that npcs respond to. Like if you say "hello" or "hello bob" to an npc they will respond in kind, but in a popup window with other conversation options. The keywords could be hello, quest, where is, buy, sell, view, etc. which will all pop up the menu.

I think this is a great compromise.


--------------------
-Lady Pashta
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Phoenix
post Apr 7 2005, 03:00 PM
Post #8


Familiar Face
**

Group: Members
Posts: 43
Joined: 16-March 05
Member No.: 494



i think we should have guard npc which defend towns from attack or case thives etc etc
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Sirholmes
post Apr 11 2005, 11:33 AM
Post #9


Familiar Face
**

Group: Members
Posts: 25
Joined: 2-February 05
Member No.: 461



could we have a system that uses a combination of both depending on what type of NPC you are dealing with. Guards, are simple What do you need? and player chooses answer. To Quest NPC's giving unique quests to player as they answer questions. And more interaction with vendors/crafters ect.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Minthos
post Apr 15 2005, 10:20 PM
Post #10


PW Programmer
******

Group: PW Developer
Posts: 316
Joined: 12-January 05
Member No.: 198



Well, you could create a "possible connection", and next time that string is recognized, the npc will ask "Do you mean (blahblahblah)?", or something like that.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
nero5684
post May 27 2005, 01:25 PM
Post #11


Newbie
*

Group: Members
Posts: 3
Joined: 27-May 05
Member No.: 511



Expanding on what Jerky said about NPC professions I was thinking something like this:

Say a PC sales ore to a blacksmith. The blacksmith should go about smelting the ore into ingots, and adding those to his inventory. If he's low on a predetermined tool, such as a shovel, (I think that NPC shop owners should have a basic list of tools they can create, leaving the larger variety of tool making to PCs) then if he has the right amount of metal ingots and and lumber, then he should go about creating shovels up to a maximum inventory of say 5.

I also think NPCs should follow day/night cycles, and while it could be frustrating, I don't think they should be open between certain hours in the night. This is why: When the shops close down for the night, a black market can open up. PCs can sell or buy every type of item at blackmarkets (especially items that have been outlawed or are stolen property) The items available here would follow the standard supply/demand ratio for determining prices, but also have an added amount due to the nature of the business, so say 5% added to the cost of items available.

Another type of NPC I think should be added would be apprentices. They could gather needed resources and runs errands for PCs and NPC shop owners. So if a NPC is low on needed resources they can send the apprentice out to gather some, or to other NPCs in the city who may have the required resource. They?d have a static, uniform, maximum weight limit, as well as a spending limit, as well as be limited to a certain distance around the town to gather. Also PC shop owners (if we have the ability to build our own shops) could hire apprentices to gather resources and construct tools/medicines/ect through a daily orders system. They could have a set amount of effectiveness per apprentice, so say they can only produce X amount of tools a day if they had all the required resources, and it depended on the difficulty and quality of the tools being made. They also wouldn't be cheap (afterall, they'd be freeing up time for the PC, and time is money)

Well that is some ideas I had. I have more regarding things such as the use of eyesight, smell, and hearing for NPC and mobs, but I think a lot of it has already been mentioned elsewhere, so I'll continue to look around before posting.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Closed TopicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 29th April 2024 - 07:50 PM
Original skin by: b6gm6n | Conversion by: Chris Y
hardwired
  hardwired
hardwired hardwired
hardwired hardwired