Page 1 of 2

Base Mod Content Thread: Conversations

Posted: Tue Feb 28, 2006 12:54 am
by indio
This post will summarize all conversation suggestions for the NWN2 ALFA Base Mod. General and specific suggestions welcome but please read the summary before suggesting new conversations or their specific details.

Thank you.

*******************************************

Summary

Conversations:
Guard
Commoner
Patron
Children
Elderly
Convict
Prostitute
Beggar
All of these need to be tied to a scripted 'gossip' system (Baal's system), with a single script where all 'gossip' can be edited to suit.

Scripted Conversations:
Barkeep
Waitress
Merchant
Prostitute
Beggar
Guard
Jailer
Prisoner
Thieves
Officials
Librarians
All of these need to have generic conversation systems created, tied to a script that fulfills basic interaction. DMs can modify the dialogue, but don't need to create the infrastructure.

Scripted Conversation Systems:
Inns (keys, doors, room allocation, rest)
Guard Routines
Prison Routines
Thief Routines

I knew there was a category I couldn't find.

To my mind, this is the biggest time-saver category for DM builders.

Posted: Tue Feb 28, 2006 1:19 am
by Fionn
will it be possible to use a random token system to essentially play mad libs with these? it would be nice if they *changed* what they said rather than sounding like a recording.

Posted: Tue Feb 28, 2006 2:23 am
by ç i p h é r
Nice catch indio. Thanks for getting this thread started. I hope you don't mind me pinning your post up on the dart board (aka forum). ;)

Posted: Tue Feb 28, 2006 3:06 am
by Thangorn
w00t! great idea.. bags not :)

Posted: Tue Feb 28, 2006 3:16 am
by indio
Fionn, a simple system in the OnConversation allows for any NPC to draw from a category of responses, within which exist a number of random possibilities.

Posted: Tue Feb 28, 2006 3:48 am
by Fionn
I want the same response in different manners. We have tags to do Sir/Madam or [Class]. I want an NPC to open up with "How are ye today guvn'a" and the next time "Top o' th' morning to ye govn'a". I suppose we could write a LOT of init() scripts to omit most of the lines, but I'd rather use the tag system to simply randomize what is spoken on a single line.

Posted: Tue Feb 28, 2006 5:34 am
by ç i p h é r
Random dialogues are particularly ideal for general purpose NPCs (like guards) and it'd be a lot of fun to come up with these (based on evil/good, class, race, etc). :D

What we'll also need to do is define and reserve conversation tokens globally which can then allow us to make liberal use of random generated dialogues without concern over conversations stepping on one another.

Posted: Thu Mar 02, 2006 2:44 pm
by gribo
How about putting these generic dialogs into the .tlk file? it will aslo reduce lag.

Posted: Thu Mar 02, 2006 6:31 pm
by Overfilled Cup
Priest/healer convo go here?

Posted: Thu Mar 02, 2006 9:48 pm
by ç i p h é r
gribo wrote:How about putting these generic dialogs into the .tlk file? it will aslo reduce lag.
I'm not sure about lag. I think it would only add more overhead to make dialogues reference the .tlk entries since it's an "abstraction layer" essentially for multi language support. Do we want to internationalize the base mod? Interesting thought. Most custom content can work around the tlk file but some still require it (like spells for instance).

Posted: Fri Mar 03, 2006 7:09 am
by gribo
Cipher: alfa has its own tlk file, it is not used as internationalization, it is used for spell and item descriptions and such.
consider it as a flat DB. and, it is much easier to transfer a set of pointers from the server instead of an entire conversation.

The only overhead will be making the file, and downloading it to the clients, once per client.

Posted: Fri Mar 03, 2006 9:03 am
by ç i p h é r
I understand what you mean gribo, I'm just not certain of the benefit. To be honest with you, I don't like working with the TLK file since it's external, difficult to access, and hard to look up references in. So if you're not interested in internationalization, why bother with the TLK at all? The only reason the spell names and descriptions need to be in the TLK is because there's no way around that. Since NWN was designed with internationalization in mind, the TLK lookups are hard coded in the spell interface panels for multi language support. Swap the english TLK with the french and voila, spells are automagically en francais.

I'm also not sure I understand how it's actually *better* on performance to extract data through a TLK reference than to simply hardcode the messages in a script. Going through the TLK introduces more steps, so intuitively, it should cost more to execute. But feel free to correct me if I'm just wrong here. If what you say is true and this has a positive effect on lag, then absolutely. Let's consider it. :)

An interesting consideration might also be to facilitate MORE dynamic behavior and store these generic dialogues in a central SQL database if we think these are things we'd like to change with some regularity, or allow game entities to modify them (maybe an NPC picks up a few new words by listening to players talk :)). We can then update dialogues in REAL TIME and we would eliminate the trouble of having to update every mod on every server with a new script erf or force every end user to downnload an updated TLK. Seems like overkill to me, but there it is.

Posted: Fri Mar 03, 2006 9:10 am
by gribo
Actually, the purpose of the TLK file is performance, internationalization is a side effect of having each language at a certain offset from the english version.

Putting these standart conversations in the TLK will reduce lag considerably, i doubt NWN2 will have more efficient communication protocol than NWN1.

Yes, it is a bit harder to update, but, it is not meant to be a dynamic DB, only a client side DB to help reduce the amount of data transfered.

performance: what is quicker? transfering a tlk ref (single long int) , or, query to the sql server, and then transfer the string?

Posted: Mon Mar 06, 2006 10:53 pm
by Overfilled Cup
Scripted Conversations:
Barkeep
Waitress
Merchant
Prostitute
Beggar
Guard
Jailer
Prisoner
Thieves
Officials
Librarians
All of these need to have generic conversation systems created, tied to a script that fulfills basic interaction. DMs can modify the dialogue, but don't need to create the infrastructure.

can you define what tied to a script that fulfills basic intercaction is? I have an idea but before I comment would like to be certain Im thinking of the right thing??

Posted: Mon Mar 06, 2006 11:54 pm
by Fionn
Thieves pickpocket from stealth and flee if spotted. Guards arrest pickpocketers (and burglars) if they are paid to ((some cities they will only protect property of thier employer)).