Many people want more realistic characters in their games. They want characters to react realistically (or at least entertainingly). The problem is that it's always really shallow. For example, in Oblivion you can get anyone in the game to like or hate you. In Fable you can marry almost anyone. In The Movies, every person on the lot has a complex personality. But... it is completely unsatisfying. Doesn't add anything to the game.
So, how can you integrate these complex, adaptive characters into the game in a way which is fun?
Here are three things I've found:
1) Characters linked into the game world. The character needs to have an effect on the game world which varies based on your relationship with them - and it needs to be significant enough to notice. The basic idea is: a statistical difference is not good enough. Instead your relationship with them should enable new capabilities (capabilities which are relatively unique).
Examples of bad ways of linking characters to the game world: If you're friends, they gain two points of strength. If they fall in love, you can sleep at their house. If you rescue their puppy, they'll give you 10% off their store's goods.
Examples of good ways of linking characters to the game world: if you're friends, they can learn black magic. If they fall in love with you, you can heal yourself once a day no matter where you are. If you rescue their puppy, they'll sell you guns. If they hate you, they'll hunt you no matter where you go.
2) Limit the number of characters. A serious problem with many attempts is that every character can be affected, and there's hundreds of characters. Think about it as simple supply and demand: don't oversupply. You can restrict the number of characters you can meaningfully interact with in many different ways, some of which are amazingly subtle.
Examples of how not to do this: Fable, Oblivion.
Examples of how to do this: The Sims, KOTOR.
3) Think long term. Socializing isn't like fighting a monster: someone you made friends with at the beginning of the game shouldn't become "obsolete" - there should be interesting relationship developments even in the late game. This can be done many ways, and my preferred method is to make relationships very "fuzzy" rather than binary. The idea of having "levels" of relationship is inherently limited.
Examples of how not to do this: KOTOR, Fable.
Examples of how to do this: Hm...