Search Unity

Making an RPG world feel inhabited

Discussion in 'Game Design' started by JoeStrout, Nov 17, 2014.

  1. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    This weekend I had some downtime, and started a replay of Oblivion (one of the few games I have ever completed, to the extent that completing Oblivion is possible at all).

    The production quality of this game is astounding. From the music to Patrick Stewart's voice acting, it's clearly in the top tier of well-polished RPGs.

    But when I walk around any of the cities — even the capital city, which should be the most crowded and busy — I can't shake a feeling of emptiness. I think this arises from a combination of two factors:
    1. Low population. On even the most central of streets, you'll see maybe 3 or 4 people milling around, plus a town guard or two. There should be hundreds.
    2. Shallow characters. If you talk to any of those 3 or 4 people milling around, they have very little to say. Sure, they'll give you an overview of the town (each of them providing exactly the same overview), and talk about rumors, but in most cases that's it. A few of them have about one sentence more of color ("I'm so-and-so's sister"), and an even smaller few hand out quests, but none of them are believable as people.
    This is in an enormous world filled with highly detailed sets — there are probably thousands of individually modeled buildings and rooms, most of which you will never go into, but if you do you'll find dishes on the table, books by the bedside, and other such homey and appropriate details. It feels like enormous resources were poured into the world, but hardly any into the people who inhabit it.

    So. There's the design challenge: how would you go about making a world (and its people) not feel so empty? How do you make a city, in particular, feel like a real, thriving city?
     
  2. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    Focus on the programming / interaction instead of the graphics. I see this as just the same ole issue that has been around a long time. Companies spend way too much of their money and time budgets on the surface and not the heart of games. So just changing the focus is the first step.
     
    CarterG81 likes this.
  3. slay_mithos

    slay_mithos

    Joined:
    Nov 5, 2014
    Posts:
    130
    It's really not easy, because a "perfect" case would be simulating the entire population, with jobs, travellers that actually travel, not just pop in and out of existence.

    Fable 1 did an ok-ish job for the cities, but it was still only on the surface, because none of the NPC had any substance.

    I think the biggest problem is that in RPGs, most people won't bother too much with the NPC characters, because they are not the meat of the game, and doing too much work on fleshing them all out to make the world into a living one takes away from fleshing out the rest of the game.

    There is also the problem of the "uncany valley", which is basically when you simulate enough to have nearly living character, and this backfires, making the player notice the few points where it is not realistic even more.
     
  4. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    I'd have to put some thought into it as far as implementation goes. I don't see this as something best pulled off the top of our heads... but.... pulling it off the top of my head I think I would say focus just needs to be placed on building a better generic NPC model. So, I'd make a sort of generic NPC (GNPC). Not a primary character in the game (PNPC). Just someone who "is there". A GNPC system would be needed. Consisting of several different properties such as profession / purpose, home location, GNPC interaction model (who do they interact with and how), circle of friends (just a list of other GNPCs they associate with). Profession would need times and activities. With this model in place I can probably make the GNPCs more interesting. They'd go certain places at certain times or not (GoofingOff would be a valid state for them). They may choose to stop on the street and talk to one or more of their associates. Of course, they'd be aware of times so if talking may need to hurry off and get to the shop or wherever they work.
     
    Teila likes this.
  5. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    I don't see it as really a graphics vs. substance issue. For example, there's a besieged city called Kvatch with some important refugees holed up in the church. I went and advanced the story line a bit, and then on a lark, wandered down into the church basement. There's a wine cellar, with racks of actual wine, and more rooms leading off of that: a study with pens, paper, and books you can read or take; shelves you can store things on, barrels and boxes you can poke around in, etc. There were more doors off of that, but I decided to get back to the main plotline and quit exploring.

    But my point is that all this isn't mere graphics fluff; those are objects you can take, use, and otherwise interact with, in places you can go and hang out in. And just seeing this sort of thing a few times, in places I really have no reason to go poke my nose in, gives me confidence that all the other buildings in the world are "real" too — they are detailed locations containing usable objects, not just facades. (Contrast this with many open-world games, where you can smash cars into pulp but can't break a window and enter a shop because the shop is a facade with no interior at all.)

    So, you may be right about a need to shift focus, but I don't think it's graphics per se that are the problem here, as plenty of effort has been put into other non-graphical aspects of depth.
     
  6. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    I worded it too simply. I meant put as much focus on the NPC system as they do on presentation.
     
    JoeStrout likes this.
  7. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    A fair point. But there could be a bit of a self-reinforcing cycle here: players don't take interest in the NPCs because they NPCs are trivially shallow, and designers make trivially shallow NPCs because players don't take interest in them.

    I also still think about the analogy of the buildings... some games (including Oblivion) have gone from shallow facades to "real" buildings with depth and detail to them, even though most players won't bother going into very many of these. But having investigated a few, you quickly become confident that the rest are real, too. I think the same would apply to NPCs: I'd probably only get to know a few of them, but if I find them to have some depth, then I would assume the rest of them have depth, too, and the city (or at least, the inhabitants thereof) wouldn't feel so empty.

    Hah, that's an interesting point. I hadn't thought about that.
     
  8. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Interesting thread! This is one of the goals in our game, to make the world feel more alive. While our game is multiplayer, we do not expect to have a large player population so are fleshing out the NPCs to seem more alive.

    I have the same problem as Joe. I have played games that have beautiful cities that are completely abandoned, no players, few NPCs, nothing to make the town look alive. However, unlike Joe, I don't think it would help to be able to get into the buildings. It would simply be more empty graphics that really do not add a lot to the game.

    A living, thriving city would be much more interesting than empty buildings.
     
    JoeStrout likes this.
  9. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    Yes... I mean, Oblivion has a scheduling system like this; NPCs do have daily routines. But it's not enough; they're still pretty much like Koopa Troopas, forever walking back and forth between three or four points (just on a longer timescale — work, home, loitering about).

    I still think the real problem is in conversation. Watching half-decent NPCs from a distance, they seem fine: they're chatting, shopping, walking to/from work, etc. But as soon as you talk to one, it's so quickly obvious that nobody's home.

    I don't know what the solution to this is, though. Natural language processing is hard, even if players were willing and able to type, which they're generally not. Modern speech recognition may offer some new possibilities here. And I think your general idea of a GNPC, with a variety of configurable behaviors, is a good one — they just need to be conversational in nature; background story, ambitions, loves, etc. that you can discover if you care to get to know them well enough.

    I just want to be able to walk up to any random NPC, strike up a conversation, offer to buy them an ale at a tavern, hear their story, make their day with some encouraging words, flirt with some other guy's girl and get into a fistfight over it, etc. Is that too much to ask? :)
     
    GarBenjamin likes this.
  10. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Joe, I don't think conversation is the answer, honestly. You could add a bunch more conversation options to the NPCs, make them use names, etc. but it will still be the same things over and over. Might be fine in a single player game though.

    I think making NPCs more important to the game might help. They don't just give out quests but also have a big part to play in the game. Maybe have side stories in the city and give NPCs dialogue pertaining to those stories. Use NPCs to give information to players about the world or hints about quests or puzzles. Make it so a player wants to go talk to every NPC so they don't miss anything.
     
  11. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    Well you all should know by now that I see this stuff as just coming down to modeling behaviors primarily. I think for the most part the system could be quite simple as far observable behavior is concerned anyway. Like imagine walking through town and you see a few people on the street and it all feels pretty barren. You enter a large building and there are dozens of people. Ah you never considered it was Sunday morning.

    It is all about building a better model of behaviors I think. How detailed you want the model to be is up to you. The hardest part would be the direct interaction. Observable behaviors are easy. Some direct interactive behaviors are easy such as attacking, fleeing or buying and selling. But simply talking is where they break down the most I think. However, having a job to talk about, friends they have knowledge of, hobbies they are aware of and so forth could go at least some way to making conversation more interesting. And as long as they have friends we might as well track which NPCs they do not like and why.
     
    JoeStrout and Teila like this.
  12. wccrawford

    wccrawford

    Joined:
    Sep 30, 2011
    Posts:
    2,039
    Big city life has led people into thinking that city streets should be crowded at all times, even in small villages.

    I've typically lived in small towns. When I went 'downtown' in those cities, I didn't bump elbows with people much. The shops typically only had a few customers at a time during the peak times.

    Contrast that to big city life where there are people all over the place all the time, everything is crowded and there are actually *lines* to check out.

    A medieval town shouldn't have tons of people unless it's a commercial hub for the region or the capital city.
     
    Ryiah and GarBenjamin like this.
  13. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    Ha ha. We were thinking the same thing Joe.

    EDIT: And this is a perfect example of what I meant about presentation. I just think there are much more important things GAME developers should be focusing on than "how can I get the lighting perfect?", "which terrain generation system should I use?", "I've spent months optimizing the rendering pipeline and can now display 4,000 high poly trees instead of only 1,500!" ... that sort of thing.

    I see a clear focus on things that, to me anyway, are unimportant. I'd be happy if the game looked like legend of zelda on NES if there was a town and NPCs actually seemed real and the rest of the game play had the same attention to detail.
     
    Last edited: Nov 17, 2014
    JoeStrout likes this.
  14. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Perhaps you don't. (I don't really believe this; I'm just leading into a point.) Fallout 3 is the same game as Oblivion, except in a lifeless, hopeless wasteland. To me, it's better than Oblivion because the setting complements the limitations of the game system. It's appropriate that the world is empty. People drag themselves through mindless routines because they have nothing better to do. It all just fits. This skirts the original question, though, about how to actually remedy those limitations. But I think it's worth acknowledging your game system's limits and including them in the design.

    I hear you. BioWare games are all about the writing. Like a book, the writer shares something personal and human with the reader/player. But books have finite pages. You can't write enough content to satisfy someone who always wants to keep playing past the "end of the book."

    When I finished playing Mass Effect and started Fallout 3, I was disappointed with its conversations. Apart from a single big-name actor, the other performances were as repetitive and uninspired as the writing. It felt like Bethesda added most conversations only grudgingly because it was expected. But then I came to appreciate how much more dynamic and emergent the world feels. Things seem much less scripted than Mass Effect, for better and worse. I imagine I could follow a caravaneer around the world, mess with his schedule, and he'd adjust appropriately.

    Mass Effect does a good job of filling a city (Citadel) with lots of scripted NPCs that make it feel alive with relevant, voice-acted conversations. The AI is simple: when the PC gets close, play a prewritten conversation that the player can eavesdrop on. It feels fleshed out in the way that movies like Star Wars do. But of course the NPCs don't handle change well. Behavior might be poignant because it's hand-written, but it's always a one-off.

    Fallout, on the other hand, really does feel like a sandbox simulation to me. Even though the prewritten content was weaker than Mass Effect, I easily put three times as many hours into it.

    These approaches -- scripted content and emergent simulation -- seem mutually exclusive. BioWare claims to have cracked it in the new Dragon Age. I'm curious to see their solution.

    As far as design goes for sandbox NPCs, advances need to be made in awareness, not behavior planning. Take a shopkeeper. I don't care if he does the exact same thing -- say, engage in combat -- regardless of whether I mess with him by stealing his goods, attacking his livestock, or putting a bucket on his head. He doesn't need a huge library of actions. But he at least needs to do something if I put a bucket on his head.

    Finally, this is relevant to the original question. :) People are social animals. It's not important to have elaborate behavior (i.e,. burn a lot of CPU in complex planning algorithms). But it's critical that they acknowledge the presence and actions of others. Imagine a city where NPCs wave to the PC and each other, or hug, or scowl -- the behavior isn't sophisticated, but it's socially relevant. More CPU budget needs to go into this kind of dynamic social awareness, especially where lots of NPCs are milling together.
     
  15. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Oh definitely, Tony! NPCs should react to each other and the players. A lot can be said for an NPC who runs away from the big bad guy when he enters the village rather than stands there oblivious to the fact that a notorious, well known villain is standing in the middle of the street.

    You mentioned books. We have pages and pages and pages of lore for our game. Our initial plan was to take about three-quarters of that lore and put it into in-game books. But we have since decided to instead put much of that into the NPCs that wander the city and countryside. Not only does this make the world more interesting and alive, but it also gives players who choose to learn more about the world a chance to do so without breaking immersion and in a way that is consistent with the theme of the game.

    Of course, the NPCs need to be interesting, the dialogue, even if repeated, needs to be engaging. It needs to be obvious to the player that a particular NPC will give them the information they seek.

    One thing I would love to put in the game but am unsure about how to go about it is gossip. I would love for NPCs to gossip about each other and even player characters. It would be easy just to switch names and I suppose one could have tags that trigger specific gossipy dialogue but will that be enough to make it interesting? Players will ignore the same things over and over again although maybe if there were some benefit to collecting gossip, it might be more useful.
     
    TonyLi likes this.
  16. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    I agree with them responding. Interaction is key for games. Awareness is definitely needed although I see it all as part of behavior. Awareness leads to reactive behavior. There can be canned behaviors of course. Patrolling a hallway or path. Running around on a schedule and so forth. But the interactive piece is the most important. The NPC character needs to be aware of what is happening around and to them. Well, as far as how the player is interacting with them. Interaction is the ultimate thing needed. Reactive behaviors are how the interaction is carried out on the NPC side. That is how I view this stuff anyway.
     
  17. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    A lot of really interesting points have been raised here. Rather than quote and reply to each one, I'll just try to hit the highlights.

    First, I actually think it's not a good idea to distribute important information the player needs to random NPCs. If the player feels like they have to run around talking to every NPC, madly clicking through small talk to get to important nuggets of information, it becomes a chore. I also think it does nothing to help the player suspend disbelief that these are real people. Finally, it would drive the design to fewer NPCs, so the player doesn't have such a hard time finding the relevant information. Both of these effects are going in the wrong direction; we want more believable NPCs, not fewer, less (or at least no more) believable ones.

    Second, I fully agree that NPCs reacting appropriately to the situation is important. And yeah, that doesn't have to mean dialog — sticking a bucket on somebody's head, or the homicidal maniac walking into town, are both good examples of things NPCs should react to. I think it's not very hard these days to make NPCs that react to stuff in a reasonable way; it takes some effort, but no more effort than it takes to model and rig a human character, for example.

    Last (for now!), I still feel that conversation is the key. It needs to be deep, with lots of things to find out, most of it not terribly important, but there if you care to dig. To make that possible, I think it needs to be generated procedurally, which means no voice acting — either go like Wasteland, with no voice at all, or wait for speech synthesis technology to get good enough to fake it on the fly.

    OK, I lied, one more thought: Tony's point that you can design your game around your limitations is a good one. If your cities are supposed to be ghost towns, then it's not strange when they are. And I suppose if your world is populated by robots or zombies or dogs, then it wouldn't be strange if they behave like current NPCs. :) But I still think it's worth exploring how far we can push towards numerous, believable characters, and how that might impact the games we design.
     
    GarBenjamin likes this.
  18. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    I absolutely agree.

    However, I was talking about using the NPCs to disseminate information about the lore, that portion of it that would otherwise fill pages on a website that a fraction of the players would read. Important information would be readily available through other means. The fluff and fun stuff would be disseminated through NPCs that live in the world but in a way that is obvious.

    For example, a player visits a religious temple and wants to learn more about that particular religion or deity. Inside the temple is an NPC who greets the player when he enters. The player can enter into dialogue with the NPC to learn about the religion or deity worshiped there.

    A less obvious example might be the old man who sits in the town square selling stories. The players approach the old man barks out an offer to tell a story for a copper coin. Players can engage him in conversation to learn a bit of lore, maybe a story about an old war or a poem about an epic battle in the past.

    Left to the website, most of this wouldn't be read except by the most serious role players. I argue that if NPCs can give information like this, expand the story and the player's understanding of the world, it might actually encourage them to talk to more NPCs, not less. :)

    Of course, we are building a niche game for role players and for our player base, this will be fun and popular. If we were creating a WoW game or a game that focused on arenas and battles with little thought to the lore, I would probably do things differently.
     
    GarBenjamin and JoeStrout like this.
  19. der_r

    der_r

    Joined:
    Mar 30, 2014
    Posts:
    259
    I haven't designed an RPG of my own yet, but I really enjoy the games by Spiderweb. The worlds and characters feel dense and real.
     
  20. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Yes! I like that. Just for background lore, of course, as you and Joe pointed out.

    If your programmers can get their hands on AI Game Programming Wisdom 4, "Individualized NPC Attitudes with Social Networks" might provide some interesting ideas. It describes (and provides code for) a way to keep track of how NPCs feel about each other and the PC(s). When they see other NPCs they like, they can exchange gossip. This gossip can be facts or their feelings about other NPCs. Similarly, if an NPC sees the player harm one of its friends, the NPC will remember it negatively. But if the player harms an enemy, the NPC will remember it positively. When it hooks up with other NPCs, it can exchange this information, too. This provides an interesting mechanism for gossip to flow realistically.

    I completely agree with you. Awareness seems to be the weakest link in behavior right now. As designers and implementors, I think we'd get the best overall behavior results if we spent a lot more time on awareness.

    I got sidetracked on one of the machine learning threads when I brought up my procedural quest generator. It's relevant here because conversations typically need a purpose. The quest generator devises a purpose based on the NPC's goals and then procedurally generates the necessary conversations. These quests are neat because they're relevant to the actual state of the sandbox, but they're nowhere near the artistic caliber of a hand-written quest. A human author gives quests subtext; an AI can simulate morals and values, but a human author can say something about those morals and values in the quest's subtext. This is frankly why I haven't released the product. It's a neat toy, but it doesn't feel narratively relevant. Any ideas?
     
  21. RJ-MacReady

    RJ-MacReady

    Joined:
    Jun 14, 2013
    Posts:
    1,718
  22. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Oh, Tony, that sounds great!

    What if you could tie the quests to the AI? Your advice above on the book makes me wonder if you could have the NPCs in your generated quests also take into account their relationship/opinions of the player characters. This would of course be more dramatic in an MMO where you have multiple player characters, each one building a relationship with the NPC. The relationship could be based on other parameters defined by the game rather than written into your generator.

    For example, if a game uses reputation to affect the relationship between the NPC and the PC, then the quest dialogue would reflect this. The boss bandit who gives out the quest might react differently to a PC who has a negative reputation (a thief or killer). This could subtly change the quest dialogue. The quest itself might be similar but the way the NPC reacts to the PC could change it somehow. If you tie this into the motivation of the NPC, it could be very interesting.

    Just a brainstorming idea since I am not sure how difficult that would be to implement. My mind is reeling with the possibilities though. :)
     
  23. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Everything here can be used in an RPG too, such as a Skyrim type sandbox game so don't get your comment, sorry.
     
  24. RJ-MacReady

    RJ-MacReady

    Joined:
    Jun 14, 2013
    Posts:
    1,718
    The topic is called how to make an RPG world feel inhabited.
     
  25. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Ha! RPG can be multiplayer as well as single. Anyway, I still argue that the only difference is more PCs. Same otherwise. So really, the thread is fine. No need for us to distract from the discussion. Have fun. :)
     
  26. RockoDyne

    RockoDyne

    Joined:
    Apr 10, 2014
    Posts:
    2,234
    The main issue is that most NPC's aren't important and shouldn't be worth the player's time. Dialogue in particular is a poor conveyance of setting. If you have to talk to a random NPC to learn about them, you have failed your setting.

    Stop playing Oblivion and go play Morrowind. If you want a game in which the setting is engrossing and feels lived in, then play Morrowind. It didn't need a hundred thousand fleshed out characters to make a complex and compelling world. Hlaalu work with the Imperials, the Telvanni hate everyone, the Tribunal is falling apart, and your job is basically to pull the linchpin that keeps the the whole country together.
     
    Teila likes this.
  27. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    I agree with you on that one. Morrowind is an amazing game, one of my favorites. I didn't like Skyrim nearly as much. I played Skyrim briefly because of the hype around the AI and it didn't really do much for me. Morrowind may not have had as complex of AI, but it did seem more real and alive to me.

    In my case, it was the quests in Morrowind that really sold me. I loved having to figure things out. Now, friends have told me the quests were too hard, you had to spend lots of time figuring them out, but I found this fascinating. The NPCs in the game were important as well, even if not as numerous. Great game.
     
  28. RJ-MacReady

    RJ-MacReady

    Joined:
    Jun 14, 2013
    Posts:
    1,718
    That is part of the discussion, you can make an RPG world feel inhabited by letting other humans play other characters in the world.
     
  29. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    See, that's where I tend to differ — I think use of NPCs to hand out quests is plenty well developed already, and we don't need them doing more. :) But I do think that procedural generation of dialog to provide character depth could be really helpful, even if it's apparently purposeless.

    Or let's flip it around: instead of the NPCs making up errands to give the player, perhaps they just talk with the player, who then makes up his or her own to-do lists to impact those characters. Example:

    I meet an NPC named Bob, get him talking, and learn that he's unhappy because he thinks his wife (Jane) is attracted to another guy (Frank), because she seems to be spending a lot of time with him. So I go talk to Frank, and (because my charisma is very high) ultimately get him to confide in me. Turns out Frank is gay, and actually attracted to Nelson, who doesn't want anything to do with him, so Frank has been depressed too, and Jane (a childhood friend) has simply been trying to comfort him.

    OK, now there are some characters with some depth, and by this time I probably care enough to want to figure out how to fix this mess. So, for starters, I could just go back to Bob and explain, and he'd be happier right away. Or maybe I could go to Jane and tell him why her husband has been so glum lately, and let her fix it. Or I could try to find some cute guy for Frank, which will make him stop moping around, so Jane doesn't need to spend so much time with him, and everybody's happy (even Nelson, who was starting to get annoyed at Frank).

    Nobody gave me an errand to run; I didn't have a quest log that said do this to get that reward; I just found an opportunity to help, and decided on my own to do something about it. How's that for role playing?

    I know it sounds outrageous, but I really think this sort of play could be supported by some fairly straightforward NPC models — a social network (like Tony described), plus some goal-driven behavior, and some procedural conversation on top of all that.
     
    TonyLi and Teila like this.
  30. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Now, I really like that. We talk a lot of adding things to games to attract different sort of players, and this would do it. There are players out there who would love this sort of thing, probably more than you think. Most developers here think combat, only combat, what game mechanic will help me out with my combat.

    As someone said above (Tony? Joe?) Social interactions are big and they really make a game come to life. How cool would it be to actually have personalities with lives (even if generated procedurally by Tony's tool) and be able to eavesdrop on those lives. These are the sorts of innovations which I think will be big in the future and attract those people who spend hours on Twitter and Facebook following the lives of people they barely know. lol

    I love it. And for Misterelmo, I love it especially for a rpg!! :p
     
  31. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    It does. It maintains a social web and a basic value system for each NPC. NPCs also have goals (protect my farm) and dialects. Dialects are dictionaries of phrase synonyms. For the phrase "hello", one dialect might say "salutations" while another might say "ahoy, matey!" I think the weak part is the way goals are currently defined.

    I'll post a more detailed description in a separate thread tomorrow. I've been meaning to do this to solicit ideas to actually make it interesting. :)

    I haven't tested multiple PCs, but I can't think of any reason it wouldn't work.

    Great idea. Off the top of my head, it could also affect the choice of dialect -- one NPC might use a fearful dialect, while another might use a condescending one.

    And thus my poor Quest Machine has languished, untouched, for months. :) Perhaps somewhere in the middle would work: NPCs don't generate quests (although one disadvantage is no quest log entries for compulsives to check off), but they have desires and social awareness that can be used to generate conversations.
     
    JoeStrout and Teila like this.
  32. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Oh please do! I love this sort of stuff. :)
     
  33. RJ-MacReady

    RJ-MacReady

    Joined:
    Jun 14, 2013
    Posts:
    1,718
    A.L.I.C.E. is an open source conversational AI. I'm sure you could modify it. It is a learning network, I believe, as well that becomes more refined with use.

    Of course, you're talking about thousands of man hours of tweaking your AI to have different personalities, be aware of the world around it, etc. It would easily cost so much to make such a game that you'd never cover costs in the current market.

    It can be done with current tech. though.
     
  34. RockoDyne

    RockoDyne

    Joined:
    Apr 10, 2014
    Posts:
    2,234
    But what's the point though? Does this have any impact on the game's story, or does it play into the game's central theme? I suppose it would be cool if it was possible and would be impressive to see, but chances are all it would be is a time sink that isn't actually providing any benefit to the player.

    I just seems like you're getting wrapped up in creating a virtual world without any idea of what purpose that world should serve.
     
    GarBenjamin and RJ-MacReady like this.
  35. RJ-MacReady

    RJ-MacReady

    Joined:
    Jun 14, 2013
    Posts:
    1,718
    What you would do is create a network of inhabitants, each having a base class and run some algorithms to create your relationships between them. Each relationship could then further define itself as good or bad, with all sorts of goodies like marital unfaithfulness, jealousy, etc.

    ...I could probably do this in a couple years. Lol. But you would still be able to find patterns. There's no substitute for hand crafted storytelling. No different than minecraft chunks or NPC's in an RPG.
     
  36. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    I think it would be easier just to use tags on the NPC and PC. So if you are playing the game and you have a good reputation, you might trigger a different reaction from the NPC, even a different dialogue or inflection or whatever. I have seen this in games with merchants. If the player has a certain tag, the merchant might give them a discount.

    So what if a player has tag for War Veteran? Maybe the NPC will talk to the player about his war experiences.

    The subject of the post was making worlds more alive in rpgs. :) Intelligent dialogue with NPCs would do that. That is the point.

    And to let you know, the purpose of our game is provide a place for players to role play. NPC interaction would add a great deal to a role play environment.

    NPC dialogue could provide a story in and of itself. Let's say in a single player game, a sandbox, similar to Morrowind or Oblivion, your character happens upon a small village. By talking to various NPCs, he finds out the village has been repeatedly raided by outside forces, some bad guy who likes to torment the villagers, or maybe the villagers have something he wants, like mined resources. The PC can make allies and enemies among the villagers if he wishes to do so but he will also discover maybe some important things about the bad guys, who he can later try to defeat.

    That seems much more interesting to me than a quest handed out by an NPC I find in a tavern. It would be especially interesting if my character's alignment affected what the villagers tell me. If I was a bad guy, I might get nothing from them and instead have to locate the bad guys. I might find a different story there, and decide to help them attack and pillage the villagers.

    The world we are creating has very definite purpose but it probably isn't a purpose that you would be interested in. That does not mean that it isn't valid as a game. :)
     
    JoeStrout likes this.
  37. RJ-MacReady

    RJ-MacReady

    Joined:
    Jun 14, 2013
    Posts:
    1,718
    I'm offering implementation level solutions... not even arguing. Anyone want to come up to this next level here and talk about it?
     
  38. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    I like this! We are already using something to generate algorithms for our NPCs based on morality, values, and the like so it might not be too tough to then trigger hand written dialogue based on that. That would probably be the best solution if you want to avoid patterns.
     
  39. RJ-MacReady

    RJ-MacReady

    Joined:
    Jun 14, 2013
    Posts:
    1,718
    You might be able to get away with some patterns, but the meat, the actual dialogues really need to be hand made like you said. You need to think of it like mad libs. There's going to be a few basic formulas with modifiers but then you're going to end up with a whole bunch of different details to fill in those gaps.

    This way you will see the pattern but not necessarily be insulted by it
     
  40. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    The point is to increase engagement. To me, as a player, two-dimensional characters are a disappointment; they break my suspension of disbelief and distance me from the game. That's the problem I'm trying to address. It's fundamentally the same problem that has driven ever-improving graphics over the years, but this one has made much less progress.
     
    GarBenjamin and Teila like this.
  41. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Excellent! I already have Tony's dialogue tool so I think I can see how it would work.

    This was my vegging out day today but I did get a bit of work done. A new idea that will be quite popular with the fans I think and not so off the path that it can be considered creep. :cool:
     
  42. RJ-MacReady

    RJ-MacReady

    Joined:
    Jun 14, 2013
    Posts:
    1,718
    So just based on eliminating the conversation engine completely because it is absolutely Star Trek unfeasible, and focusing on making characters respond based on some really rather basic criteria with their words constructed from phrases and fragments you could cut your workload down a lot.

    But that necessarily begs the discussion move to costs... The cost of developing the system is going to be high high high, the potential payoff is going to be virtually non-existent because of what I said earlier... People are already playing games with other real people.

    If anyone could pull this off it would be rockstar, but they're not even trying it... I think you would want to investigate why
     
  43. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    I think it can be done without making a conversation system, although I would love to see that happen in the future. Lots of stuff are not being done today and the reason is because the game development world is focused on making action packed combat oriented games.

    One day, someone will make a game in a vibrant world, with amazing AI and dynamic NPCs. It will be better than Skyrim or Fable. It will rock the gaming world. And then what? Someone on Unity will make that conversation system because everyone will want to make a game like that one.

    Voxel engines and Minecraft? :)
     
    protopop and RJ-MacReady like this.
  44. RJ-MacReady

    RJ-MacReady

    Joined:
    Jun 14, 2013
    Posts:
    1,718
    And as far as being a problem that needs to be addressed in games... I don't really think it's a problem, I think it's just an example of AI serving a purpose inside of the context of the game. What would be the contextual purpose to highly dynamic NPCs, unless those NPCs are part of the core game mechanic?
     
  45. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Already answered that a few posts above. :)
     
  46. RJ-MacReady

    RJ-MacReady

    Joined:
    Jun 14, 2013
    Posts:
    1,718
    Such a conversation system would be rare and magical artifact and it would be able to instantly increase the value of any game it could just be haphazardly dropped into. It will be extremely expensive for a while until people become completely bored with it.

    And that sort of another point to this is that you're never going to be able to create a world that doesn't feel empty eventually
     
  47. RJ-MacReady

    RJ-MacReady

    Joined:
    Jun 14, 2013
    Posts:
    1,718
    I think you touched on it. But easily I think you're talking about in the investment of time that is equivalent to creating an entirely separate game on top of whatever RPG you're creating, so yes it's doable it's possible and it might even have some limited benefit but is all this complexity necessarily the only way to make the game feel less empty?

    One thing is that you might want to go the complete opposite direction and make every single character in individual work of art, unique personality visual appearance, like how a game like The Legend of Zelda might do it.

    Try to limit the scope of the RPG and enhance the vibrancy of the details.
     
  48. Ricks

    Ricks

    Joined:
    Jun 17, 2010
    Posts:
    650
    Similar to a fully procedurally created universe with a billion planets - which can get boring fast, and feel dead, lifeless, generic after you've seen a dozen of planets.
     
    RJ-MacReady likes this.
  49. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Mis
    True, any dialogue will get old fast unless it changes constantly. But regardless, one has to try. :) It is what creates innovation. I sometimes feel stuck when I read threads on the Unity forums. :) Our game is quite a bit different from the average one here although I have met people here that have similar ideas, just not with as big of a mouth as I have I guess.

    Like I said, our AI is already being implemented and it includes much of what I want in the NPC system. I believe we can tie it into the dialogue system. It won't be a generator, but it will work fine.

    I am excited about the potential in the future, but that doesn't mean it is all going in our current game. :)
     
  50. RJ-MacReady

    RJ-MacReady

    Joined:
    Jun 14, 2013
    Posts:
    1,718
    "True, any dialogue will get old fast unless it changes constantly. But regardless, one has to try. :)"

    You can try... I already have my sneaking suspicion of how this will turn out