Archived

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

Nazrix

Where everybody knows your name.

Recommended Posts

Nazrix    307
I was thinking it would be a good idea if the player did not know NPC''s names til the player spoke to that NPC or another NPC indicated who that NPC was. It would be more interesting than suddenly knowing every NPC''s name instantly. "All you touch and all you see is all your life will ever be --Pink Floyd "Though the course may change sometimes, the rivers always reach the sea" --Led Zeppelin Need help? Well, go FAQ yourself.

Share this post


Link to post
Share on other sites
Delisk    122
Sound as a good idea!

Before the player know th name of the NPC, the Npc should be identified by their fonctions (ex: Gard, Blacksmith, kid, sexy girl ).

You could also hava a NPC lie about his name...

Delisk

Share this post


Link to post
Share on other sites
Nazrix    307
Yeah, that''s a good idea. Perhaps there could even be a detailed physical description for the NPC. So, the player could ask one NPC about a certain NPC''s name and the NPC could describe what that NPC looks like physically (like a scar or something). Then the player could narrow down who''s who by their physical descriptions.


"All you touch and all you see is all your life will ever be --Pink Floyd

"Though the course may change sometimes, the rivers always reach the sea" --Led Zeppelin

Need help? Well, go FAQ yourself.

Share this post


Link to post
Share on other sites
Forneiq    122
I think most games give the NPCs'' names automatically for convenience. It depends on whether you want to show "Hi! my name is . . ." for every character. Definitely a good idea though. Of course, the PC would already know a few of the NPC''s.

Think outside the dodecahedron

Share this post


Link to post
Share on other sites
Vaipa    122
Yea, it''s a great idea. But it has a problem, makes player data kinda'' big. And putting this in a massive multiplayer game would take tons of server space..

Share this post


Link to post
Share on other sites
Nazrix    307
I realize that it would not work w/ every type of game, but it could provide more role-playing.


"All you touch and all you see is all your life will ever be --Pink Floyd

"Though the course may change sometimes, the rivers always reach the sea" --Led Zeppelin

Need help? Well, go FAQ yourself.

Share this post


Link to post
Share on other sites
dwarfsoft    1229
WHAT?!! An NPC thread started on the day that I decide not to post in the morning! Gee... I am surprised that nobody noticed my lack of presence...

Anywho - great idea, as I have always been one for this kind of advancement. NPC''s are definitely in my FOV on the improvement scale. I think this was suggested some time ago when we were talking about NPC learning, though it could have been in the egroups board. If not then it was definitely in my head

-Chris Bennett of Dwarfsoft - Site:"The Philosophers' Stone of Programming Alchemy" - IOL
The future of RPGs - Thanks to all the goblins over in our little Game Design Corner niche
          

Share this post


Link to post
Share on other sites
Deus Ex implemented a feature like that. Before you talked to NPCs, they appeared generically(scientist,trooper,etc.) but after you spoke with them, most of them then appeared by name.

This RtS-Babble© has been brought to you by:
-Run_The_Shadows
-Run_The_Shadows@excite.com

Share this post


Link to post
Share on other sites
dwarfsoft    1229
LOL AP, and now I am thinking of NPC''s that don''t know YOUR name and wont do jack for you until you proove your worth. . That would be better, when they tell you to piss off because they don''t like the look of you. That way you would have the feeling of rejection that every person has gotten from time to time

-Chris Bennett of Dwarfsoft - Site:"The Philosophers' Stone of Programming Alchemy" - IOL
The future of RPGs - Thanks to all the goblins over in our little Game Design Corner niche
          

Share this post


Link to post
Share on other sites
Forneiq    122
Heh dwarfsoft it is hard to tell if you''re missing with Nazrix'' new sig. :p
Again, this is a good idea but now you need a structure for each NPC to tell which characters'' names the person knows. After all, why should the NPC''s know eachother''s names unless they have met before? Eventually, you have a very complicated mess of things that each character knows and doesn''t know. Which means now you need an information system to handle which NPC''s know what. Luckily, this system can handle more than just names. We may eventually get our dreams of rumor-spreading and such.

Think outside the dodecahedron

Share this post


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

LOL AP, and now I am thinking of NPC''s that don''t know YOUR name and wont do jack for you until you proove your worth. . That would be better, when they tell you to piss off because they don''t like the look of you. That way you would have the feeling of rejection that every person has gotten from time to time



Yeah, I was thinking about doing something like this too. It may be even better to have some NPC''s who are very friendly and will give you info no matter what. Then others would be really rude, while others may be just very cautious so you have to prove that you are a good guy

Anyway, I noticed your lack of presence, but I just wanted to have a nice, ripe topic ready for ya




"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
Guest Anonymous Poster   
Guest Anonymous Poster
It would be as easy as adding a simple BOOL variable to NPC structures.

if (NPC.IDENTIFIED)
DisplayNPCName()
else
DisplayNPCClass();

Then if the player talks to the NPC, just set it to true and it''ll show the name instead of the generic class of the NPC.

-- Shaggy

Share this post


Link to post
Share on other sites
Forneiq    122
AP, that does work, but the question is, do we want to do it that way? Because, whether you know a person''s name is not a quality of that person, but rather a quality of yourself. So, theoretically, the information should be a part of the player structure.

Think outside the dodecahedron

Share this post


Link to post
Share on other sites
dwarfsoft    1229
The way that I see it, every player and NPC should have a defining structure about themselves. Then, you just need to add in a small linked list with a single attribute:

CharacterDescription_ptr Knows;

From this you just add a pointer from the description class/structure to the people it knows by adding new elements into the linked lists. You can then also figure out networks of people and degrees of separation and stuff. Isn''t that hard from what I see, and it is DYNAMIC! So it is only as big as you let it be

-Chris Bennett of Dwarfsoft - Site:"The Philosophers' Stone of Programming Alchemy" - IOL
The future of RPGs - Thanks to all the goblins over in our little Game Design Corner niche
          

Share this post


Link to post
Share on other sites
dwarfsoft    1229
Forneiq - Yeah, I can''t tell where I posted and Naz posted sometimes. Fortunately mine still has CoolSmiley(c) at the bottom tho

-Chris Bennett of Dwarfsoft - Site:"The Philosophers' Stone of Programming Alchemy" - IOL
The future of RPGs - Thanks to all the goblins over in our little Game Design Corner niche
          

Share this post


Link to post
Share on other sites
Niphty    122
Honestly.. NPCs are worthless in MMORPG. i''m planning on having no one know anyone else''s name until they''re introduced. Yes, server space is a concern.. however.. i''ve been working to figure that one out without a lot of space or processor time.

You see.. space wise, you could simply make a database. However.. you can cut the size of the database pretty easily with a few intelligent routines. First and foremost.. you only need one instance of "A has met B". Therefore, you need to store that as "A has met B" and leave "B has met A" out. you do it alphabetically. Then you simply say "has A met B?". To go into a deeper example.. "has A met C" "Has B met X".. etc. So whoever has the first name in the list has one hella big profile.. hehe. Now, you don''t store that they haven''t met yet. That saves space a lot. You only store if they''ve met. so it becomes..
if exist A met B
display_names
else
no_display_names

Now, that''s a pretty easy way to do things, for sure. But it could take a lot of processor time simply to to do that routine 800 times per milisecond.. hehe That''s my next real concern.

Anyways.. it only has to check them if you look in the room, or if someone talks while you''re in the room. I''ve been considering buffering ones when people look around the room. Usually it''ll mean they''re going to stay in the room. Therefore, if it''s in memory already that X doesn''t know Y.. then it might help disk useage and processor time, but that remains to be seen.

It''s an exponential equation in some senses. For ever person gained in the game, you gain N (the number of players already in game) + 1 entries to the DB that''re possible. Granted, only introduced people get an entry.. and most people won''t introduce themselves to everyone. And the computer will purge older entries in the database. For instance, if you meet someone and talk for only a few minutes.. then you''re not likely to remember their name later. I plan on incorporating this into the stats and skills.. how well you remember people''s faces And if you remember well.. then.. you''ll keep a lot of names.. Else, you''ll just forget everyone. LOL.

It''ll take some work.. but i''m sure i can get it to come out fine in the end

J

Share this post


Link to post
Share on other sites
dwarfsoft    1229
Why not my way? You need to store data on each player and non-player anyway... What difference is one lp (4bytes) going to do? Not a hell of a lot. But in MMORPG, it still won''t screw you over that much anyway... Just stick the pointer in there and you will be right - that is my reckoning

-Chris Bennett of Dwarfsoft - Site:"The Philosophers' Stone of Programming Alchemy" - IOL
The future of RPGs - Thanks to all the goblins over in our little Game Design Corner niche
          

Share this post


Link to post
Share on other sites
dwarfsoft    1229
How do you figure if A has met B?

        

//declared earlier

CharacterDesc *met;
CharacterDesc A,B;

met = A.Knows;
// we do our search

while (met)
{
if (met == &B) return(TRUE);
met = met->Next;
}
return(FALSE);


Not really that difficult. Though some optimisations can still be made

-Chris Bennett of Dwarfsoft - Site:"The Philosophers' Stone of Programming Alchemy" - IOL
The future of RPGs - Thanks to all the goblins over in our little Game Design Corner niche
          


Edited by - dwarfsoft on October 30, 2000 11:41:44 PM

Share this post


Link to post
Share on other sites
kseh    3840
Just wanna say I like the general idea. Used to be, before Europeans came to Canada, that it was rude to ask someone what there name was. If they wanted you to know, they''d tell you. Wish the people at Safeway would adhear to that so they''d quit mispronouncing my name.

What about the possibility of allowing aliases or the ability to give false names. The false name thing might be tough, but if a character had a list of names they went by, a simple index of that list could make life difficult for a player. Damn, I know there''s a coherent thought in there somewhere.

eg.

NPCharacter #47
Name: Jim Bob.
Alias 1: James Bob.
Alias 2: Jimmy Bob.
Alias 3: Alice.

They player has met NPC#47 and knows him as his name & Alias 1&2.

Something like that.


Share this post


Link to post
Share on other sites
Silvermyst    113
For online games:

Serverside: each NPC has a code.

During game, player will encounter NPCs. When a player learns the name of one of these, he has to manually input the name of that character (in a pop-up box or something).

Clientside: this is where the name that the player typed is stored. Whenever the player sees an NPC walking by and has for example a ''show name'' option running, the name will be displayed when it is stored on client side, otherwise it will not show up.

I have NO clue if this is a possibility as far as programming is concerned, but it would also open up a nice option where players can give descriptions of players when they don''t know their names (which would work wonders for PC interaction).

There could for example be a ''show description'' option running, that would display the description that the player manually put in for a certain character. ''didn''t want to help me out when I was dying''

Plus, a system like this might finally open up a ''disguise'' feature, where if a player disguises himself well enough, his name won''t display to players that have formerly met him etc.

Silvermyst

Share this post


Link to post
Share on other sites
Niphty    122
Dwarf, what the heck do you program in.. perl? LOL.

Silver.. you could store data on client side, saying if they know that person or not. And i''ve looked into that, but it''d hafta be encrypted. I''m actually putting checksums on all of my data client side. Should the player mess with ANYTHING, they''d be locked out until we figured out what was changed and why. I''m dead serious about this.. and i should know. I helped hacking in the old days, tearing appart code in yserbius and NeverWinter Nights. In NWN, i had the GM''s coming to me asking if someone else was hacking! They knew i knew what was possible and what wasn''t, in ways many people never knew.
Manipulation of data has always been my forte I can''t program for snot, but i can look at code, figure it out.. rearrange it like i need, and bang it home. The Windows API makes things even easier than ever to manipulate. Being able to intercept something, change it, and pass it on is a great ability. Therefore.. you must think about what you''re storing on the person''s end. They can touch that data. They can play with it. If you want, i''ll put together some info to help people understand their data, how to manipulate it, and what you can do to stop it..

J

Share this post


Link to post
Share on other sites