What happens when you do something good or bad in games? Say you walked into a store and killed a merchant. In older games you would instantly become the bad guy (at least in this town), even if no one really saw or heard you doing it.
Later on, game developers introduced the system, where NPC would only do something if they saw you committing a crime. I think it’s hilarious, when NPC speaks to you in a room full of corpses, as if nothing ever happened, just because he didn’t saw you killing all these people.
Better games incorporated mixed systems, where doing things influenced your karma and affected NPC attitude toward you. However, guards would not attack you, unless someone saw you doing stuff.
In modern RPGs, a person who saw you doing the crime, must first get to the guard and tell him everything. This gives you a chance to finish off the bastard, before he tells on you. The only weird thing is – when one guard becomes aware, suddenly the whole town knows that you’re the villain. This is unnatural.
Let’s say that a town drunk – Jake, saw you brutally killing the traveling merchants in the woods. He now is in a shock and runs away as fast as he can. Jake will not go to cops, since he thinks that no one there would believe him. He is also scared that you’ll come for him, so he hides in a barn for a few days. After some time, he goes to the bar, gets drunk and tells everyone what he saw. Some people think it’s nonsense, some don’t really pay attention, but some folks may take him seriously. Those who think he’s not making this up, would report it to the law and go to the killing site to search for clues. If you haven’t cleaned up the mess and they find it, the people would become suspicious. Since Jake is a drunk for quite some time, he probably has a bad memory and can’t remember your face in detail (another version – he was shocked so deeply, that he actually remembered you for all his life). So the people start rumoring about strangers who visited the town (and seemed weird to them) or were spotted passing nearby. Eventually, they would either agree on who was the killer, or just become more suspicious to outsiders. Most of them will also forget this in a year or so.
What does one need to implement such a system? First of all, one should have a memory system, in which all significant events and observations would be stored. Jake was shocked with what he saw, and will never forget it. An excerpt from DB:
>#2658, memory type: code 7 [got drunk], importance: 45, timestamp: 25.09.1980 19:00, time precision: 1.5h, relevant memories: #2656 (20), #2657 (15).
>#2659, memory type: code 34 [saw a murder], importance: 95, results: fear #3, trauma #4, timestamp: 25.09.1980 21:00, time precision: 0.5h, relevant memories: #2660 (95).
>#2660, memory type: code 70 [remembers face], importance: 95, face ID: #0 [player], relevant memories: #2659 (95).
This database would then collect everything character remembers and link memories. Some memories will be deleted over time, while others will only fade. Access depth, memory fading rate, recollection accuracy, events worth remembering, etc. – all this depends on personality.
In example above, if someone asks Jake about him getting drunk, he will likely remember the fact that he got drunk and maybe even remember where (memory #2656) and what he was drinking (memory #2657).
If Jake sees you somewhere, your face will emerge in his memory for certain. When it happens, the memory of a murder will most certainly surface and trigger his fear and trauma. Triggered fear will make him shut up and run away, while the trauma will most likely force him to get drunk.
With such memory system, one needs a perception system to identify what character sees important to memorize. It should also filter out stuff/people character listens to, does he believe rumors, what are his interests, opinions, etc.
To complete such a system would mean to give your NPC a true personality – an ability to choose and react, ability to commit crimes, blame others, spread rumors, etc. Implementing it is a pain in the ass, and would require at least a year or two of hard work with a bunch of psychologist and sociologist advisers. The system would use tons of memory and require a lot of processing power.
It is my opinion, that advanced social interaction systems might be the next step in RPG evolution, and will make NPCs more “alive” and the game – more immersive than ever before.