Archived

This topic is now archived and is closed to further replies.

Wavinator

What are friends for???

Recommended Posts

Maybe we can give a new spin on an old topic? What are some ways we can represent NPCs as friends in a game? How would an NPC prove himself your friend? How do you give the player the feeling that the NPC and he or she are "in this together." To prevent this from spiraling off into a hairpulling and unrealistic AI issue, I''ve been thinking more along the lines of "cheap tricks." IOW, things that we as designers might actually achieve . Remember, it''s only necessary that the NPCs seem like friends! Here''s a couple of things I''ve been thinking about: The starting factors (pls add others) -Building a Relationship- Who the NPC is, his familiarity with you, and his opinion of you based on your past interactions determines whether you''re just a stranger, considered a trusted friend-- or even a hated foe. * Familiarity - The number of times you''ve encountered one another and interacted. Affects how the NPC addresses you. Maybe also affects whether or not they can give information about you to others (great for stuff w/ enemies and the law ) * Opinion of You - Made up of the average quality of the interactions. This assumes that interactions can be quantified, say as in "Attacks are bad," "Gifts are good." Tough to do when player actions are complex, but I may have some ways to work around this. * Personality - There''s room to add some interesting personality stuff here, too: NPCs could value / devalue you based on your race, your alignment / repuation, your wealth, or social status. (These would filter the effects of interactions). But how do they express this? I''ve got lots of ideas, but I want to give people a chance to jump in and add their own. I''m thinking of things like aid, assistance with challenges, and dialog. Also, I''m wondering how we can set up a relationship that can ebb and flow between the player and the NPC based on deeds, time that has passed, and the state of the game universe. Thoughts??? -------------------- Just waiting for the mothership...

Share this post


Link to post
Share on other sites
I think this is very important. The "we" feeling can add much to a game. I liked the way it was done in DeusEx. The most complex approach I''ve seen so far in an FPS.

Resident Evil does this only in cut scenes. YOur friends disappear very fast, but you still have the feeling they are fighting on your side.

Most games were you directly act with your "friends" like Daikatana fail hopeless. I still think we need all those tricks since the real thing can''t be done, only faked.

Tim

--------------------------
glvelocity.gamedev.net
www.gamedev.net/hosted/glvelocity

Share this post


Link to post
Share on other sites
How do NPC''s express their personality and opinion of you? Through dialog..... I have the feeling that isn''t what you meant.


-Forcas


"Elvis is alive. He is Barney the purple dinosaur. He is the pied piper that leads our children into the wages of sin and eternal damnation."

Share this post


Link to post
Share on other sites
You need a random smalltalk generator

Ok, a couple of cheap tricks (and I''m sure these have been used before):

Use family, mentors, childhood friends - an implied history can go a long way.

Use fade out/fade in on video and audio to imply that time has passed while the characters are having some sort of social interaction. (unless you really want to write that idle chatter AI)


Some things that a person/friend living a "normal" life could provide to the adventurous player run character: information, lunch, a place to sleep, a place to hide, introduction to other npcs (with a possible bonus or penalty to the interaction), other things based on their profession (are they a doctor, a bartender, a noble/politician, a fence?) - these could be dialog driven (the player could have a dialogue option to ask the npc if he/she can spend the night, etc), and sucess or failure could be determined by the factors you mentioned, and how often the player has requested favors. NPCs with the implied histories would be more likely to provide some of these favors.

Why would the NPC befriend the player? You could have a basic alignment/karma/personality/motivation/whatever system, which could determine whether characters are compatible - modified by player actions, whether tangible or through dialog (perhaps you could have various dialogue options which would inspire different reactions from different characters {the same thing said in different ways, hostile, nice, etc}). You could use story triggers to give the player an opportunity to befriend an npc (saving their life, helping them if they fall, returning a stolen possession, etc.)

-pwd

Share this post


Link to post
Share on other sites
You mean NPCs can be used?! I just kept selling them to the slavers!!

Excuse the obscure FO2 reference....


-Ryan "Run_The_Shadows"
-Run_The_Shadows@excite.com
"Doubt Everything. Find your own light." -Dying words of Gautama

Share this post


Link to post
Share on other sites
I am wondering what you guys consider as "cheap tricks".
Why ?

And as well, I know we are supposed to stay in the context of Game Design, but why extend the question to a more general level : what are friends ? Why do we have them or not, etc

Then once you have answered those basic questions you can start focusing on what parts should be taken into account in the games.

For instance, you refer to smalltalk as a cheap trick ??? WTF, I have friends because I TALK to them. Small talk or not, it doesnt matter. The talking is a way to keep in touch, to just show that there is a connection, it''s a pleasure I share, something I need in order to keep the bonds alive with them.

There is nothing worse than a game where you share an entire adventure with mute NPCs following you around, ready to sacrifice their lives for you, but that wont utter a word unless it is a necessary part of the scenario.
On the other hand, I loved the Ultima series for the recurring characters, their distinct personalities, their interesting interruptions during dialogs to give their opinions, etc.

So, rather than start rambling on and on on the different things I have already thought about, let''s answer this simple question : what are friends ? And why on earth would they follow us in our adventures (the same question applies to enemies, BTW).

youpla :-P

Share this post


Link to post
Share on other sites
quote:
Original post by ahw

So, rather than start rambling on and on on the different things I have already thought about, let's answer this simple question : what are friends ? And why on earth would they follow us in our adventures (the same question applies to enemies, BTW).




Well, firstly I think it's important to note that I don't think NPCs need to accompany the player to be a friend. Just a shopkeeper showing that he/she remembers the player by making a reference to a previous interaction they had or something could be a step in the right direction.

The answer to why this is important. Humans are generally a social species. We, in life, don't want to be alone all the time (although we game programmers tend to like solitude more than most ).

In the sense of the game, we find it immersive to have the illusion that we are part of a complex world. We like the feeling that we and the NPCs are not just another group of stats. It's about what I think Neitzche referred to as alienation...feeling like just another number in society.

http://www15.brinkster.com/nazrix/main.html

"All you touch and all you see is all your life will ever be --Pink Floyd
Need help? Well, go FAQ yourself.


Edited by - Nazrix on January 27, 2001 1:44:44 PM

Share this post


Link to post
Share on other sites
quote:

For instance, you refer to smalltalk as a cheap trick ??? WTF, I have friends because I TALK to them. Small talk or not, it doesnt matter.



Real smalltalk would not be a cheap trick. It would be really difficult to make. A small section of code that pulls some random small talkish comments from a database (perhaps modified by personality traits), that''s a cheap trick How could we tell whether the NPC is thinking about the weather or not? It''s trying to give the illusion of something that we cannot possibly hope to simulate just yet. Smoke and mirrors...

It could potentially help when combined with other systems.

quote:

There is nothing worse than a game where you share an entire adventure with mute NPCs following you around, ready to sacrifice their lives for you, but that wont utter a word unless it is a necessary part of the scenario.



I propose that they stay at home and lead normal lives Maybe you could crash on their coach every once in a while...

-pwd

Share this post


Link to post
Share on other sites
Okay, just to alter course here slightly

The reason why I favor cheap tricks is twofold:

1) Our CPU/software/algorithms suck when it comes to doing game AI in all but the most constrained cases. Dedicated cases where the game is built on an AI technique (Creatures, or Galapagos, for example) are a different story.

2) For game purposes, probably 80% of what relationships are about are irrelevant. Our avatars and NPCs don''t have the kind of nuance that it would take to value all the ways that we express friendship. So I''m trying to keep this simple in the hopes that we aspiring and indie designers might actually GET somewhere

--------------------
Just waiting for the mothership...

Share this post


Link to post
Share on other sites
pwd, you come closest to what I was thinking could actually be feasible and realistic.

quote:
Original post by pwd

Use family, mentors, childhood friends - an implied history can go a long way.



How do you make them mean something in game terms? If your friend or mentor is killed or kidnapped, why does it mean something? Normally a story / mission game will just order you to go get them.

I''m looking for an alternative. The nearest thing that I can find is to make NPCs useful. We can''t guarantee the player will be motivated by pregenerated relationships or affinity alone.

So if the NPC is lost, it must cost the player something: reputation, or services, etc.

quote:

Use fade out/fade in on video and audio to imply that time has passed while the characters are having some sort of social interaction. (unless you really want to write that idle chatter AI)



Yeah, I''m a fan of summarizing interactions. Instead of a bunch of dialog, you get "Sir Dane finally confesses to the location of the Theives Guild."

quote:

Some things that a person/friend living a "normal" life could provide to the adventurous player run character: information, lunch, a place to sleep, a place to hide, introduction to other npcs (with a possible bonus or penalty to the interaction), other things based on their profession (are they a doctor, a bartender, a noble/politician, a fence?)



EXACTLY!!!! EXACTLY!!!! EXACTLY!!!!

This I think is how you make friends mean something in a world where you are practically mute and emotionless. With a bazillion frames of animation, or real-time rendered faces with realistic muscles, etc. etc. etc. This seems much more realistic!

Now if we can just work out how these would actually work.

quote:

- these could be dialog driven (the player could have a dialogue option to ask the npc if he/she can spend the night, etc), and sucess or failure could be determined by the factors you mentioned, and how often the player has requested favors. NPCs with the implied histories would be more likely to provide some of these favors.



Okay, I jumped the gun on the implied history. Now I see that as adding so much more!

quote:

Why would the NPC befriend the player? You could have a basic alignment/karma/personality/motivation/whatever system, which could determine whether characters are compatible - modified by player actions, whether tangible or through dialog (perhaps you could have various dialogue options which would inspire different reactions from different characters {the same thing said in different ways, hostile, nice, etc}). You could use story triggers to give the player an opportunity to befriend an npc (saving their life, helping them if they fall, returning a stolen possession, etc.)



You and I are of the exactly the same mind.

I also am thinking about how to reverse the above, so that you would also be proving your friendship to an NPC. NPCs could ask for favors, or help, or a place to crash , and the player would be proving their worth as a friend by providing it or not.

I''m going to try to squeeze this all into a somewhat generic system of rules...



--------------------
Just waiting for the mothership...

Share this post


Link to post
Share on other sites
quote:
Original post by ahw

I am wondering what you guys consider as "cheap tricks".
Why ?



Anything you can stuff into a numeric system and reflect back to the player as a reasonably approximate realistic event / behavior / action I''d consider a cheap trick.

For example, "Love or Hate" A positive or negative number an NPC might hold. Good actions increase. Bad actions decrease. So attacking is bad, and giving gifts is good.

For more finesse, a personality factor might be employed to filter out the input. So gifts given by someone you hate weigh less than attacks; and attacks by someone you adore are more easily forgiven, and gifts magnified.

Cheap trick. It doesn''t rely on a convoluted AI scheme that most of us here are unlikely to implement or complete. (No offense, ahw... but the odds are already against us. Complex AI, esp. in real-time, for indies and aspiring developers is like aiming a howitzer at the foot...)

quote:

what are friends ? Why do we have them or not, etc



To support, and be supported. That''s probably the main reason, and I think it can be translated reasonablly to game terms.

We already do it for combat, but it''s one sided (the NPC is always in an inferior position). An important element of any relationship is reciprocation. If we extended the range of support activities and states, and gave the player some way of reciprocating (and NPCs of expecting it, i.e, a measure of indebitedness) then we might create a feel of "mates" that are with you on an adventure.

quote:

For instance, you refer to smalltalk as a cheap trick ??? WTF, I have friends because I TALK to them. Small talk or not, it doesnt matter. The talking is a way to keep in touch, to just show that there is a connection, it''s a pleasure I share, something I need in order to keep the bonds alive with them.

There is nothing worse than a game where you share an entire adventure with mute NPCs following you around, ready to sacrifice their lives for you, but that wont utter a word unless it is a necessary part of the scenario.



The thing that turns me white with fear here (no mean feat given my ethnicity ) is how difficult dialog is to do: You run into walls like the impossibility of NLP, or the lameness of branching dialogs and their sheer size, or the difficulty language presents a symbolic communication scheme... ugly!

Story based games have it easier, but I''m eternally looking for a replayable method. Dialog needs to be as replayable as combat. (I and Naz and I''m sure others have ideas on this...)

You are ENTIRELY correct, though: Communication is one of the most satisfying parts of any relationship. Nothing would be better than if you and your mates could swap tales, or process events, or just comment on the experience ("You see the size of that DRAGON?!!!!"). The difficulty is just simulating this with a CPU.


--------------------
Just waiting for the mothership...

Share this post


Link to post
Share on other sites
quote:
Original post by Nazrix

Well, firstly I think it''s important to note that I don''t think NPCs need to accompany the player to be a friend. Just a shopkeeper showing that he/she remembers the player by making a reference to a previous interaction they had or something could be a step in the right direction.



Agreed. Fallout 1 almost got this right. There were some shopkeepers who''d comment on how long you''d been away, or what you purchased last. They didn''t quite do it right (one I remember kept repeating her lines, and out of context) but they go close.

Keeping a counter on how long the player''s been gone, btw, would be another thing that I''d classify as a "cheap trick" that would be effective.

--------------------
Just waiting for the mothership...

Share this post


Link to post
Share on other sites
What do you guys think of this? It''s mechanistic, but a start...

If we ever are to have any hope modeling friendship we need some measurements. One useful measure could be reciprocation: Have you helped me? Have I helped you? When? How much?

Above I mentioned the notion of indebitedness. "You owe me." Gifts, favors, assistance, information... These could all be a way of measuring indebitedness. The action of giving places another in your debt (based on the value of the gift); and taking / accepting makes you indebited to another.

Since reciprocation is a roughly equal exchange, indebitedness could help us determine the health of the friendship. Lopsided exchanges with little or no return would damage the friendship. Lack of exchange would also cause it to wither (say, turning it into a "former" friendship). The NPC''s personality (and the player''s) would buffer how this works: Some people are more forgiving and flexible about imbalances than others.

Volume of exchange, or what is owed, would determine depth. This would make a "life debt" friendship deeper than the one you have with the local shopkeeper. It should be harder to have a high volume of exchange with someone you barely know: In this way, the millionare who goes around buying everybody gifts isn''t really their friend.

The exchange system would be very much like barter. The value of an exchange would be determined more by the NPC''s personal factors-- such as personality or condition-- than by some innate value. Thus the gift of a gold sword might mean little to a monk who collects ancient scrolls, and an ancient text you found might mean nothing to the mighty King. Vice versa, however...

How to make this work in gameplay

For the NPC, we can measure each exchange and monitor the balance. According to personality, the NPC would want to keep the balance a certain way.

Players need some indicator of the balance, without being told outright (unless his friend is Ivana Trump). Dialog can hint at it, but I woundn''t be opposed to some sophistocated status bar / log, either. (Heck, real relationships are tough enough...)

I suggest allowing the NPC to "test" the friendship by getting into debt with the player. Asking for assistance, or loans, or aid in a quest would be great ways for the player to not only get involved in the NPC''s simulated life, but prove friendship as well. We could really have fun with this: What does the player do when asked to do something illegal? Or something that threatens his own reputation? Or might cause him great risk? These little details could alter the gaming experience, and define the player''s adventure

This could be a start...

--------------------
Just waiting for the mothership...

Share this post


Link to post
Share on other sites
Wavinator,

I like it

The statusbar may not be such a bad thing. I remember an SNES game that had something like this (don't laugh) - there was a gem on the corner of the screen, and it would change color when you were interacting with an npc - based on their opinion of you. I remember this being a neat gimmick, but that was some time ago. One of the Breath of Fire games - I don't know if the PSX ones do the same thing.

Now, could an NPC track down a player somehow to request a favor? It seems like players are for the most part "homeless heros", and travel from place to place quite often. I could see the favors requested by other "homeless heros" being quite different from those being requested by "normals", and the ones being reciprocated being quite different as well. That is why I mention a "place to sleep".

Would it be interesting to have a player actually have a home? Perhaps they could be a regional hero, taking care of problems in a single city or small region. But I'm off topic

Wait, maybe not - this could possibly allow the player to become more attached to their NPC friends (that aren't homeless heros) - gives them more recurrence, without them having to follow you around. Could this give the player a reason to be heroic???

I don't really like NPCs that follow you around without a reason. It seems like alot of games do this:

quote:

Player: "Hi, I'm the 'Player', you want to follow me around, and risk your life for me?"

NPC: "Ok"

Player: "Great, can you let me take all of your stuff too?"

NPC: "Sure"



That's just wrong...

There should be some sort of motivation before it gets to that, and I think you're on the right path When they get what they want, they could leave the player, unless they're somehow indebted, and retire, or otherwise get on with their lives. And just because your friends, doesn't mean you have to follow each other around everywhere.

I think the NPC turning the tables on the player, and asking for a favor is a great idea.

-pwd

Edited by - pwd on January 27, 2001 11:20:02 PM

Share this post


Link to post
Share on other sites
quote:
Original post by pwd
Now, could an NPC track down a player somehow to request a favor?



Daggerfall used letters. A courier would hand you a letter from an NPC that would say to meet that somewhere. If your game is set in the future then it''s probably even easier. You could use some sort of communication device.

quote:

Would it be interesting to have a player actually have a home? Perhaps they could be a regional hero, taking care of problems in a single city or small region. But I''m off topic



In Daggefall, you could own a house and/or boat.





http://www15.brinkster.com/nazrix/main.html

"All you touch and all you see is all your life will ever be --Pink Floyd
Need help? Well, go FAQ yourself.

Share this post


Link to post
Share on other sites
quote:

Nazrix:
Daggerfall used letters. A courier would hand you a letter from an NPC that would say to meet that somewhere. If your game is set in the future then it''s probably even easier. You could use some sort of communication device.



That could work

quote:

Nazrix
In Daggefall, you could own a house and/or boat.



Did it give you some attachment to where you bought your house? Would the player "settle down" when they got a house, or were they still the "homeless hero", and they just happened to own a piece of property somewhere? Angband let you buy a house, but it didn''t really mean anything (other than a place to dump stuff you didn''t want to carry around). If it did mean something, I would be interested in hearing how they did it

-pwd

Share this post


Link to post
Share on other sites
quote:
Original post by pwd

Did it give you some attachment to where you bought your house? Would the player "settle down" when they got a house, or were they still the "homeless hero", and they just happened to own a piece of property somewhere? Angband let you buy a house, but it didn''t really mean anything (other than a place to dump stuff you didn''t want to carry around). If it did mean something, I would be interested in hearing how they did it

-pwd


No. You''re right. It was a place to drop off items. Although, Morrowind (the next game after Daggerfall) is supposed to give the option for more than that. I''m not sure how much more yet though.





http://www15.brinkster.com/nazrix/main.html

"All you touch and all you see is all your life will ever be --Pink Floyd
Need help? Well, go FAQ yourself.

Share this post


Link to post
Share on other sites
This is probably off topic

Nazrix,
That is a pity, actually having a "home" (not just a house), where you have friends and neighbors could be interesting. It could work out to a motivating factor, protecting your town, your friends, your neighbors. Not just being a "homeless hero" and wandering the world aimlessly in search of adventure...

NPCs would recurr, because you would run into them on a regular basis, and you could potentially get a greater attachment to them, if they were done right

Maybe a situation like Fafhrd & the Grey Mouser, you would have a city that you called "home", and you could find out about adventures from travellers or those looking to hire your services... When you completed a journey, you would return to the city, spend your spoils, and maybe have little situations while waiting for another great adventure to come up...

-pwd

Share this post


Link to post
Share on other sites
pwd,
Don''t worry if it''s slightly off-topic. Wav doesn''t mind

I agree that would be very interesting. Daggerfall sort of gave that sense of returning to the town after an adventure and enjoying a leisurely night at the local inn, getting some supplies, visiting a guild, then going out for more adventure.

I really think Daggerfall captured that a little bit whether they meant to or not. Now, if we can figure out how to take this even further.




http://www15.brinkster.com/nazrix/main.html

"All you touch and all you see is all your life will ever be --Pink Floyd
Need help? Well, go FAQ yourself.

Share this post


Link to post
Share on other sites
Nazrix,

Maybe give the town/city/whatever more personality... Sticking to my example, just trying to fence what you earned during an adventure could be a little mini-adventure, with trying not to get cheated by the criminal element.

Give the city as a whole it''s own personality/quirks. Not the city has: a thieves guild, a warriors guild, a few inns, a general store, etc. More, "you''ve got to watch the innkeeper at the Red Walrus Inn, or he''ll rob you blind if you get drunk". The "home" wouldn''t be perfect, but it should be a comfort to the player - let it have its'' little intrigues and let the player possibly get involved if they choose. But let it also be a place for the player to rest, and maybe have a little simple enjoyment...

-pwd

Share this post


Link to post
Share on other sites
pwd,
Yes, very good. You definitely have the right idea. Basically, we want every non-player enitity to have personality and individuality. This includes towns, fellow NPCs, maybe even monsters.

Imagine a monster that is unique and well-known throughout the lands. NPCs talk about the monster frequently. Songs are sung about him, books are written.

Then imagine if the player faces the monster. It would have such a greater impact w/ the monster having such a unique personality rather than just being another monster that is going to die in 2 seconds.






http://www15.brinkster.com/nazrix/main.html

"All you touch and all you see is all your life will ever be --Pink Floyd
Need help? Well, go FAQ yourself.

Share this post


Link to post
Share on other sites
{Laugh} That is definately a goal to work towards. We''re definately moving off topic here though.

I like the idea of the legendary monster/npc.

But can we make a town a truly interesting experience for the player? Perhaps, if we can do this, the player will become more attached to the "townies" or "normals". Being able to build friendships would help on this regard. And perhaps, making the towns interesting for the player would help with the "friendships". Friendship should definately mean more than having a mindless automaton following you around

-pwd

Share this post


Link to post
Share on other sites
Yes, sorry about going off-topic. I felt it was worth saying

So, perhaps we should start more generally here. So far, to achieve a sense of friendship, we have:

* Conversation

* Unique entities (towns, NPCs, monsters, etc)

* Personality

* Familiarity

* Opinion of You

That''s not a bad list at all IMHO

Any others?






http://www15.brinkster.com/nazrix/main.html

"All you touch and all you see is all your life will ever be --Pink Floyd
Need help? Well, go FAQ yourself.

Share this post


Link to post
Share on other sites
{laugh} It was a good idea, but probably had as much to do with friendship as my homeless hero rant

Now how do we make a mathematical model of all of this?

The foundation could be personality (which would hopefully be unique for each NPC, maybe that little motivation system I''ve been trying to cook up). We could use different personality types, and if we can model the players personality at all, then we can get a "compatibility factor". This would be the NPCs immediate opinion of the player on first contact. Simple enough.

The first time the player is in the Line of Sight of the NPC each day, we could add 1 to the familiarity rating. Each dialog option chosen by the player when talking with the NPC would add 1 to the familiarity as well. Each day we would subtract 1 from the familiarity rating...

If the familiarity rating is above a certain point, there could be a random chance that the NPC could ask the player for some sort of favor (the depth/difficulty of the favor would be dependent on the familiarity). If the player refuses, the NPCs opinion of the player would go down a good bit, if the player accepts but fails, the opinion would go down a little bit less, and if the player succeeds, the opinion would go up factored by the difficulty of the favor.

Various dialog options could also affect the NPCs opinion (is it said threateningly, nicely, etc) perhaps factored by the familiarity (you might be more likely to accept the eccentricities of someone you''ve known a long time).

The player could have dialog options to request various favors, and the NPC would accept or decline, based on 1) the difficulty/danger rating of the favor (I need a place to hide vs. I need a place to sleep) 2) the opinion and 3) the familiarity. If the favor is declined, the NPCs opinion of the player would go down. If the favor is accepted, the NPCs opinion of the player would remain the same, or go down if another favor were requested recently. Perhaps there could also be a flag as to whether the player accepted or declined the last favor that the NPC requested, and this would factor in as well.

We could use the familiarity rating to maybe pull some cheap tricks, like does the NPC remember the players name when dialog is started. A familiarity of greater than 2?

-pwd

Share this post


Link to post
Share on other sites