|
|
View previous topic - View next topic |
Author |
Message |
Jihgfed Pumpkinhead Stephen Hawking
Joined: 21 Jan 2003 Posts: 259 Location: Toronto, Canada
|
Posted: Sun Feb 16, 2003 1:19 am Post subject: Popularity in RPGs |
[quote] |
|
There are some RPGs in which the PC benefits from being well-liked. In other words, it pays to be popular. I've seen only two ways for dealing with this (I'm not claiming there aren't others), and they run pretty much like this:
1. A running total of the goodness/badness of the PCs actions which determine what all NPCs think of him. (e.g., Ogre Battle does this; it's not actually an RPG, but close enough). 2. Simple event-driven NPC-interaction: you give Sally the apple pie, Sally's default dialogue changes from "give me pie, damn it" to "thanks a lot, dear". (e.g., just about every RPG ever).
There are a couple of exceptions, but mostly these have been the choices I've seen. In my game, however, I intend to have social (rather than combative) methods of problem-solving in the fore, so here's the system I'm using:
Every NPC has his own individual meter for gauging his opinion of the PC. When the PC takes an action which affects an NPC, if that action is positive, the meter goes up, if it's negative, down. Simple. Give Sally the pie, Sally likes you more.
The interesting part is that every NPC is connected, and each connection is given a value of between 1.0 and -1.0 which indicates the strength of that connection; in a sense, each NPC is a node in a network. If Sally and Joe are bosom-buddies, they would have a connection approaching 1.0; if Sally and Fred hate each other with a passion the likes of which this world has never seen, their connection would be down around -1.0.
So, when you take an action which benefits an NPC, that NPC likes you more, as do all the other NPCs who like that first one (i.e., all the NPCs with whom that first NPC has a positive connection). Opposite applies for negative connections.
In the example above, if you give Sally $50.00, Sally and Joe will like you more; Fred will like you less. If you give Sally a good kick to the head, she and Joe will dislike you, while Fred will like you.
So, each action is like a pulse travelling the length of the network, gradually diminishing in strength(because the connection value will never be a whole 1.0/-1.0). So, if you beat the crap out of Fred, Sally will like you; this is equivalent to a good thing happening to Sally, and so Joe will like you too, even though the direct action has no relation to Joe (i.e., the connection between Joe and Fred is 0.0).
Well? Thoughts? Advice? Adulation? Don't really expect that last one, but it never hurts to hope.
|
|
Back to top |
|
|
Rainer Deyke Demon Hunter
Joined: 05 Jun 2002 Posts: 672
|
Posted: Sun Feb 16, 2003 3:48 am Post subject: |
[quote] |
|
It's a good start.
It would probably be a good idea to think in terms of multiple dimensions instead of linear like/dislike. For example, if you are totally honest in your dealings with others, word will get around and people will trust you. If you cheat Fred, Sally may "like" you but she'll be less likely to trust you. Reputation can have many aspects: honesty, capability (in various areas), alignment (which is basically what you're modeling), mental stability, and so forth.
Ok, Sally dislikes Fred. But how much does she hate him? She'll be pissed if you help hin out. But does she really want him seriously injured? Let's say you kill Fred in cold blood for no appearant reason. Even if Sally hated Fred from the bottom of her heart, she'll probably be scared for her own life.
On the mathematical side of things, beware of infinite feedback loops.
|
|
Back to top |
|
|
Jihgfed Pumpkinhead Stephen Hawking
Joined: 21 Jan 2003 Posts: 259 Location: Toronto, Canada
|
Posted: Sun Feb 16, 2003 4:24 am Post subject: Response to a Couple Criticism of the Happiness Web |
[quote] |
|
Okay, in my initial post, I just very briefly summarized the system, leaving out a couple of important aspects. One of those aspects will take care of your second point, Deyke. The following I've lifted straight off of my web-page: it uses different names, and is designed to be entertaining to some degree so it's not as compact as it could be, so I hope you don't mind.
---- EXCERPT ----
I might as well note here, also, that the "relationship threads" are less about relationship than influence. If the PC pisses off Silent Jack, who never tells anyone his feelings, none of Jack's friends are going to care. Similarly, if the PC pisses off Big-Mouth Larry, the whole town's going to know about it, and the event will be blown out of all proportion (of course, if the whole town thinks Larry quite the ass-hole, this is a good thing).
Now, perhaps you've seen the major problem with this whole system.
In each version of this story I've told, Joe the Millwright turns out worse and worse. At first, it is simply that an unspecified bad thing which happens to him; by the end, he's a bloody mess. You undoubtedly thought it rather ghoulish of Farmer Bob to get off on that, and Baker Chuck, who only has a mild dislike for Joe the Millwright in the first place, seems also to have gotten a little thrill from it. It also seems abolutely terrible that Sally the Apple-Seller should be very much pleased by news of Joe's painful situation, given that she doesn't even know him. Sure, perhapse Bob's told her some stories of Joe's wrongdoing, but still... But let's take a less ambiguous example.
Imagine the PC cuts off all of Joe's appendages, rapes his wife, and crushes his daughter in the mill-press. Now, in addition to simply unfortunate for Joe, which it is, this act is rather bad, in general. Even though Farmer Bob hates poor Joe the Millwright, it is hoped that he would see this act as horrendous, rather than simply a good turn for himself.
With each act is associated, not just the happiness/sadness of the individual involved, but the general "goodness" rating for that act. The act above would have a goodness rating very near to, if not the lowest, it could go.
Similarly, each NPC would have a value which determines how highly he values goodness. This determines how highly his opinion of the PC rises when the PC does something which is "good." The goodness value "travels" with the happiness pulse; everyone who gets the happiness pulse will receive the goodness value as well. The goodness value will decrease with differences relationship and by the same sort of general deterioriation from which the happiness pulse suffers, but the effect will not be nearly so pronounced; so, just because he doesn't know Joe very well personally, doesn't mean that Freddie won't dislike the PC for placing Joe's daughter in a mill-press.
Anyone whom the pulse doesn't reach is not considered to know about the event. Therefore, the goodness value will not affect him. However, an event such as the one mentioned above would have the emotional impact necessary to make the rounds of the entire town, I should think.
Some people will be only marginally concerned about the goodness value of an action. VERY few people will have a negatively correlative goodness interpretation; in other words, they won't view evil itself as good. I like this system because I think it's rather realistic; why would I want a cartoonish supervillain?
---- END ----
Now, you'll object to the fact that I've made it so that all NPCs define "goodness" in the same way. Yeah, I'd object to that too in your place, but time/work constraints are weighing me down, so I've got to simplify to some degree.
That said, I'm not excluding specifically event-driven changes in a PC's popularity, so there will still be as much room for variation as in any other RPG; it's just not all this variation worked straight in to this system.
It would be really nice to add a credulity level or something, though, given that trust will be so important to the game; I think I'll do that, thanks. Again, I'd like to make this system a lot more multi-layered, but for each element I add to the system, that's another element I have to add to each event and NPC, and more importantly, another element I need to balance. With the above, though, plus the addition of the credulity meter, I think I can get a much fairer approximation of actual social interaction than most RPGs use.
Regarding feed-back loops, I don't know if I should send, with each pulse, information on the sender (so that each NPC would know who sent the loop, and therefore would not send a pulse back to that NPC who sent it), or just rely on the gradual deterioration of the pulse, and regard the pulse as insignificant after a point and stop calculating its effects. If anyone has experience in this, I'd be grateful for advice, but barring that I think I'll just have to see what works best.
|
|
Back to top |
|
|
Rainer Deyke Demon Hunter
Joined: 05 Jun 2002 Posts: 672
|
Posted: Sun Feb 16, 2003 6:05 am Post subject: Re: Response to a Couple Criticism of the Happiness Web |
[quote] |
|
Jihgfed Pumpkinhead wrote: |
Regarding feed-back loops, I don't know if I should send, with each pulse, information on the sender (so that each NPC would know who sent the loop, and therefore would not send a pulse back to that NPC who sent it), or just rely on the gradual deterioration of the pulse, and regard the pulse as insignificant after a point and stop calculating its effects. If anyone has experience in this, I'd be grateful for advice, but barring that I think I'll just have to see what works best. |
Just remeber: if the total absolute value of one person's influence exceeds 1, then you might actually end up with an amplifying system that blows everything completely out of proportion.
|
|
Back to top |
|
|
Rainer Deyke Demon Hunter
Joined: 05 Jun 2002 Posts: 672
|
Posted: Wed Feb 26, 2003 3:05 am Post subject: |
[quote] |
|
Another thought on reputation systems: in most systems, npcs start out feeling neutral toward the player and gradually change into total love or total hate. This is not realistic. Lesser actions - petty theft, giving to charity, helping with the groceries - should never result in an extreme reaction, no matter how often they are performed. A murderer will still be hated no matter how many old ladies he helps across the street.
My first thought for fixing this was to rate each action by both magnitude and goodness. Magnitude indicates how strongly the action influences reputation; goodness indicates where the action fits in between pure good and pure evil. Each npc tracks magnitude as a total and goodness as a weighted average. Goodness indicates what they think of the player, magnitude indicates how confident they are in their opinion. Murder would have a very low goodness value and a high magnitude. Petty theft would have a higher goodness value (but still below neutral) and a low magnitude value. If the player commits a lot of petty theft, people will be pretty sure (high total magnitude) that the player is a scoundrel, but they won't treat him like a murderer (average goodness still well above murder).
However, this system as described has two major flaws. For one, players gradually lose the ability to influence people as their reputation grows. This may be realistic - the first impression is generally the most important one - but it won't make for a fun game. The other, more imnportant flaw is that engaging in petty crime will actually improve the player's reputation if people think him a murderer.
Now I'm thinking of summation & decay. Each action has a value, which is either positive (good) or negative (bad). Each action also has a decay rate which indicates that its influence decreases as people start to forget. Minor actions may be forgotten the next day. Some actions (such as murder) may never be forgotten.
I'm also thinking of making some actions irredemable. If you murder Sally's love, she's going to hate you no matter how many good actions you perform.
|
|
Back to top |
|
|
Ironshanks Wandering Minstrel
Joined: 17 Feb 2003 Posts: 134 Location: Shiner's Peak
|
Posted: Wed Feb 26, 2003 4:11 am Post subject: |
[quote] |
|
Good thinking, I agree with that system. So...would you have certain cut-off points? Would it be possible to ensure that certain actions leave a permanent mark on your reputation?
You could also have reputation local to certain areas...sure you may have a reputation in one city, but unless you are a legend it's unlikely people on the other side of the country will have heard of you.
Genocide would probably be unpopular in any system. _________________ That's not a broken link, it's a PICTURE of a broken link. It's really very conceptual.
|
|
Back to top |
|
|
Jihgfed Pumpkinhead Stephen Hawking
Joined: 21 Jan 2003 Posts: 259 Location: Toronto, Canada
|
Posted: Wed Feb 26, 2003 1:08 pm Post subject: Thoughts on Deyke's Popularity System |
[quote] |
|
Rainer Deyke wrote: | Now I'm thinking of summation & decay. Each action has a value, which is either positive (good) or negative (bad). Each action also has a decay rate which indicates that its influence decreases as people start to forget. |
Sounds good; I certainly like the fact that one has to maintain one's popularity..
To save yourself some trouble, does each action really need a decay rate and a severity rate? Can't one of them generally be derived from the other?
I'm curious: who "knows" about the PCs actions? When he does something, does everyone know about it, and therefore does it affect everyone's opinion of him? or does it only affect the opinions of those whom it affects directly?
|
|
Back to top |
|
|
Rainer Deyke Demon Hunter
Joined: 05 Jun 2002 Posts: 672
|
Posted: Wed Feb 26, 2003 6:21 pm Post subject: Re: Thoughts on Deyke's Popularity System |
[quote] |
|
ironshanks wrote: | Good thinking, I agree with that system. So...would you have certain cut-off points? Would it be possible to ensure that certain actions leave a permanent mark on your reputation? |
Actually, really slow decay might be just as effective as permanent effects on reputation. I'm thinking about separating "good" and "bad" reputation. If the bad reputation exceeds a certain threshhold, then no amount of good reputation will keep the affected npcs from hating the player.
Jihgfed Pumpkinhead wrote: |
To save yourself some trouble, does each action really need a decay rate and a severity rate? Can't one of them generally be derived from the other? |
I've thought of that myself, and it might work. The advantage of separating them is that it gives the system more depth. If you insult a drunk warrior, he might really hate you and try to kill you immediately, but he might have forgotten about it in the morning when he's sober.
One compromise might be to derive decay from severity, but use a different formula for different people. For the hothead fighter, both severity and decay are very high. He will respond strongly and immediately, but by the next week he will have forgotten the incident. For the level-headed thinker, it's the other way around. He won't lose his temper, but he will remember the player's deed a lvery long time.
Quote: |
I'm curious: who "knows" about the PCs actions? When he does something, does everyone know about it, and therefore does it affect everyone's opinion of him? or does it only affect the opinions of those whom it affects directly? |
I'm thinking of tracking information separately. If there are no witnesses, reputation is unaffected. If one person saw the player, pretty soon the whole village knows. Severity would decrease with distance: the people in a village halfway across the continent might have heard of the player's deed, but they would be less affacted, partially because they have only heard rumors and partially because they care less.
Once a npc knows of the player's actions, their own opinion of the player can be affected. Not all npcs have to be affected in the same way; if Joe was a notorious thief, most people might not care if you kill him, but his daughter will swear revenge.
This actually introduces the possibility of deductive reasoning on the part of the npcs. If the player is seen sneaking around at night, hiw reputation would only be hurt a little bit. If the player was seen sneaking around on the night when Sally was killed, the effect on reputation should be much greater.
It is also possible that npcs pass on false information if they dislike the player.
I still like the idea of multidimensional reputation. Acts of cowardice and acts of murder will both tarnish the player's reputation, but people who think that the player is a coward will treat him differently than those who think he's a murderer.
|
|
Back to top |
|
|
Ironshanks Wandering Minstrel
Joined: 17 Feb 2003 Posts: 134 Location: Shiner's Peak
|
Posted: Wed Feb 26, 2003 6:36 pm Post subject: |
[quote] |
|
I can see a lot of potential in that system...the whole player involvement in the game world would be taken up a notch. Wouldn't it be a huge amount of work though, to outline all the possible reactions?
Would npc's think you're crazy if you perform actions that make no logical sense? That would be interesting. _________________ That's not a broken link, it's a PICTURE of a broken link. It's really very conceptual.
|
|
Back to top |
|
|
Rainer Deyke Demon Hunter
Joined: 05 Jun 2002 Posts: 672
|
Posted: Wed Feb 26, 2003 7:13 pm Post subject: |
[quote] |
|
Ironshanks wrote: | I can see a lot of potential in that system...the whole player involvement in the game world would be taken up a notch. Wouldn't it be a huge amount of work though, to outline all the possible reactions? |
Probably. It depends on the scale of the game. In a game like Quest for Glory, where the entire setting is a valley with one village and there are only 20 or so npcs, it wouldn't be all that much extra work. On a continent-spanning game, it would be a lot more difficult.
There's also the question of focus. If the game is all about killing random monsters, a sophisticated reputation system is probably a waste of effort. On the other hand, the game could be all about reputation. I'm thinking of a quest to unite warring clans against a common enemy.
Quote: | Would npc's think you're crazy if you perform actions that make no logical sense? That would be interesting. |
Interesting, although I'm not sure what gameplay purpose it would serve. Would the player ever have a valid reason for acting crazy? Actually I see one interesting way to include this in the game. The player has the ability to see spirits that nobody else can see. If anybody catches the player speaking to such a spirit, the player's reputation is hurt. If the player ignores the spirits, he loses out on a valuable source of information.
|
|
Back to top |
|
|
Ironshanks Wandering Minstrel
Joined: 17 Feb 2003 Posts: 134 Location: Shiner's Peak
|
Posted: Wed Feb 26, 2003 9:20 pm Post subject: |
[quote] |
|
The spirits thing is pretty cool, or if a druid could talk to animals...commoners might think he's a nut. _________________ That's not a broken link, it's a PICTURE of a broken link. It's really very conceptual.
|
|
Back to top |
|
|
Rainer Deyke Demon Hunter
Joined: 05 Jun 2002 Posts: 672
|
Posted: Tue Mar 04, 2003 7:47 pm Post subject: |
[quote] |
|
Now that I've actually started to design my game, I'm starting to think that it might be better to not to have a numeric reputation system at all. Instead, reputation would be tied to specific events. Sally will like you if and only if you helped Fred. The Bear-claw clan will help you if and only if you proved your courage by raiding the troll camp. If you murder joe, everybody will hate you.
There are several advantages to handling reputation like that. Reputation can have many dimensions and personalized reactions, since any npc can react to any game event in a personalized way. It doesn't require me to balance the various numbers, since events that affect reputation aren't added together. It somewhat reduces the amount of development effort, since not all npcs need to be capable of having all possible opinions of the player. It is not open to a certain class of exploits, since the player cannot artificially boost his reputation by being polite a million times in a row. It is also makes it easier for the player to follow the causality.
However, having a numerical reputation also has its advantages. It makes complex combined effects easier by collapsing them into a single number. It allows for various modifiers - for example, a character with a high charisma score could automatically have a higher reputation. It also simplifies design by creating a single unified system which explains all reputtaion effects.
I'll have to think about this some more.
|
|
Back to top |
|
|
Jihgfed Pumpkinhead Stephen Hawking
Joined: 21 Jan 2003 Posts: 259 Location: Toronto, Canada
|
Posted: Wed Mar 05, 2003 12:31 am Post subject: Popularity Synthesis |
[quote] |
|
It needn't be an either/or thing. I intend on having the numerical system as the default for an action, but for the more important and more quest-sensitive actions, that will be over-ridden by the standard trigger/reaction event-handling. Similarly, the trigger/reaction event-handling can be used to modify the numerical popularity values, if that's seen as advantageous.
I think that, if there's going to be any significant degree of PC/NPC interaction, and especially if there's simulated NPC/NPC interaction, this is the way to go. The numerical system is fairly wide-sweeping and, once it's set up and calibrated, if you have a large number of potential events, it is much easier to script (I think). That said, you don't want to lose the precision of the specific trigger/reaction system, so keep it for those events for which the other system just doesn't seem to work.
|
|
Back to top |
|
|
|
Page 1 of 1 |
All times are GMT
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|