Game Development Community

NPC's for RPG's

by Nathaniel Gibson · in Game Design and Creative Issues · 10/02/2004 (10:12 am) · 19 replies

The current intelligence of NPC's in RPG's is very mediocre. They have a limited amount of things they can say and there are a limited amount of things you can say to forward the game.

What if you could chat with NPC's in your games (RPG Games for example)? What if they could learn from what you said? What if they could actually perform actions based on those interactions you had with it. All interfaced through a chatbox in the game. And the best part is... each NPC now has it's own personality. They would also be able to talk to eachother and spread communication throughout the game environment.

The above may seem far reaching, but I have a program that I made back in 1999 called ROLAND which can do all of the things mentioned above if properly implemented into a video game. The algorithms are fast, and I'm always working on new ones. I could make one completely tailored to a game as well.... I'd be willing to get on a team for that too. I have C++ skills. ROLAND was written in QB at first and I ported to PHP a couple of months ago. Go to http://www.mye-business.com/roland/roland_online to check it out. All you have to do is register for free. This gives you an identity. The cool thing is that you can create your own identities in the onine version now... Anyway, it's food for thought.

~TaxDAY

About the author

Recent Threads

  • NPC's you can chat with

  • #1
    10/02/2004 (10:28 am)
    Similar to A.L.I.C.E ?
    #2
    10/02/2004 (6:40 pm)
    Two threads for this topic?

    Starship Titanic used chatbots for the Npcs, but the game still wasn't any good (at least IMO).
    #3
    10/05/2004 (12:06 am)
    I dunno. Realistic conversation takes a back seat to actualy gameplay. I do know that too many RPGs treat NPCs like vending machines - handing out quests, items, yadda yadda. I'd love to see one where the NPCs would move around like the Sims - unimportant ones would migrate to other towns, something like that.

    One could elevate important messages to some point where the NPC would try to get your attention - basically have a 'talk to me' sign.
    #4
    10/05/2004 (8:51 am)
    Diablo 2 gives npcs that have something important to say a '!' above their heads. Diablo 2's npcs are standard npcs, not chatbots, but the same thing can be done for the chatbot npcs.

    Personally, I like being able to just click on responses to move forward in an RPG because most of the entertainment value (for me) comes from combat. However, the problem with this is that there's no real thought required. I think I would enjoy an RPG with NPCs like Nathaniel wants to have. But I would want to be able to find out what I need to know relatively quickly.

    I think there will have to be a delicate balance in any such game to avoid making it seem more like doing work than playing a game. Of course, this is the case in most games, but I think this chatbot-NPC idea adds an additional layer to the problem.

    I think it's a great idea if implemented properly.
    #5
    10/05/2004 (9:34 am)
    Actually, I've found that there is a substancial nitch in popular morpg games where the game serves as the primary or at least a significant social outlet for the player. Many of these players work nights, or live in an isolated social environment for whatever reason. So the mechanics of the game become secondary to it's importance as a social arena. As long as the player has something mildly entertaining to do between chats and can "fit in", then they are happy playing that game.

    For these players, a more fully functional chat-bot NPC would augment the game, because it would give the illusion of more social interaction. Even players who might have problems socializing in real life can feel comfortable with a chat bot, after all, if they ticked it off, it wouldn't be real lol.
    #6
    10/05/2004 (10:09 am)
    I think it would be important for these NPC's to give the feeling of being intelligent. That would add to the playability of the game. There would be a definite social environment. But one that the creator could tailor to the theme of the game and the culture of the NPC's in the story. Like for instance, if you were on a starship, you'd have a captain, a ranking system, people who were engineers. New recruits from the academy, and it would all be managed by a conversational system such that the bots knew the rule: if the captain dies, the second in charge will replace him. The NPC's would no longer be "strapped" to roles. Their roles would be determined by the other NPC's agreeing on the role of their fellow inhabitants. It sounds complex, but since conversation is the space in which all of this functionality takes place, there's actually not much work to do except implant the rule system for the world they live in, and "raise" an NPC in that environment.

    I've been thinking that I might do something where I "raise" one NPC and then have that NPC sort of play father to the NPC's following it. Because they can learn from eachother, most of what you teach will get taught to the other NPC's, plus, different versions of what you taught will be intertwined in the everyday conversations that take place between NPC's. The playability would come into it's own through the conversations that are created by the NPC's because it would truly be anything, and you could see how you have an impact on the world around you through conversation and actions. For instance, you can do anything you want when it's an open playing field. Like talk all of the NPC's into joining you in a witch hunt, or building an army, or getting all of them to take off their clothes and run around like madmen.

    Wouldn't a game like that be entertaining regardless of the level of pre-scripted battles one would go through?
    #7
    10/05/2004 (9:17 pm)
    MMORPGS do function as a chat arena just as much as a game, but its the game that gets them there in the first place - then they make social contacts, which keeps them there.
    #8
    10/06/2004 (10:13 am)
    @ Paul: Yes, I would have to agree. but you can make some good contacts during a free trial period, and free trials can draw in a lot of folks even for a mediocre game ;]

    @ Nathaniel: To me, your concept goes beyond what I would call a "dynamic NPC chat system". Your last post seems to be leading more in the direction of a dynamic NPC with roles that vary upon game events.

    Not to take away from your idea, but as a note for readers... I personally have my hands full with just managing conventional NPCs lol. I think a dynamic NPC chat would be very cool. I've even thought of using the "clickable word" chat style resource, and taking it to a new level where you could just type in an open ended response and a parser would search for the word or the nearest thing and go from there. essentially still the ckickable chat, but with a parser to determin the word the player wants to chat about instead of having say 1-5 words on the screen to click on. Naturally the responses would have to be set up to better clue the player what the NPC knows.

    A dynamic NPC is an interesting concept. But I would think you would want a test group of mods and admins to set up the initial learning of the chat database. Otherwise, you may end up with psychotic NPCs lol. I think this would also be a field day for griefers, who would come into the game to see what bizzare things they could talk the NPC's into or make them do. Unless that's your game focus. But maybe I'm reading too much into it.
    #9
    10/07/2004 (6:42 pm)
    @David
    Most chatbots are only a little above the "clickable word" level. Obviously, most chatbots have some improvement upon just outputting some canned response whenever a word is input, but they're not all that much better than what you mention.

    But your idea would be cool in a game.

    You could also have a combo. Have 1-5 scripted responses that appear (how many depends on your character's intelligence), and then have a little box where you can type in your own subjects to ask about. It could just say "Tell me about" and then have a text field.

    I'm not sure whether having a combo or having just the text field would be better. In either case, if you're just having it reply to a random phrase in the input, it would be better to tell the player to just enter a phrase instead of making him/her type in whole questions thinking that the other words matter.

    That way people won't say things like "Did Bob hit George with a hammer?", which would probably just tell them something about one of the nouns in the sentence.

    Nathaniel's idea would be cool if you could have real conversations with the Npcs, but implementing such a thing is far beyond anything I would attempt.
    #10
    10/08/2004 (1:49 am)
    Good thinking Nathaniel. In fact, I'm playing around with the same ideas myself! Consider this:

    The Information Game:

    Think of the NPCs forming an artificial socal network. If one NPC knows something, he might spread this knowledge by telling other NPCs. The player can make NPCs act directly or indirectly by inserting information into this network. Do you tell the truth? Do you tell a lie? What end result do you want? Any side effects? It doesn't have to be verbal information. What if an NPC sees you murder someone?

    The Interaction Game:

    An NPC has a personality defined by a few main traits. These traits colour the way the NPC talks and interacts with the player. How reliable is the information the NPC gives you? What can you read between the lines? How can you get the cooperation from an NPC? Can you make the NPC like you, feel attracted to you, respect you, or follow you?

    -Bjorn
    #11
    10/08/2004 (2:21 am)
    Simply design believable and interesting characters. Both "Gothic" parts had brilliantly designed individuals and, although you interacted with them on a simple clickity-click level, they were "alive" because of the writing itself.

    Tech will not solve the problem.
    #12
    10/08/2004 (10:13 pm)
    I think Nauris has a very important point that no one's mentioned. Although this whole idea is cool from a programming perspective, it needs to be implemented properly to be fun.

    If each NPC is just lists facts when you ask it to, that wouldn't be much fun. People like the colorful sorts of responses that occur in games like Fallout 1 & 2. It's always entertaining when someone starts talking to the tree that's growing out of his head for no apparent reason.

    I'd like to be able to talk to the NPCs as chatbots, but I don't see how they could have distinct personalities without some sort of scripting being done by actual humans.

    So that's just something you'll have to think about while you're working on the project...
    #13
    10/08/2004 (11:34 pm)
    Probably the best solution for applying this to a game is to use both scripted dialogue and AI together seamlessly, right?

    I mean, you reach a point of diminishing returns when you use this technology exclusively for character dialogue.

    Consider the cost/benefit ratios of each approach.... How easy is it to write scripted dialogue for an NPC that gives it a colorful character that seems alive? Pretty easy to do, and the results are good.... Now, try to make the same response purely by code.... comparitively, it would be difficult, and finally you may not get that "aliveness" you get doing it by hand. So I think the best approach is to have both.
    #14
    10/11/2004 (5:21 am)
    I think that what makes an NPC so boring is the quality, and believability of the NPC. Most of what I've seen lately has been, go kill this creature, get this item, and return to me NPC's that make me quit games far to often. An example of great lovable and at the same time believeable NPC's can be found in beyond good and evil. That game was so well written that all the dialogue felt like the best thing about the game. I loved that game so much. Worth a try just to see how good dialoge and character interaction can be done.
    #15
    10/11/2004 (8:43 am)
    I feel that some things in a game simply aren't worth putting so much thought and effort into. If I'm playing an RPG, I wan't to learn a little back story, obtain an item, learn new information on other items, and get on with the rest of the quest. (exploring the land and dungeons, story cutscenes, combat)

    I'm not interested in having long drawn out conversations about my life story with an NPC, like some japanese dating sim.

    I think what your trying to do is make a MMORPG invironment in a regular old RPG. I hate to say "never" but I don't think you can get a computer to interact like a real human would anytime soon. I've only seen that in Star Trek and various anime.

    Sorry for the negative post, but I honestly feel it's a waste of time and would only eat up development time from the meat of your RPG. It would be a different thing if you were trying to develop this technology as a stand alone project. I feel that if you made the characters colorfull and have different personalities, that, that would be enough to keep players interested and make the NPC's more balieveable.

    Fable has millions of lines of text throughout the game, and Halo 2's audio engineers have it to where no two people will hardly ever hear the same line from most NPC's, ever. Are you ready, and have the staff, time and/or money for all that? Just like Will stated, doing it all by code won't get the results I think your striving for. Good luck though, with whatever you end up doing.
    -Ajari-
    #16
    10/11/2004 (12:36 pm)
    .... the first step of machine control....
    #17
    04/16/2008 (12:54 pm)
    Planeshift has something like that
    #18
    04/16/2008 (1:42 pm)
    You do realize that this thread is 4 years old?
    #19
    04/19/2008 (9:50 pm)
    I know, seriously... Don't bring back old threads...