Original Post
I''ve recently been thinking about rpg games and adventure games, and how you being the main character is really important. To this date you alone have the power to ask NPC''s unimportant questions as well as questions that may give you information. But how realistic is that? When i walk around world i hear many people talking, learning information and distributing it between colleages. I as a person dont have to initilize events between people, because im not the savior of the world. I''m one of a couple billion people in this world trying to fend for myself. So my question is, why dont more games try to incorporte a bit of dynamic system in which npc''s can learn from other npc''s.
I''m sure everyone has played a game in which your the scum of the earth in a town, but after killing monster xx or yy you become well liked throughout the town. But this all happens instantly. How often have you cleaned your wifes car out or took her to a nice dinner only to come back to work the next day and have the whole workplace at your office with flowers and cards for what a great job you have just done.
I''ve always been interested in how rumours are spread, especially in the day''s of highschool and junior high. So why cant we incorporate rumors being spread into games? I happen to think its a bit distracting that every time you talk to a person they say the exact same thing, (unless you hardcoded a guy to say something differnt when a quest was solved or whatever).
So after this lengthy intro i want to talk about the more techincal aspects of this idea.
1) Every character has a set of questions he or she may ask anyone. These may be general, such as: "do you think it will rain today?", to the more specific, "my child is missing, have you seen him around".
2) Every character has a set of general answers to the questions.
3) Every set of question that may be asked has a timer, after the character has "learned" the question the timer starts ticking. After it is done ticking the question is no longer askable until they are reminded about it.
These are three general atributes that will be used for this example. Note that while every person must have access to the answers of these questions, it takes no more work than the average RPG game to code this. The timer is here to scale down the amount of questions a particular NPC may "learn" (to minimize the overhead)and to increase the realism. For example if your friend told you that someone came into work today and bought a pair of shoes, that will stay in your memory for about 2 minutes. Your not going to be talking to your mom or dad a couple of days later about how a pair of shoes were boughten, because it isnt important. However if your friend said a man held him up at gunpoint and stole a pair of shoes, you would probably remember that for a lot longer because its a very rare event.
So how can this be done? A method very well documented in the Game Gems 1 book describes creating an event driven system, in which enties can send messages to other entities. These message prototypes usually look something like this:
bool Message(Type, Sender, Reciever, When to go off, Data);
Now if each entity has a set of questions they can ask, the data simply adds that question to that npc''s list of questions that they can ask. Rumors can spread through the world this way, and NPC''s can interact without having to script specific events. In general it should make for a more realistic environment.
Keep in mind i am not talking about building speech here. This method isnt about taking nouns, verbs and adjectives that make sentences, its just about taking preset text (which we have anyways) and allowing npc''s to talk about some of the more general (IE, how is bob doing today) questions that you can ask.
I''m looking on some feedback on this method. Do you think it is plausible? Do you think it would add enough to the game to make it worth coding? Do you want to flame me because its stupid?
lets hear your ideas.
come visit me at www.worldofwc.org!