Preferences with villagers' conversations and names...
#1
Posté 30 mai 2011 - 12:04
#2
Posté 30 mai 2011 - 12:22
I'm using one conversation assigned to all my commoners, they randomly select a barkstring. The fact they just have a barkstring reinforces the fact they are generic ambiance npcs. But then I have a lot of commoners and giving them all unique conversations would take way, way too long.
#3
Posté 30 mai 2011 - 01:14
kamal_ wrote...
I'm using one conversation assigned to all my commoners, they randomly select a barkstring. The fact they just have a barkstring reinforces the fact they are generic ambiance npcs. But then I have a lot of commoners and giving them all unique conversations would take way, way too long.
I did the same as this, methinks it's a good plan. As is the naming idea, then they also know who they have spoken to.
I set up four random sets of 10 barks for my commoners each set of ten pertainging to a progress gateway in the module. That updated as the mod did. thus if you talk to the npc hafway through the mod they refer to a fight you had at the start. That could be modified against a reputation as well?
In the first two of my mods I gave each of the villagers thier own convos but there were very few of them and the villagers themselves were relevant to the plot and thus it all worked together.
Horses for courses but I agree that the player could become lost in the minutae of Jack Baxters ferret breeding problems.
At the same time I also wonder that, if every villager told you to go see the inkeeper you might start to feel a little railroaded?
PJ
#4
Posté 30 mai 2011 - 01:25
#5
Posté 30 mai 2011 - 02:05
What kamal said is the most realistic option. Maybe the PC can ask the gate guard or commoners for directions or something. Random commoners may be named either just "villagers", or things like "red dressed woman" or "fat mustached man".
#6
Posté 30 mai 2011 - 03:06
#7
Posté 30 mai 2011 - 03:22
I might add to it by doing something like Arkalezth suggests, giving each NPC a generic but distinct personality. Maybe one always says something cynical, another hysterical, a third just talks about her cat all day, and a fourth is just there to mock the PC (think Janitor from Scrubs). Maybe add a progression counter, too, so each time the player talks to the NPC the counter goes up and different replies are added to the mix.
#8
Posté 30 mai 2011 - 03:49
The Fred wrote...
Yeah, if you live in a big city (or even just a town), people are just "Fat mustached man" or "Fat-mustached man".
Indeed, with a smattering of "Fat mustached woman" for good measure.
Lugaid of the Red Stripes wrote...
I did the barkstring route, too, but I used a custom token and wrote a little script to generate a list of random replies. Using the script means I get to add replies based upon about anything: area, time of day, quest status, the PC's gender, equipped items, alignment, or their current ambient task. All this can be done with a regular convo, but the script makes it easy to add new replies as you go along, and use some more complicated logic structures.
I might add to it by doing something like Arkalezth suggests, giving each NPC a generic but distinct personality. Maybe one always says something cynical, another hysterical, a third just talks about her cat all day, and a fourth is just there to mock the PC (think Janitor from Scrubs). Maybe add a progression counter, too, so each time the player talks to the NPC the counter goes up and different replies are added to the mix.
That seems a good system to me, random but with character. I can't script as you describe but it can be done off a convo. In the end each personality be it cat lady or ferret man you need a convo per person though a set of barkstrings is easier than a full two way conversation with roleplay elements.
I had three sets of bark strings with slight differences last time, one for guards, one for the prostitutes and one for the merchants. I may go down your suggested route for the next lot. It is also a plce to put some humour in.
Another thing I have done is give the commoner a convo and, rather than repeat this, once it is no longer relevant the convo defaults to barkstrings. that way the PC knows the commoner is not longer plot relevant.
#9
Posté 30 mai 2011 - 04:28
How I'm handling it in Crimmor:The Fred wrote...
Yeah, if you live in a big city (or even just a town), people are just "Fat mustached man" or "Fat-mustached man".
As a local, you already know by name anyone of note in the area around where you live. Shopkeepers, priests, etc.
In other parts of the city, you can ask people of note their name and it gets assigned to them. Before that, they are "shopekeeper" or "priest" or whatever. If you have reason to know their name, like being sent to see them by someone else, they are automatically named when the player approaches them. For example the player meets a person who is obviously a druid. So when the player approaches them they are named "druid". If the player asks them their name then it becomes "Jim the Druid" or whatever.
Famous or well known people are named by default, as you know who they are. People like the King, the mayor, the famous hero. Everyone knows who Lord Nasher is, even if he doesn't know who you are.
Non- notable npcs are identified by general class. Commoner, merchant, guard, noble etc. These generic names tell the player this person isn't especially notable for anything. Each group of npc's get their own set of random barkstrings. In Path of Evil I made the barkstrings famous quotes related to the area they were in by using some online quote databases. So all commoners in a dock district had quotes about fishing for instance, while those in the slums had quotes about poverty.
/I'm handling mapnotes in a similar way, you know the nearby places of note, and the famous places, and discover other places of note and you explore the city. Journals are clearer on locations, for instance in Crimmor there is a famous inn called the Pearl. Every Crimman would know where it is, and it's automatically marked on the player map in the area where it is. But if the player is sent to the Pearl by someone, the journal says what area it's in because the player doesn't know even though the pc does.
#10
Posté 30 mai 2011 - 04:29
PJ156 wrote...
The Fred wrote...
Yeah, if you live in a big city (or even just a town), people are just "Fat mustached man" or "Fat-mustached man".
Indeed, with a smattering of "Fat mustached woman" for good measure.
#11
Posté 30 mai 2011 - 05:18
#12
Posté 30 mai 2011 - 05:34
No, I just assign it via script. There are default firstname and lastname scripts to assign names. ga_first_name_set and ga_last_name_set . For what I'm doing there is no advantage to storing it as a variable.M. Rieder wrote...
Do you have the NPC's name saved as a local string, and then change the name to that string once the PC talks to it?
#13
Posté 30 mai 2011 - 07:30
I imagine that if someone already had a pre-determined name, you could set it as a variable first, but there's only be any point in this is the name was also being randomly determined. For example, a quest to give a letter to a random villager. This actually opens up quite a few options for randomly-generated quests, but that's another topic.
#14
Posté 01 juin 2011 - 11:17
kamal_ wrote...
No, I just assign it via script. There are default firstname and lastname scripts to assign names. ga_first_name_set and ga_last_name_set . For what I'm doing there is no advantage to storing it as a variable.M. Rieder wrote...
Do you have the NPC's name saved as a local string, and then change the name to that string once the PC talks to it?
Oh, so it just creates a random name when the script runs? Thats pretty convenient.
#15
Posté 02 juin 2011 - 05:39
Modifié par rjshae, 02 juin 2011 - 05:40 .
#16
Posté 02 juin 2011 - 05:54
#17
Posté 02 juin 2011 - 07:23
#18
Posté 04 juin 2011 - 12:16
#19
Posté 04 juin 2011 - 12:24
You could take the default first and last name assigning scripts, and rewrite them so they take no arguments but randomly select from a list you put inside the scripts. Would take 30 minutes or less.M. Rieder wrote...
That would give the option of giving names a cultural flavor as well. What is the name of the random name generator script?
#20
Posté 04 juin 2011 - 12:49
//by keeping the list in script, you can customize the list of names easily.
//script takes no parameters
//last name is the same except SetLastName
#include "ginc_param_const"
void main()
{
oTarget = OBJECT_SELF;
//we only want a name assigned once per npc
int DoOnce = GetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF));
if (DoOnce==TRUE) return;
SetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF), TRUE);
//50% Bill, 50% Ted in this example
// will support as many names as you want by changing the percents
//and adding more else ifs
if (d100()<=50)
{
oTarget = OBJECT_SELF;
SetFirstName(oTarget, "Bill");
return;
}
else
{
oTarget = OBJECT_SELF;
SetFirstName(oTarget, "Ted");
}
}
Modifié par kamal_, 04 juin 2011 - 10:25 .





Retour en haut







