Base Mod Content Thread: Conversations

Development of standard ALFA palettes (ABR)

Moderators: ALFA Administrators, Staff - Technical

User avatar
indio
Ancient Red Dragon
Posts: 2810
Joined: Sat Jan 03, 2004 10:40 am

Base Mod Content Thread: Conversations

Post 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.
User avatar
Fionn
Ancient Red Dragon
Posts: 2942
Joined: Sun Jan 04, 2004 7:07 am
Location: Seattle, WA

Post 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.
PC: Bot (WD)

Code: Select all

     -----          -----          -----          -----
    /     \        /     \        /     \        /     \
   /  RIP  \      /  RIP  \      /  RIP  \      /  RIP  \      /
   |       |      |       |      |       |      |       |      |
  *| *  *  |*    *| *  *  |*    *| *  *  |*    *| *  *  |*    *|
_)/\\_//(/|_)(__)/\\_//(/|_)(__)/\\_//(/|_)(__)/\\_//(/|_)(__)/\\_(
User avatar
ç i p h é r
Retired
Posts: 2904
Joined: Fri Oct 21, 2005 4:12 pm
Location: US Central (GMT - 6)

Post 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). ;)
Thangorn
Haste Bear
Posts: 2081
Joined: Fri Oct 01, 2004 1:00 pm
Location: Queenstown, New Zealand

Post by Thangorn »

w00t! great idea.. bags not :)
On indefinite real life hiatus

[22:52] <Veilan> obviously something sinister must be afoot if a DM does not have his social security number in his avatar name!
User avatar
indio
Ancient Red Dragon
Posts: 2810
Joined: Sat Jan 03, 2004 10:40 am

Post 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.
Image
User avatar
Fionn
Ancient Red Dragon
Posts: 2942
Joined: Sun Jan 04, 2004 7:07 am
Location: Seattle, WA

Post 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.
PC: Bot (WD)

Code: Select all

     -----          -----          -----          -----
    /     \        /     \        /     \        /     \
   /  RIP  \      /  RIP  \      /  RIP  \      /  RIP  \      /
   |       |      |       |      |       |      |       |      |
  *| *  *  |*    *| *  *  |*    *| *  *  |*    *| *  *  |*    *|
_)/\\_//(/|_)(__)/\\_//(/|_)(__)/\\_//(/|_)(__)/\\_//(/|_)(__)/\\_(
User avatar
ç i p h é r
Retired
Posts: 2904
Joined: Fri Oct 21, 2005 4:12 pm
Location: US Central (GMT - 6)

Post 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.
User avatar
gribo
Gelatinous Cube
Posts: 345
Joined: Sun Jun 13, 2004 7:37 pm
Location: The frozen north
Contact:

Post by gribo »

How about putting these generic dialogs into the .tlk file? it will aslo reduce lag.
Nuclear winter is coming
User avatar
Overfilled Cup
Orc Champion
Posts: 437
Joined: Tue Apr 05, 2005 6:45 am

Post by Overfilled Cup »

Priest/healer convo go here?
User avatar
ç i p h é r
Retired
Posts: 2904
Joined: Fri Oct 21, 2005 4:12 pm
Location: US Central (GMT - 6)

Post 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).
User avatar
gribo
Gelatinous Cube
Posts: 345
Joined: Sun Jun 13, 2004 7:37 pm
Location: The frozen north
Contact:

Post 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.
Nuclear winter is coming
User avatar
ç i p h é r
Retired
Posts: 2904
Joined: Fri Oct 21, 2005 4:12 pm
Location: US Central (GMT - 6)

Post 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.
User avatar
gribo
Gelatinous Cube
Posts: 345
Joined: Sun Jun 13, 2004 7:37 pm
Location: The frozen north
Contact:

Post 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?
Nuclear winter is coming
User avatar
Overfilled Cup
Orc Champion
Posts: 437
Joined: Tue Apr 05, 2005 6:45 am

Post 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??
User avatar
Fionn
Ancient Red Dragon
Posts: 2942
Joined: Sun Jan 04, 2004 7:07 am
Location: Seattle, WA

Post 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)).
PC: Bot (WD)

Code: Select all

     -----          -----          -----          -----
    /     \        /     \        /     \        /     \
   /  RIP  \      /  RIP  \      /  RIP  \      /  RIP  \      /
   |       |      |       |      |       |      |       |      |
  *| *  *  |*    *| *  *  |*    *| *  *  |*    *| *  *  |*    *|
_)/\\_//(/|_)(__)/\\_//(/|_)(__)/\\_//(/|_)(__)/\\_//(/|_)(__)/\\_(
Locked