NPC behaviors and disposition:A big problem in TES is how NPCs interact with you and react to their surrounding. The actual problem is that there are simply to few factors this is based on, so far it only depends on how much they like you and how high the "attack" value is.
Dispositions:Instead of having only one value, how much NPCs like you, there should be more which can vary the behavior NPCs display towards you.
Hate --- Like
Fear --- Trust
Despite --- RespectHate and Like:The more a NPC likes you the more he's willing to lean your way, like a shop owner giving you a discount on items or how willing somebody is to talk or being around you.
Fear and Trust:When somebody fears you it's easier to threaten them to give you informations or to do things. However this can only go so far, if you threaten somebody with a sword to the back and tell them to jump off a cliff it's likely they'll fight you since that gives them more of a chance to survive than jumping to a certain death. Also people fearing you will do more to avoid you.
People trusting you are also more willing to tell you things or take risks like letting you into their private rooms. If they really trust you they also believe you more giving you potential space to lie to them.
Despite and Respect:People respecting you gives you more the ability to tell them what to do even when it puts them in potentially harmful situations. Also they will of course "respect" you more, at low respect they may get mad if you run into someone, at high respect they will more likely even say sorry if you did it intentionally.
Those 3 factors can make it differ more largely how NPCs behave towards you. A shop owner might like you and give you discounts but that doesn't mean he'll trust or respect you, if you disappear in a hard to see corner of the store they might peek after you or walk around to keep an eye on you.
Somebody trapped in a burning house might hate your guts or always treated you like a doormat but if you offer to lead him out of there it's likely he'll trust you enough to do that.
Soldiers may hate their leader and possibly fear him more than trust him but can have so much respect they'd go through hell and back for him.
A little thought on how they are displayed, I really don't like giving out a direct number value like "this person likes me 75%". Instead it could just say "likes me", "dislikes me", "hates me a lot" and so on. 7 "units":
"extreme negative" - "negative" - "slightly negative" - "indifferent" - "slightly positive" - "positive" - "extreme positive".
Viral disposition spread:Just having a disposition "score" has a big problem, it increase or decreases your disposition universally meaning even a hermit who had no contact with anyone for 50 years suddenly knows about you.
Keeping it to single NPCs or only those that saw what you did poses another problem, if you did something great and it's far more likely that news would spread you'd stay a nobody in some places even if logically you should be more known by now.
A solution is by having a "viral" spread, for one on small scale between actually interacting NPCs and on larger scale with a simulated interaction range.
On small scale this means whenever two NPCs interact (talk to or are in a certain proximity to each other) and one already has altered disposition values about you he will influence the other NPC. On large scale it takes the average of how people think about you in an area and simulates how people between two areas interact.
Places that have much interaction like a marketplace will spread your disposition relatively fast and stronger, those with little interaction, for example between a slum and a noble quarter, will only leak little information between each other meaning your disposition will spread slower and with less impact.
Like this news about you can actually travel instead of just spreading universally. You might be a small scale legend in one corner of the world but still relatively unknown in another part, however due to direct interaction somebody in a remote corner might already know more about you since he talked to somebody in the area where you're a hero.
The strength of how your disposition is altered between two NPCs depends on how much their disposition is towards each other too of course, if they get along they're more likely to share the same view about you, if they hate each other it's even likely that they don't believe the other about you and can even turn it into the opposite.
NPC personalities:The NPCs having actual personalities is very important in this field too as they have to actually react differently to situations around them. And this can of course vary how they react to things you do and how you behave.
Personality sheets:
A way this could be fixed is by giving them a "personality sheet" that, depending on the strength of it's "stats" puts together a behavior pattern. Each of those stats would more or less represent two sides of a extreme, sometimes one side is better than the other but most of the time a balance in the middle is ideal. Some, among others, of those stats could be:
Happiness:Low end; Sad (Depressed) ? High end; Happy (Euphoric)
Fear:Low end; Hardly scared by anything (Fearless) ? High end; Easily frightened (Cowardly)
Generosity:Low end; Selfish (stingy) ? High end; Generous (giving)
Anger:Low end; Calm (tranquil) ? High end; Angry (Aggressive)
Emotional stability:Low end; Personality traits can change drastically (unstable) ? High end; Personality traits change barely (stable)
sixual Orientation:Low end; Heterosixual ? High end; Homosixual (middle is Bisixual)
(This is far from being the full list, there should be a lot more factors that control NPCs behavior. Those are just to give a small example of possible personality traits.)
The combination can determine if a NPC is a grumpy and mean character or cheerful and friendly, or any odd combination between them (and more).
Each personality trait is mostly static and can have a modifier to change the NPC behavior based on the situation. A generally happy NPC can be sad in times of tragedy, but will become happy again.
Personality traits can change slowly if the personality modifiers are strong enough over a long time. A happy NPC living a depressing live will become bitter over the years.
Traumatic or shocking experiences, like the death of a loved one, can change a personality drastically.
The modifiers have something like a maximum stress point, The stronger the modifier is the more it pulls a emotional value in one direction. If it steps over a certain strength it just snaps which can make the NPC go into a state of shock or trauma, this can even make them go insane.
Also when reaching a snap point the emotional stability lowers significantly.
The sixual orientation plays a big role in things like flirting or relationships, the likes and dislikes (explained below) heavily influence who exactly people find attractive but the orientation dictates the gender they like. A woman might feel comfortable hanging around with other women but her sixual orientation is still heterosixual.
Likes and dislikes / Desires and Phobias:Something that works similarly like the personality sheets are Likes, Dislikes, Desires and Phobias. Those work independently of the personality sheet however though they are somewhat interlinked, a low "fear" value for example can mean they have a better time countering phobias while encountering something that causes a phobia can raise fear. However even when the Fear value is low a phobia will cause a fear reaction.
They can all be different steps in each field going like this:
Phobia --- Dislike --- Indifference --- Like --- DesireBeing fully into the Phobia side can mean this field is a crippling fear, encountering such a phobia or even having mentioned can cause strong panic reactions.
Fully into the Desire can mean it's almost a perverted desire which, under the "right" circumstances, can even make a NPC forcefully attempt to fulfill them, like a drug addiction.
A strong willed character is not as likely to succumb to his fears or desires.
Tending towards a side has influence on your characters personality (the emotional one) but is also influenced by it (the base personality). By standard all values are in the middle, so Indifferent. But even then they are not fixed, they can slowly tend towards one end or the other as well, Phobias can be reduced over time, Desires can lose their effect.
Choosing them could simply be in the form of expendable dropdown lists that get more detailed the further you click them, you can either just check a whole set or individual entries and then change their orientation. Some of the possible likes and dislikes can be:
-Race (individual races)
-Genders
-Animals (Individual and sub types like insects, arachnids, reptiles, large animals...)
-Daedra (individual Daedra and creatures, certain branches or universally against all of them)
-Gods
-Food
-Colors
...
Just to name a few, the actual list can be far longer and more detailed.Picking a option does give it a definition, not picking one leaves it on "indifferent" by standard. However you can also choose to randomize them when making a NPC or when they're randomly generated.
Needs and reliefs:Aside likes and dislikes there are also basic needs a NPC has to fulfill, basics like eating, sleeping, sixual urges, defecating, calming pain and the like.
If a unpleasant situation arises for a NPC he will seek to relief it, they will have a borderline of how far they are willing to go and how willing they are to ignore a need. This barrier prevents a NPC from going into a knife fight for a piece of bread just because they couldn't afford one for a day but the same time will make them fight for their life if nearly starved.
NPCs differ at where their "snap points" for those values are, one might go insane after just one day without food, others can go several days and just feel mildly annoyed. If a character hits a snap point he will attempt to fulfill a need more recklessly, the further it goes the more recklessly he will becomes even going towards being destructive or self-destructive.
The values of course also interact with the likes and dislikes as well as the NPCs personality. Some factors might soften a need, some will increase it. They also influence what direction a need can take, a NPC with a high like for meat who is hungry will attempt to get meat. However when nearly starved he'll generally settle more towards any food, maybe even food he hates.
Those together can also differ HOW a NPC reacts when reaching a certain point. If some have went hungry for too long they will try to steal or fight for their food, others will beg, others will stay proud even if it means their demise. And it can change depending on the situation too, chained up in a dungeon, might go more towards begging, luckless on the street, more towards stealing and fighting for it.
Having those extra values can not only add to NPC interactions but also to the AI and behavior. After all it can determine if a NPC feels hungry, sad, heroic, greedy... in fact it could even change if a NPC becomes a thief, a lawful citizen, a greedy bastard or a likable, jolly person. They wouldn't remain static forever but actually change realistically to the world around them.
Like this the behavior of NPCs can vary much more, it can change how they act and interact, what they like and dislike and how well they get along with you and each other.
Also it wouldn't require a "good and evil" meter this way as if a NPC sees you as good or evil completely depends on what they actually THINK and know about you.
As a little side note this also REQUIRES that psychic guards go away but I think everyone want to see those gone. Also if you do kill someone, even if it was in complete cold blood, if nobody observed it there's NO judgment over you. Only what is really revealed over you should actually spread.
However law and morality is another topic I may get into at another point in time, this is just a little side note on my main topic.