Limited followers

Rob

Moderator
An intelligent solution would realise that actions speak louder than words. Not every single scenario requires dialog, text or otherwise. The team can focus on only including dialog where they feel it is most useful/necessary.

Plus, any such "NPC behaviours", so to say, would only have to be specified/programmed once. For example, if it's been implemented for "Follower 17", then it's done for "Follower 18", all of the other followers, and all of the NPCs in the world. The idea is that all (non-special) NPCs in the world are effectively equal, from the point of view of being allowed to do anything. For example, a "follower" could be following you or they could be following another NPC - you may not necessarily be the only character in the SG world trying to recruit followers! And, importantly, the same rules apply for you as they do for everyone else.

As I've mentioned elsewhere, it would be possible to create diverse behaviours, dispositions and personality types by adding stochastic elements upon automatic character generation.

Basically, the developers don't need to invest more time in order to create more NPC behaviours - once it's done for one NPC, it is automatically done for all of them.

However, this is just my speculation/proposition, and we don't yet know exactly what Bare Mettle have planned.
 

calithlin

Insider
Writing the text is a lot of work, it has to fit the location, the situation, the mood of the characters etc. otherwise it will break the immersion. Also coding things like "Follower 17 will say 'Burp' if having more than two but less than seven glasses in the last hour, if the situation is ... and the location is any bar, inn or similar and if no other text should be written. The player responses would be..." Some of it is necessary for the story, a bit more will enhance the game, but there will be a point reached at which the player most likely would not see most of the added text.
Actually, using dynamic dialogue is more possible than you think. The 'pawns' (sidekicks) in Dragon's Dogma all constantly commented about the world around you, based on if they had or hadn't been to the location before or done a certain task. The pawns would notice and point out large cliff faces, abnormal weather or creatures, a litany of obstacles, and even comments on the history of locations based on if other players had taken them through a quest involving the area before -- and this was all fully voiced as well.

Given that SG isn't looking to fully voice their game, I guarantee it's possible to have highly dynamic NPC reactions and dialogue if the effort is put in.
 

Algea

Insider
Haha, Rob, I've just imagined myself having two followers with short attention spans and how they go into the same place and then start spewing identical explanations of their unacceptable behaviour. It'd be bizarre.:D

How would you prevent this kind of situation from happening? Considering stochastically selected behaviour.
 

calithlin

Insider
Haha, Rob, I've just imagined myself having two followers with short attention spans and how they go into the same place and then start spewing identical explanations of their unacceptable behaviour. It'd be bizarre.:D

How would you prevent this kind of situation from happening? Considering stochastically selected behaviour.
Well, if you've ever heard of a behavior matrix, it's a foundational part of many artificial intelligence systems. I'm not sure if SG will utilize these, but I think it might be a safe bet.

Anyway, behavior matrices and similar constructs let you create random 'personalities' for NPCs. There's a lot of values that range from 0.0 to 1.0, for example: (this is a gross oversimplification of true behavior matrices)

Fear of heights: 0.5
Charisma: 0.1
Conviction: 0.8
Alcoholism: 0.5
Optimism: 0.3

Based on this completely random character's behavior matrix, the way they see the world and react in a given situation will differ from any other character that doesn't have very similar values. I imagine they will have many attributes in behavior matrices that govern NPCs actions/reactions/dialogue etc.

(A better example of behavior matrices would be of a matrix that each NPC has for how they view the player, which would affect their dialogue with the player, like so:)

NPC X's Opinion of Player Y
Trustworthiness: 0.2
Hostility: 0.6
Wealth: 0.8
Popularity: 0.4
Honor: 0.1

So you might run the NPC's behavior matrix to determine whether or not they want to join the player on a quest, based on these values. Certain values may be weighed more or less heavily depending on the NPC as well based on other matrices (their own senese of honor, greed, etc). It can get insanely complicated if you let it, but with more complexity comes more realistic responses to player input.
 

Algea

Insider
Thanks for the explanation calithlin, it was really enlightening.:)

But what if there are two absolutely identical NPCs. Is it theoretically possible? If it is - what could be done to prevent it from happening?
 

Rob

Moderator
Good point Algea! This sort of thing should be thought about. I've got two immediate thoughts:

(1) If that situation arose - i.e. 2 followers both drift off, and go into the same pub at the same time - then those events will not be independent. They can see each other. Since the NPCs take note of their environment, they would be aware that another follower was taking that action. If they like each other, they might conspire to nip off for a pint together. If they don't like each other, they might be inclined to go to different pubs... if there's only one pub, they might have an argument about following each other, which may break into a fight... the possibilities are endless.

(2) If sufficient a number of different behaviours are programmed, and NPC personalities are chosen sufficiently stochastically, then it will be unlikely that two NPCs will adopt the exact same behaviour at the exact same time. In the scenario you refer to, various events would have to happen. For each NPC follower, in order:
  1. Lose motivation/concentration, and decide to (temporarily) drift away from the party. This would be based on the NPCs disposition to do so (which generally would be low, I can imagine).
  2. Out of all of the potential places that the NPC could drift off to, only one can be chosen. Examples might be pubs, shops, houses, rivers, brothels, etc. Regardless of the NPCs position in the game world, there should be a sufficiently large number of "locations of interest to" that they could drift off to. Probabilities of going to each one will be based on (1) distance to travel there; and (2) NPC's needs, e.g. need to buy equipment (go to a shop), need/desire for a drink (go to a pub). Probabilities/weights can be assigned to each of the N top-ranking locations, and choice of location to travel to can be chosen stochastically given those probabilities.
If there are sufficient number of behaviours, personalities, and locations, it will be quite unlikely that two NPCs will choose to do the same thing at the same time.
 

NoSoAna

Insider
So you might run the NPC's behavior matrix to determine whether or not they want to join the player on a quest, based on these values. Certain values may be weighed more or less heavily depending on the NPC as well based on other matrices (their own senese of honor, greed, etc). It can get insanely complicated if you let it, but with more complexity comes more realistic responses to player input.
I agree that this is a possible way to get dynamic and varied responses from followers (or NPCs in general). However, it basically confirms the statement I made above: It is a lot of work for the developeres to find all possible situations, write text which matches the situations, and implement the logic necessary.
 

Rob

Moderator
Calithlin's right, too.

Furthermore, even if two NPCs happen to have the exact same personalities (which is unlikely), there is nothing to say that they will behave the same way. This is due to 2 effects:
  1. Having the same personalities results in NPCs having the same predispositions (probabilities), but that says nothing about the outcome of events. If everything is chosen stochastically, then NPCs can make different decisions despite having the same personality.
  2. Environmental influences - personalities/predispositions/opinions can be affected by their historical experiences, meaning that NPCs that randomly start with the same personalities can change some of their predispositions throughout the game, resulting in two very different NPCs.
 

Algea

Insider
(1) If that situation arose - i.e. 2 followers both drift off, and go into the same pub at the same time - then those events will not be independent. They can see each other. Since the NPCs take note of their environment, they would be aware that another follower was taking that action. If they like each other, they might conspire to nip off for a pint together. If they don't like each other, they might be inclined to go to different pubs... if there's only one pub, they might have an argument about following each other, which may break into a fight... the possibilities are endless.

If it's possible to implement with this engine it'll be a revolution in the contemporary gaming. I'd love to see the world being truly dynamic and constantly changing like a somewhat sentient being.
 

Rob

Moderator
I agree that this is a possible way to get dynamic and varied responses from followers (or NPCs in general). However, it basically confirms the statement I made above: It is a lot of work for the developeres to find all possible situations, write text which matches the situations, and implement the logic necessary.
Not necessarily. Once a framework is in place, it would be easily extensible, and only have to be done once for a potentially infinite number of NPCs. This is intelligent efficient programming. Dynamic procedural generation, using stochastic elements. Commonplace in the sciences, why shouldn't it be done in gaming?
 

Rob

Moderator
If it's possible to implement with this engine it'll be a revolution in the contemporary gaming. I'd love to see the world being truly dynamic and constantly changing like a somewhat sentient being.
It's possible to implement with the neural-network-like framework I suggested in another thread a while back.
 

Algea

Insider
It's possible to implement with the neural-network-like framework I suggested in another thread a while back.
Would you link it to me, please? :) I suppose I read it but I remember nothing.:oops:

Is it going to be time and manpower consuming?
 

Rob

Moderator
Sure I can give you the links!!!

I'm referring to the couple of posts in the My Hopes And Dreams thread:
http://www.baremettle.com/sg/forums/index.php?threads/my-hope-and-dreams.121/page-2#post-2930

Also, further to the "followers wandering off" issue we've been discussing in this thread, such a framework also applies to other behaviours, for example see my post #10 about drunkenness:
http://www.baremettle.com/sg/forums/index.php?threads/being-drunk.134/#post-2258

To be honest, there is going to be no NPC personality/behaviour/AI system that is going to be overly "quick and easy" to implement. But there are good ones and bad ones. Ones that are efficient and intelligent, and ones that are less so. The less thought and time afforded to it, the worse it will be. Certainly, there may be other ones that would work other than the framework I've suggested. However, I can see no flaw in this framework.

If proper thought isn't afforded to it, there's the potential for it to just turn out to be another Skyrim-like AI system for everyone to get irritated with. Sooner or later a game developer is going to have to come along and implement a decent system, and when they do, I think that it will cause a big revolution in the industry.

I, for one, am extremely interested to hear what Bare Mettle settles for!!!
 

Tony

Insider
I think programming AI that fundamentally functions in an intelligent/realistic manner isn't super difficult. I believe the difficult part is making sure that other game mechanics are capable of supporting such an advanced AI. If they plan on having any sort of story at all then they must make sure that the AI plays nice and doesn't completely go nuts, thus ruining all of the story elements they plan on including.

This also applies to any predefined dialogue they might add. They'd have to make all dialogue dynamic enough to take into account all NPC's actions or you'd end up with some dialogue options that made no sense (they wouldn't match up with what is actually occurring). The more intelligent and diverse they allow the AI to be then the more variables they must take into consideration concerning how this will effect other game mechanics.
 

Rob

Moderator
I think programming AI that fundamentally functions in an intelligent/realistic manner isn't super difficult. I believe the difficult part is making sure that other game mechanics are capable of supporting such an advanced AI. If they plan on having any sort of story at all then they must make sure that the AI plays nice and doesn't completely go nuts, thus ruining all of the story elements they plan on including.

This also applies to any predefined dialogue they might add. They'd have to make all dialogue dynamic enough to take into account all NPC's actions or you'd end up with some dialogue options that made no sense (they wouldn't match up with what is actually occurring). The more intelligent and diverse they allow the AI to be then the more variables they must take into consideration concerning how this will effect other game mechanics.
I agree. It's possible to do, though.

I think this would be best addressed by having 'special' NPCs for particularly important story/quest-related characters (I know there's no quests, but let's call it that for now...), which have preset/predisposed personality types and dialog options. This distinguishes them from the masses of 'ordinary' NPCs (including potential followers) that exist in the world under the normal rules.

Ensuring that the AI doesn't go nuts will simply be a case of balancing / parameter tweaking. For example, if one character trait becomes prevalent, or too many people are violent etc., then you can adjust the nature of the stochasticity corresponding to those personality traits. Instead of a uniform distribution, you'd use a more general distribution, e.g. the beta distribution (although there are many other potential choices). It's a case of try-it-and-see!!!
 

Tony

Insider
I agree. It's possible to do, though.

I think this would be best addressed by having 'special' NPCs for particularly important story/quest-related characters (I know there's no quests, but let's call it that for now...), which have preset/predisposed personality types and dialog options. This distinguishes them from the masses of 'ordinary' NPCs (including potential followers) that exist in the world under the normal rules.

Ensuring that the AI doesn't go nuts will simply be a case of balancing / parameter tweaking. For example, if one character trait becomes prevalent, or too many people are violent etc., then you can adjust the nature of the stochasticity corresponding to those personality traits. Instead of a uniform distribution, you'd use a more general distribution, e.g. the beta distribution (although there are many other potential choices). It's a case of try-it-and-see!!!
Yes, I like your idea of having two different sets of AI rules (random and predefined). I think it would be a hell of a lot of fun testing the AI out in alpha or beta! I'm hoping Madoc (or any of the devs for that matter) gives us some insight soon about this topic because I find it very intriguing and I'm curious as to what approach BME plans on using.
 

SergeDavid

Insider
I think the limit to followers will be somewhere near the limit of how many npcs can be displayed on the screen at once. They follow the normal npc behaviors and there is nothing special about them besides their goals collide with your own. The tricky part is getting them all to follow you but I can see it being a lot easier if your main focus is things like trading. Imagine yourself with a wagon ferrying goods from one town to the next and so on. You can't drive two wagons at once so you hire someone and this grows from hiring or people joining your caravan out of convenience like a bard to lighten up your journey. When they don't wish to follow you they will go on their way, maybe taking a wagon with them with what they feel is rightfully theirs.

There should be no limit except for how hard it is to band together a few hundred people at once.
 

peta97

Insider
Are followers going to be specific characters in the game that can become your followers, such as in Skyrim, or will any NPC in the game have the possibility of becoming a follower if you can convince them. While this seems tough to do, I would love to have a wide variety of followers, rather than a generic group of followers to choose from. The way that Skyrim does it allows for backstory and more interaction from the followers, but I know I would have more fun with followers that could be any NPC so it's much more varied between games. One of the biggest things that breaks immersion for me is when I ask my friend how he's doing and he has the same follower and is doing the same stuff as me, with no unique experiences or stories.
 
Are followers going to be specific characters in the game that can become your followers, such as in Skyrim, or will any NPC in the game have the possibility of becoming a follower if you can convince them. While this seems tough to do, I would love to have a wide variety of followers, rather than a generic group of followers to choose from. The way that Skyrim does it allows for backstory and more interaction from the followers, but I know I would have more fun with followers that could be any NPC so it's much more varied between games. One of the biggest things that breaks immersion for me is when I ask my friend how he's doing and he has the same follower and is doing the same stuff as me, with no unique experiences or stories.
They already said you can ask anyone.

WHY DOES NO ONE CHECK MY BEAUTIFUL QUOTES PAGE. :(
 
Top

Home|Games|Media|Store|Account|Forums|Contact




© Copyright 2019 Bare Mettle Entertainment Ltd. All rights reserved.