NPC Interactions

Discussion in 'Avatars & NPCs' started by Shucky, Oct 28, 2015.

Thread Status:
Not open for further replies.
  1. Shucky

    Shucky Avatar

    Messages:
    21
    Likes Received:
    20
    Trophy Points:
    3
    When Ultima 7 came out almost a quarter century ago, it was groundbreaking. You had characters who had to sleep, eat and who had meaningful, if scripted, interactions with companions and other NPCs. With all of the advances in computer technology, the push has been more towards giving virtual worlds a more realistic look, but NPCs are almost as robotic as they ever were. At least in U7, the NPCs followed day and night schedules, and many appeared to be actually working at something.

    I though that by now, NPCs would have individualized pools of knowledge and memory, personality traits, relationships, interests, opinions, aspirations, attitudes, needs, motivations, etc. I hoped that we would be able to flatter, wheedle, coax, convince, threaten or bribe them, to do something for us or become our companion (or spouse). I imagined inviting them to the tavern or to the temple or for a walk, engaging them in meaningful chat and influencing them in a permanent way, and they would remember more than just our names.

    I also imagined a world with politics, citizenship, taxes, laws and conflicts at a higher level, where we could become part of a power structure in one town, while engaging in subversion and conquest of other towns.

    I also imagined a world where you would raise morale through entertainment or worship, and where exploring the world included the need to forage, hunt or fish, cook over a campfire and make camp, at least on occasion.
     
  2. Mata

    Mata Avatar

    Messages:
    4,027
    Likes Received:
    9,894
    Trophy Points:
    153
    Gender:
    Female
    Location:
    Ruhrpott - Deutschland
    Welcome Shucky!
     
  3. NaomiLin

    NaomiLin Avatar

    Messages:
    26
    Likes Received:
    94
    Trophy Points:
    3
    Gender:
    Female
    Location:
    Thailand , Bangkok
    Welcome to our community website Mr.Shucky your idea very nice and it had been suggest for a long time. Now Dev still create that system and maybe a bit of long because need animation script if game full release maybe we can see it too! Eventually we can fishing in the game :)
     
  4. Shucky

    Shucky Avatar

    Messages:
    21
    Likes Received:
    20
    Trophy Points:
    3
    I mentioned several ideas, some much more demanding than others. I wonder if you could specify which ones are under development. I am most interested in having NPCs that speak and act more realistically and independently, who we could convince to follow us for leisure or exploration, engage in meaningful free-form conversation where they are knowledgeable, offer advice, joke around, discuss, etc. Properly done, such NPC companions could be far more interesting than a lot of players who just want to hunt, pvp or show off their game possessions.
     
    smack likes this.
  5. rune_74

    rune_74 Avatar

    Messages:
    4,786
    Likes Received:
    8,324
    Trophy Points:
    153
    Man what I wouldn't give to have that. I don't think this is the game for that.

    They have mentioned schedules and trying to flesh out dialogue though.
     
    smack likes this.
  6. Shucky

    Shucky Avatar

    Messages:
    21
    Likes Received:
    20
    Trophy Points:
    3
    If they can have pets, it should be possible to have an NPC companion. If nothing else, each NPC should have a certain sphere of knowledge within a global knowledge database of all people, places and things. In the global knowledge database player, NPC, special item and common items, creatures and zones could have attributes. A random NPC would likely know a lot about the people and places in his hometown, a bit less about anything that is farther and farther away. They may know a few more people of their profession in more distant locations. For eclectic knowledge about quest items, you may want to visit a sage, and if one doesn't know, he may be able to recommend others to visit in distant towns. The local craftsman would know where to get the resources for his recipes, and he could also direct you to other craftsmen in other towns with recipes he didn't have.

    As you travel with your companion, they may be able to retain more intimate knowledge of the places you've been, to help you return to them. Even if they didn't have artificial personality or independence, such a knowledge and memory system would be immensely helpful to players.
     
    smack likes this.
  7. Leostorm

    Leostorm Avatar

    Messages:
    1,452
    Likes Received:
    3,879
    Trophy Points:
    125
    Gender:
    Male
    Location:
    Virginia
    you can clone yourself as a companion :) but you are a little quiet
     
  8. Lum the Mad

    Lum the Mad Developer Emeritus Dev Emeritus

    Messages:
    2,488
    Likes Received:
    12,987
    Trophy Points:
    190
    We plan to eventually implement much of this, and NPCs do store a knowledge base that extends well beyond "what's your name?"

    I do think expecting *meaningful* AND *free form* conversational AI is a bit much to ask of your average random NPC. There are a few games which have tried to do this as their primary focus (such as Facade) but even with games with that as a focus it's always very obvious when you veer outside the pre-scripted boundaries.

    You asked what we are aiming for in development and I think Ultima 7 levels of interactivity is a pretty good benchmark to aim for and what Richard Garriott consistently pushes us towards. We are nowhere near that at present, of course, but we're also nowhere near done.
     
  9. Browncoat Jayson

    Browncoat Jayson Legend of the Hearth

    Messages:
    6,334
    Likes Received:
    14,098
    Trophy Points:
    153
    Thats great to hear, Lum. I think the main difference is this:

    Ultima 7 had a branching conversation tree, so you really couldn't freeform questions to NPCs. Being able to do so here, and not getting really good feedback, makes the NPCs seem more limited.

    Perhaps just having their "I don't know" type phrases link back to their main narrative would help. "I don't know nothing about that, I'm just a [fishmerman]." is a lot more leading than "I don't know what you mean." But its more work for you, too.
     
    smack likes this.
  10. Shucky

    Shucky Avatar

    Messages:
    21
    Likes Received:
    20
    Trophy Points:
    3
    At the risk of sounding negative and ungrateful, I have to be honest. I am disappointed that 25 years later, things haven't advanced much along these lines. Even the Ultima Underworld series was more advanced. By now, I expected NPCs to be multifaceted, with individualized relationships, interests, needs, wants and goals that could change and that every player could influence. I expected to be able to exchange emotional expressions, insults, flattery, favors, small talk, information, rumors. I expected major events to be remembered long times, while less important occurrences to fade more quickly. Although I am not a programmer, I am a science professor who has pondered these issues for years and devised ways they could be approached to create a world that is far more alive and your actions had more of an impact, where you could increase your fame or infamy, make friends and enemies of any NPC by helping or hindering them and their individual concerns. Moreover, the NPCs would have a range of interactions with each other and purposefully change the path they choose for themselves.

    I would think that at minimum, we could choose in conversation, in addition to free statements, from a menu of common questions, including but not limited to:

    Who are you?
    Who is/are [eg, your parents, your master, your friends, your enemies, the local smith, the mayor of this town, some of the people who live here, etc]?
    Who have you seen [eg, now, today, lately, etc]?
    Who might be able to tell me more about [eg, a concept, a resource, an object, a person, a place, etc]?
    What is your [eg, name, job, rank, hobby, etc]?
    What do you do for [eg, work, fun, leisure, fulfillment]?
    What have you been doing [eg, now, today, lately, etc]?
    What do you want or need [eg, now, later today, etc]?
    What have you been thinking about [eg, now, today, lately, etc]?
    What can you tell me about [eg, a concept, a resource, an object, a person, a place, etc]?
    When do you [eg, go to work, get off work, visit the market, go home, etc]?
    Where can I find [eg, a resource, an object, a person, a place, etc]?
    How have you been [eg, now, today, lately, etc]?
    How do you feel about [eg, a concept, a resource, an object, a person, a place, etc]?

    Your "journal" could keep track of your activities, interactions and the changing disposition of NPCs toward you, which would be referenced and modified with each interaction. The global database would not only keep track of general and specific ideas and things and their attributes, but also notable events, each with its own "persistence" or "noteworthiness" level that determined when, if ever, they would permanently fade from memory.

    NPCs could have an intelligence level that determined their decisions, development, ability to 'understand' and how to communicate. Their behavior and communication would have a random element, but influenced by a variety of factors specific to them and to the circumstances.

    I envisioned a system in conversation where you could make a statement and specify an expression, and the NPC could evaluate how they should feel about you as a result. You could also give them things or do things for them, praise them, insult them, establish rapport, intimidate, etc.

    I could go on and on, but at the end of the day, it comes down to what is in demand. Hopefully I've influenced some to consider and dream of such things as I do.

    I would happy to share my thoughts on how any of these features might be accomplished, and more.
     
    Lord Trady of Blix likes this.
  11. FireLotus

    FireLotus Royal Bard & Master Dabbler Dev Emeritus

    Messages:
    964
    Likes Received:
    6,438
    Trophy Points:
    125
    Gender:
    Female
    Location:
    Anchorage
    You are absolutely right, NPC's do have an intelligence level that determines their decisions about what and how much to say. But also remember that you are an Avatar, clearly not "from around here", and most people don't divulge their life story to a complete stranger. And you are not just a stranger, your basically from another world. You guys are lucky most of them talk to you at all. :p

    To put it plainly, personal details about an NPC's life; their families, what they do when they are not at work, their emotional state of mind... well, sometimes it takes weeks if not months of friendship for someone to divulge that information about themselves. Expecting them to tell an Avatar that they just met (and whom most distrust), coupled with the innate sense of "stranger danger" most people have, does not coincide with to the lore of New Britannia.
     
    Last edited: Nov 10, 2015
  12. Moiseyev Trueden

    Moiseyev Trueden Avatar

    Messages:
    3,016
    Likes Received:
    8,439
    Trophy Points:
    165
    Gender:
    Male
    Location:
    California
    The coding that goes into as in depth a system of interactions is quite difficult to actually pull off well. However, a British company called Autelia is attempting to do that with Human Orbit. Its way in the early stages, but seeing how they are implementing "natural" emotions and conversations with npcs is fascinating on the coding side of things. Not sure if this is quite what you are looking for, as its more stand off and manipulate the little people than a game like SotA. But the developer logs definitely show how hard it is to properly implement extra diversity and depth to conversations.
     
    Spoon likes this.
  13. Shucky

    Shucky Avatar

    Messages:
    21
    Likes Received:
    20
    Trophy Points:
    3
    I had in mind that your journal would keep track of the disposition that NPCs would have toward you, starting from various pre-programmed levels, but could change as you interact with them individually. I even imagined it could be possible to attempt parley with some hostile NPCs, especially if they could tell they were at a disadvantage, or if there was a mechanism to do subdual damage and bind them for interrogation. I recognized that every type of personal knowledge would need to have a sensitivity level which you would have to exceed through small talk, sharing your own information, sharing rumors or secrets, telling jokes, flattery, empathizing, favors, apologizing, soliciting sympathy, intimidation, threats or force. You might also exchange insults, and your expression and their attitude toward you would determine whether it builds rapport or otherwise. Your journal would keep track of their changed disposition to you after every conversation, but given enough time the extremes may soften back closer towards neutral. It's true that gaining trust takes longer in real life, but there is no saying it couldn't be sped up to a degree that made it more playable, just like day and night cycles are much faster in the game. A lot of this type of interaction was done in Sims games, except it wasn't with recognizable conversation.

    If language recognition would be too hard to program, a lot could be done with emote expressions (eg, *joke*, *insult*) or menus.

    If individualized memory of us by the NPC requires too much memory, their more extreme favorable or unfavorable disposition may determine what information they could access from our "journal". Our best NPC friends should come to know us well even if we don't tell them everything directly, and our worst enemies could be keeping tabs and spying on us "through the grapevine", and may be sufficiently motivate to track us down for confrontation, and if they gave us what we had coming, their attitude may soften a bit, just as our friends might weary of us as we get them to do favors for us.

    A little bit of extra conversation programming could go a long way toward providing an illusion of lifelike personality, but it all comes down to what the players expect. If there is enough demand for it, where there is a will, there is a way. My purpose here is to help create the demand.
     
    Moiseyev Trueden likes this.
  14. Shucky

    Shucky Avatar

    Messages:
    21
    Likes Received:
    20
    Trophy Points:
    3
    I could be satisfied with a menu and emote keyword system accompanied by a mechanism for NPCs to be able to "remember" our interactions through a crosscheck of our journal, which would also keep track of their most recent disposition after our last interaction. Although, eventually it should be possible to program an AI to recognize whether a statement is a compliment, an insult, a threat, metaphorical, etc. Of course, every NPC should also have a different intelligence level, and there should be a random element to how they may respond, with statements and questions of their own, just as in real conversation. They could even give you the silent treatment and you would have to figure out how to get them talking again.

    No matter what the challenge, I believe there are ways to achieve interactions that at least appear lifelike, even if you wouldn't be able to carry on deep philosophical or technical discussions and actually teach a truly sentient AI that understood the interrelationships of abstract concepts in the way that we do from a fairly early age without even thinking about it, but even that can and will be achieved eventually, if it hasn't already.

    Of course, all of this would be far more immersive when NPCs determine their own needs, wants and seek out their own destiny according to their personality traits.
     
    Last edited: Nov 10, 2015
    Moiseyev Trueden likes this.
Thread Status:
Not open for further replies.