Chattering NPCs
For a while now I've been developing a first person RPG and have now reached a point where I am trying to add a bit of life to the previously dummy like NPCs. A fully functional player to NPC dialogue system is in place, but I would also like to have the NPCs 'chattering' amongst themselves. At its simplest this would be just one NPC 'speaking' one line of text, but at a more complex level I'm thinking of each time an NPC speaks it sends out a message to nearby NPCs seeing if they want to respond so you might end up with a little conversation along the lines of, NPC1: Can I interest you in a real bargain? NPC2: At that price you must be joking! Nothing too difficult there (or at least not if I keep things simple and try not to have conversations any more complex than that). The problem comes from the fact that the NPCs do not have voices - I'm using subtitles as recording speech is not a possibility for the moment at least. Currently the subtitles appear at the base of the screen and with the first person view there is no real indication of who said what. I thought of including speech bubbles billboards above the NPCs or have the NPCs speak a generic gibberish phrase (very Sims-like) so the player gets an idea of where the text is coming from, but this would probably look or sound out of place in the game. I'm working on a talking animation for the NPCs (gesturing arms, etc), but this is not always going to be appropriate (switching from an attacking animation to the polite talk animation to say "I'm going to kill you!" and then switching back?) and for the moment the best general solution I can think of is to include the name of the NPC in the subtitle (as in the example above). Any better ideas?
I think including the name of the NPC in the subtitle is the optimal solution.
Hmm...have you played Sacred? Their NPC's do chatter quite a bit. Their text floats above their heads for a few seconds and then goes away. The information is dynamic too...nothing pertinent, old men harumphing, women fawning, kids calling names...that kind of thing. I thought it was a nice touch.
Tony
Tony
Quote:
Original post by anthemaudio
Hmm...have you played Sacred? Their NPC's do chatter quite a bit. Their text floats above their heads for a few seconds and then goes away. The information is dynamic too...nothing pertinent, old men harumphing, women fawning, kids calling names...that kind of thing. I thought it was a nice touch.
Tony
Not a bad idea at all and something I might try out. Only problem would be that the player wouldn't hear NPCs out of his/her view ... but then what you don't know about you don't miss I suppose. As for the information I'm planning this is fairly dynamic - there are a series of conversation topics (the weather, the prices of things, the general state of the world ...) and a variety of different ways of talking about each topic ... very much along the lines of Sacred by the sound of things. If this works out nicely I might try adding topics that change over time as the player advances through the game ... much trickier to do!
In NwN you have multiple ways:
(1) Very few, important characters have a real sound output of their speech. This is, of course, very expensive.
(2) Some environmental speech (sometimes annoying since too often repeated) is also given as real sound output. This is mostly stuff like like anthemaudio has mentioned. It is played more or less randomly and does not necessarily belong to a person besides the avatar.
(3) Speech (at least if conversating explicitely) is displayed as a floating text above the head of the person. (Like in Sacred as anthemaudio has mentioned.)
(4) Conversation (where you have the ability to answer/react in NwN) has its own kind of window (letting you pick one of a couple of possible answers/questions/reactions).
(5) Conversation is recorded, so that you could look into another special kind of overlay window if you have missed or forgotten something. This window is vertically resizeable allowing it be shrinked down to nothing else the window bar.
With such a system people in the near (also behind you) could call you (real sound) to make you attentive, could conservate with you, and you are able to remember already completed conversation. However, you still do not notice of NPC to NPC conversation behind you (since still totally textual).
(1) Very few, important characters have a real sound output of their speech. This is, of course, very expensive.
(2) Some environmental speech (sometimes annoying since too often repeated) is also given as real sound output. This is mostly stuff like like anthemaudio has mentioned. It is played more or less randomly and does not necessarily belong to a person besides the avatar.
(3) Speech (at least if conversating explicitely) is displayed as a floating text above the head of the person. (Like in Sacred as anthemaudio has mentioned.)
(4) Conversation (where you have the ability to answer/react in NwN) has its own kind of window (letting you pick one of a couple of possible answers/questions/reactions).
(5) Conversation is recorded, so that you could look into another special kind of overlay window if you have missed or forgotten something. This window is vertically resizeable allowing it be shrinked down to nothing else the window bar.
With such a system people in the near (also behind you) could call you (real sound) to make you attentive, could conservate with you, and you are able to remember already completed conversation. However, you still do not notice of NPC to NPC conversation behind you (since still totally textual).
Quote:
Original post by haegarr
In NwN you have multiple ways:
(1) Very few, important characters have a real sound output of their speech. This is, of course, very expensive.
Not that this is really an issue (as there is no speech sound output), but this is something I want to avoid if at all possible. I have always been a bit annoyed when playing a game and I've know exactly which characters are important because they are the only ones able to make a sound. Things shouldn't be that obvious and I would prefer an all or nothing approach (one of the reasons why I have nothing!)
Quote:
(2) Some environmental speech (sometimes annoying since too often repeated) is also given as real sound output. This is mostly stuff like like anthemaudio has mentioned. It is played more or less randomly and does not necessarily belong to a person besides the avatar.
If done well with plenty of variation (or at least control over the frequency of the repeats) this is fine, but as you say it can be annoying if every NPC suddenly decides to repeat the same dialogue again and again.
Quote:
(3) Speech (at least if conversating explicitely) is displayed as a floating text above the head of the person. (Like in Sacred as anthemaudio has mentioned.)
Looks like this is definitely something that I should try and see how it works out - I'm just wondering if this will be as effective in a first person view as in a third person view (as in both NwN and Sacred if I remember correctly).
Quote:
(4) Conversation (where you have the ability to answer/react in NwN) has its own kind of window (letting you pick one of a couple of possible answers/questions/reactions).
This I already have, the conversation options being either standard topics the NPC wants to talk about, topics based on the NPC's opinion of the character and on other game variables (not least how far the player has got on certain quests). Takes longer to script and then to test, but it certainly gives the impression that the world is reacting more to what the player does. Even simple switches from "Hello stranger" to "Oh, it's you again" make a difference.
Thanks for the ideas.
Give The Elder Scrolls IV Oblivion a try. This probably has something very close to what you're trying to do. Random NPC's will walk around, do their daily things, and when they run into eachother, will begin to talk. Their conversations range from day to day chores, to events that have transpired because of you, the character. Not to mention the game is also First Person! But don't try playing it unless you have a high-end computer, the game is a resource hog.
Cyprus
Cyprus
Add a small picture of the NPCs head next to the text a la Japanese RPGs?
Pixel Artist - 24x32, 35x50, and isometric styles. Check my online portfolio.
Quote:
Original post by HunterCyprus93
Give The Elder Scrolls IV Oblivion a try.
This is what I am planning to do as soon as I have a computer with something more than a GeForce 2 (great for programming as it forces you to write efficient code!). However, doesn't Oblivion include sound for every single line of dialogue, important or not (and from this directional sound suggesting who is saying what)?
Quote:
This probably has something very close to what you're trying to do. Random NPC's will walk around, do their daily things, and when they run into eachother, will begin to talk. Their conversations range from day to day chores, to events that have transpired because of you, the character. Not to mention the game is also First Person! But don't try playing it unless you have a high-end computer, the game is a resource hog.
Exactly the sort of thing I'm aiming at (if at a simpler level!). NPCs already have the concept of tasks so for example town guards patrol, villagers go shopping, etc. Except they currently only have one task (with variations within the task). What I need to do now is add a higher level of logic that chooses between the tasks. At the moment the plan is to base this mainly on a scheduler so at 9 it's go shopping, at 12 it's go for lunch. Pretty much scripted (and not as flexible as the AI in Oblivion is supposed to be) but there will need to be checking to see if a task is still possible (if another NPC is dead then there is no point in going to talk to him).
Hey Jon, seems like we're working on similar things :D
In my game I have my NPCs tagged (like rich, poor, etc) then I have conversation nodes invisible on the game map. Now and again the nodes check which NPCs are in a certain radius and try to load a conversation script that allows the NPCs to speak.
I intend to put the nodes in places like taverns and the like but I'm still working on the maps at the moment.
I plan to differenciate between NPCs by colouring the text for each NPC and have it centered above the NPCs head - a little like Ultima Online did.
Also do you have development blog or similar I wouldn't mind keeping track of your progress.
In my game I have my NPCs tagged (like rich, poor, etc) then I have conversation nodes invisible on the game map. Now and again the nodes check which NPCs are in a certain radius and try to load a conversation script that allows the NPCs to speak.
I intend to put the nodes in places like taverns and the like but I'm still working on the maps at the moment.
I plan to differenciate between NPCs by colouring the text for each NPC and have it centered above the NPCs head - a little like Ultima Online did.
Also do you have development blog or similar I wouldn't mind keeping track of your progress.
I'm writing a book about How To Make An RPG, check it out! | Blog
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement