Jump to content
Sign in to follow this  
cmorgan

Fanfic vs Mod: Tracking and Storytelling differences,

Recommended Posts

WARNING. WoT™ ( Wall of Text - n., Infinity Engine modder and forum slang, meaning long expository writing in a forum post that makes the reader's eyes glaze over and may result in said player loading up Oblivion, because bad eye-candy is better than semi-literate expository grandstanding by pseudo-intellectual wannabe posers. For examples visit any form and look at anything dealing with inter-community flamewars. ) I like to think about stuff like this, but just in case the WoT™ looks like I am taking this all a little too seriously, don't worry - I have not gone any farther off of the deep end than I usually do - just thinking about stuff and playing with ideas, just this time sparked by other folk's analysis and suggestions on what works and doesn't work for them in this mod.

 

SYNOPSIS:

  • Mods might be like FanFics, but they have significantly more flexibility, allowing interactivity.
  • So far, Aran has been built with a "reply net", focusing more on player voice than on his own.
  • range = "author-constructed fanfic unraveled by players" to "player-constructed fanfic with author-developed-and-given possibilities"
  • Leaning so far to "player-constructed fanfic" can break down, resulting in characterization loopholes and inconsistencies.
  • One suggested way out of this is to build parallel storylines through use of defined player psychologies.
  • Examples given from existing mods and schematics and potential implementation in Aran given.

 

To cut to the chase and skip all the talk, just getting to the new content, skip forward to <<this post>>.

 

 

Fanfic construction vs. Mod construction

A mod as an interactive fanfic. As a global idea, this seems sound - both are playing with other people's created worlds, and injecting the author's ideas and point of view into that already created world. I think that most mods follow varying degrees of this, from the point of view of the NPC and his or her story. On the other hand, mods allow something a fanfic cannot. Instead of the constrained story, I think a game 'story' can be built out of the freedoms given to a player. The question is, can I do it without losing focus and a sense of the NPC's personality? Can a mod allow the player to construct the story (whether intentionally or unintentionally) through direct interaction and choice, with minimal pre-scribing of player intent? Basically, if we give the player enough of a "net" of interactive possibilities that remain true to an NPC's personality, can the player construct the level of hijack/secondary plot-line they want?

 

The range I am thinking about is "author-constructed fanfic unraveled by players" to "player-constructed fanfic with author-developed-and-given possibilities".

 

Aran started out as a fun little experiment as a 'Companion' mod, with a single immutable plot-point - PC and Aran will be together for the entire game, if PC wants, regardless of choices (OK, except when PC has a reputation of 1, or sends him away specifically saying "never return", and/or kills him outright). This means the challenge is to allow players enough options to be able to explore why a character so obviously fascinated with PC will do this, regardless of player actions. Can he keep his personality, and tell a great side-story, and enrich the main storyline, while pretty much existing as window dressing and exploration of background material? He is a sidekick, not a hero, so his "story" is supposed to be the interaction between him and PC and the relationship they develop.Here, the player and player's motives/personality is unknown. That, by its very nature, has an opposite focus from a traditional fanfic.

 

So What?

 

Big deal. Who cares - a mod is a mod, and people want to play the game with some fun new content. Except... in this case, the materials I am working on have an odd point of view. When most modders write, they think in terms of the character they are writing (duh). So, an action comes up, and NPC talks about how they see the thing happening. But Aran has been written from the opposite point of view - what would PC say? What would he do? Coming up with Aran's stuff has been very easy. Coming up with what PCs reactions are and what a player would really like to be able to say has been very, very difficult. In essence, writing a construction set of possibilities and handing them to a player is an inside-out mod.

 

Applying This To Aran: Strengths and Weaknesses

 

As the mod has moved along, my focus has been on reply states that allow multiple types of PCs to have something interesting to have as a response. Game limitations and writing time limitations restrict what is possible; having 100 separate replies for each line is obviously a bad way to go (just imagining reading each one would be an instant "uninstall this POS and fire up Tashia and play again" for me). Early on, constraints were reputation-driven or good/evil/neutral driven, then loosened up to a blanket of no more than 6 undefined (malleable) replies that often branched out the way RL dialogs do (not always really returning to the topic). In PID's, we explored a bunch of ways of customizing to the player; in most materials, we have side branches in talks for specific kits, classes, and even ones for folks who have changed Aran into other class/kit types. Berelinde's 'Bennet Rubric' came into play in later stages, as she explored some great and intricate possibilities for dialog construction in Gavin (and we often trade ideas and work on implementations and recheck with each other, as two sets of modder eyes on the same code can sometimes catch things better than just one). But my focus, frankly, has been less about PC and Aran and more about Player Choices. And it has brought up an interesting point - how does this reconcile with storytelling, where we expect PC to have a consistent voice (because we wrote all her lines and fed them to him or her)? More importantly, are we (am I) making the Aran a player creates internally consistent enough that he doesn't sound insane?

 

At first glance, way way back in the initial brainstorming for the mod, I passed on the idea of determining one single set of PC assumptions to respond to. I felt that

 

CODE

A

[ARAN] I want to be talkin' about th' weather, now.

[PC - EVIL]

[PC - NEUTRAL]

[PC - GOOD]

[PC - EXIT]

 

 

is very BioWare™. Not bad - just not where I wanted to play about. In one respect, I now understand why BioWare™ limits their dialog to this king of pathing - and why DA2 will have less possibilities even than DA:O (they have chosen 6 maximum possible, too, which makes me feel kind of good to have figured out a good boundary). This kind of dialog structure means they can use things very cleanly:

 

CODE

A

[ARAN] I want to be talkin' about th' weather, now.

[PC - EVIL] + B

[PC - NEUTRAL] + B

[PC - GOOD] + B

[PC - EXIT] EXIT

 

B

[ARAN] I want to be talkin' about your response th' weather in a general way.

[PC - EVIL] EXIT

[PC - NETUTRAL] EXIT

[PC - GOOD] EXIT

 

 

This is incredibly simplified, and of course there are plenty of examples of where they went further, but the basic schematic is JCompton's "Looping Lovetalk Branch" technique.

 

To be blunt, I figured that having a "net" or "cloud" of PC replies would be enough to cover all bases, especially as I wanted to allow players to roleplay chaotic as well as lawful characters. So, the inherent silliness that could result by purposefully choosing contracting and opposite reactions would be covered by a chaotic PC getting chaos in return - a talk where things didn't work out the way you would expect could be ignored, because it fit not choosing the expected pathway for the roleplayer.

 

To put this more clearly, I figured without face-to-face human contact and all of the visual, auditory, etc. cues and social mannerisms, I can write

 

CODE

[ARAN] Now, what be th' idea, here... do I have naught in th' way o' counsel on this?

 

 

and then I as a modder am free to re-purpose this statement based on where the player comes from and to:

 

CODE

[PC] I think you need a bath. You smell like a... well, you stink.

[ARAN] Now, what be th' idea, here... do I have naught in th' way o' counsel on this?

[PC] No. Get in there, and Korgan will be in with you in a minute with a stiff scrub brush. I'll heal you when you get out, if you have any skin left.

 

 

[PC] I think I love you... I know Kivan is getting very fond of me, but... do you want to kiss me?

[ARAN] Now, what be th' idea, here... do I have naught in th' way o' counsel on this?

[PC] Of course you do. I just thought you might... you might want to kiss me.

 

 

[ARAN] Now, what be th' idea, here... do I have naught in th' way o' counsel on this?

[PC] No. I told you I would prefer to resolve things peaceably, but imprisoning a nymph is just wrong. Razzefelow needs to die. Stop thinking like a tactician, and start using your heart.

 

 

In some respects, this works well. I can cross over between states in certain places, making content play out in many different ways, and avoid some state duplication. And having not specifically set out to create individual streams of thought (trying to make sure most if not all dialog states have responses that deal with as many possible player personalities as can be written for/imagined), many times the resulting play-through creates fun byplay more similar to RL conversation, where the results are sometimes not the way the player intended, because when PC says X, Aran can hear Y. Most of the feedback on allowing interesting and more involved player choices has been very positive; giving a player more potential options (even if they end up all leading back to the same end state) definitely works.

 

 

What I didn't think all the way through is while many different ways a single statement may be taken can be a powerful weapon when crafting code, it can be a mess when it comes to storytelling - and it is a very sharp two-edged sword indeed.

 

CODE

[PC] (Kiss him gently under the chin) + [ARAN_RESPONDS]

 

 

Did PC just ask him to sleep with her? Did PC just back him down from trying to make out with her by reducing the pace of the action? Did PC just nonverbally say "Hey, I like you a lot, but let's slow down" or was it "I like you a lot - you can go further" or "Hey, you like all this physical stuff, but I am ambivalent... why don't we play cards instead" or was it "Hmmm... I think if he lifts that jugular vein a little, I am going to get a good fresh meal out of this. Boy am I glad Valen made me into a vampire..." ? When I wrote it, I intended only one outcome - an escalation of physical contact by PC = "I want more action". It turns out that the flexibility given has some serous drawbacks. So now I have to figure out how to address this possible disconnect. I have plenty of options - I can ignore it completely, I can institute an "Aran Likes This" counter as several other mods do and use that to constrain possible outcomes,etc. But to explore the concept, let's take the complete opposite tack from what Aran started out with. Let's see what creating a follow-through between dialogs for player intent might look like.

Edited by cmorgan

Share this post


Link to post

IDEA: TRACKING PLAYER RESPONSE THROUGH MULTIPLE DIALOGS

In three separate on-and-off forum conversations, the idea has come up that it would make more sense (and allow much greater writing freedom of expression, and keep better control over making logical, non-jarring PC responses/Aran responses) if we could account for player choice of playstyle in advance. In one conversation, the idea was to track for Race, as in Romance materials it would be much easier to do this:

IF RACE=ELF THEN

[ARAN] Your ears, they be burnin' bright.

[PC] Elven ears are expressive that way.

[PC] Perhaps I will hide them by nestling my face under your chin.

 

IF RACE=DWARF THEN

[ARAN] Your ears, they be burnin' bright.

[PC] Dwarves usually blush all over.

[PC] Lean over a good bit, and I will show you what else is blushing...

 

IF RACE=HALFLING THEN

[ARAN] Your ears, they be burnin' bright.

[PC] I am amazed that you noticed, seeing as I am completely hidden behind your left knee.

[PC] Hold still. I am going to climb up and kiss you.

 

IF RACE=HUMAN THEN

[ARAN] Your ears, they be burnin' bright.

[PC] Wouldn't yours be?

[PC] I think I will hide them by pressing close to you, cheek to cheek.

 

IF RACE=HALF-ELF THEN

[ARAN] Your ears, they be burnin' bright.

[PC] Well, not every part of my elven heritage is positive. Would you like to be saddled with long ears that give away every feeling you have?

[PC] Are you looking at my ears? Because at your height, looking from that angle, I suspect your gaze is catching far more than my ears.

 

IF RACE=HALF-ORC THEN

[ARAN] Your ears, they be burnin' bright.

[PC] That much green in my ears means either you did something right, or I am about to attack you.

[PC] Look straight at my tusks, and I think you can gage my reaction.

 

IF RACE=GNOME THEN

[ARAN] Your ears, they be burnin' bright.

[PC] You can see my ears? I worked so hard to hide them...

[PC] Big, expressive ears, very big libido... have I ever explained how Denir likes gnomish followers to behave when it comes to families? More specifically, making them? BIG ones?

Rather than having to do this:

[ARAN] Your ears, they be burnin' bright.

IF RACE=ELF THEN [PC] Elven ears are expressive that way.

IF RACE=DWARF THEN [PC] Dwarves usually blush all over.

IF RACE=HALFLING THEN [PC] I am amazed that you noticed, seeing as I am completely hidden behind your left knee.

IF RACE=HUMAN THEN [PC] Wouldn't yours be?

IF RACE=HALF-ELF THEN [PC] Well, not every part of my elven heritage is positive. Would you like to be saddled with long ears that give away every feeling you have?

IF RACE=HALF-ORC THEN [PC] That much green in my ears means either you did something right, or I am about to attack you.

IF RACE=GNOME THEN [PC] You can see my ears? I worked so hard to hide them...

IF ~~ THEN [PC] Yes, they are. I am shocked that you would do that to me.

IF ~~ THEN [PC] Yes, they are. Do that again, please... this time, harder.

IF ~~ THEN [PC] Yes, they are. Do that again, please... this time, more gently.

IF ~~ THEN [PC] Touch me again, and you will find me extremely unhappy.

Another variant of this idea that was brought up was controlling by Class as a global "thematic core". Instead of allowing side branches, entire dialogs would be swapped in, contingent on the class PC was playing, thus eliminating the need to have big decision trees within dialogs. For example, this friend talk

IF ~Global("c-aranfriendbg2","GLOBAL",17)~ THEN BEGIN a198
 SAY ~[ARAN] We have a moment, <CHARNAME>. You want to take a bit o' time an' spar here? I could use some limberin' up.~ [c-aws092]
 + ~Class(Player1,MAGE)~ + ~[PC] I am not sure I want to do that, Aran. My best combat is done through casting spells.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a199
 + ~Class(Player1,FIGHTER)~ + ~[PC] That sounds like a good idea to me. Where do you want to set up? Do you favor Waterdeep Twin swords style, or Moonshea Axes? I have been wanting to try some new combinations.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a200
 + ~Class(Player1,CLERIC)~ + ~[PC] I could use some weapons practice. I will even say a prayer for you, Aran, for when you find yourself on the losing end of the skirmish.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a201
 + ~Class(Player1,THIEF)~ + ~[PC] Would you like to use your dagger? Because I just lifted it off of you, so you would have to ask for it back.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a202
 + ~Class(Player1,BARD)~ + ~[PC] I would prefer a duel of wits, or perhaps song and poem. But if you would like to try a skirmish, I can oblige you.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a203
 + ~Class(Player1,PALADIN)~ + ~[PC] A noble thought. It would be good practice. Where would you like to set up this session?~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a204
 + ~Class(Player1,FIGHTER_MAGE)~ + ~[PC] I suppose I need to stay with the weapons side of things, and not cast any spells, right? Oh, if it will make you better at your job, sure.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a205
 + ~Class(Player1,FIGHTER_CLERIC)~ + ~[PC] My fighting skills are sharp, as is my faith, Aran. But if you need some practice, I will help you.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a206
 + ~Class(Player1,FIGHTER_THIEF)~ + ~[PC] My fighting skills are sharp enough, Aran, but sure. I will even wager this purse that I will win.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a207
 + ~Class(Player1,FIGHTER_MAGE_THIEF)~ + ~[PC] Well, I could use a little practice. Between practicing picking locks, casting spells, and weapons cleaning there is never enough time for a good skirmish.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a208
 + ~Class(Player1,DRUID)~ + ~[PC] It is part of nature's beauty that the animal form should be trained and used as efficiently as possible. Perhaps we should schedule several training sessions together.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a209
 + ~Class(Player1,RANGER)~ + ~[PC] We could spar. I think I should teach you a bit more about tracking, though.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a210
 + ~Class(Player1,MAGE_THIEF)~ + ~[PC] Well, since I just pick-pocketed your dagger and made it invisible, why not make the first challenge you finding your dagger?~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a211
 + ~Class(Player1,CLERIC_MAGE)~ + ~[PC] I could pray to the gods to help you, or cast a healing spell. Or we could try a small training exercise. But magic is really my strong point, Aran.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a212
 + ~Class(Player1,CLERIC_THIEF)~ + ~[PC] We could, but my faith has allowed me a unique opportunity. My prayers have been answered, and voila... is this your dagger?~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a213
 + ~Class(Player1,FIGHTER_DRUID)~ + ~[PC] A good warmup helps everyone. But I should really teach you more about tracking.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a214
 + ~Class(Player1,FIGHTER_MAGE_CLERIC)~ + ~[PC] My skills are divided between arcane, spiritual, and physical pursuits, Aran. But I suppose that I have time to indulge in one of the three.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a215
 + ~Class(Player1,CLERIC_RANGER)~ + ~[PC] The gods help those who help themselves, Aran, so I would be happy to practice with you. I should teach you some tracking skills, though.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a216
 + ~Class(Player1,SORCERER)~ + ~[PC] Well, I do not practice the way you do, Aran. But some minor skirmishing might sharpen us. I will just have to be careful and not accidentally turn you into a cinder.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a217
 + ~Class(Player1,MONK)~ + ~[PC] A good idea. No weapons, though.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a218
 ++ ~[PC] I am not sure this is the time or place, Aran. Perhaps we should and find somewhere more protected.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a219
 + ~RandomNum(5,1)~ + ~[PC] No. And stop talking to me.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1909 /* c-aranshutup3 */
 + ~RandomNum(5,2)~ + ~[PC] I prefer you when you are the silent type. Right now, obviously, this is a problem, because you keep opening your mouth and letting wind come out.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1911 /* c-aranshutup5 */
 + ~RandomNum(5,3)~ + ~[PC] Please, keep talking. I always yawn when I am interested. Just in case you did not notice, this is called 'sarcasm'.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1913 /* c-aranshutup7 */
 + ~RandomNum(5,4)~ + ~[PC] Silence. That is spelled 's i l e n c e'. You are a scribe - write it down, and post it somewhere where you can read it.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1915 /* c-aranshutup9 */
 + ~RandomNum(5,5)~ + ~[PC] I don't mind you talking so much, as long as you don't mind me not listening.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a1917 /* c-aranshutup11 */
END

 

could be written much more tightly to the found class on all counts by simply creating separate talks screened by class [NOTE: I originally chose not to do this not just because of time constraints, but because of multi-class evaluation. Within a dialog, having FIGHTER_ALL below MAGE_ALL means the fighter branch will be taken, and the mage line skipped, and I don't like that kind of screening set at one level up because in my opinion it is harder to troubleshoot what went wrong. I really like single-condition triggered talks. It makes life so much easier. But it is certainly possible to do, and I use multi-conditioned talks occasionally - if this works out, since I have typed it all out as an example, we may just use this in the mod instead of the regular. There is only one potential problem - what happens when there is no consistently recognizable class? Wildemage and Barbarian spring to mind. Perhaps I will avoid this after all. It would mean a "generic" initiation state with all the "not this, not that"... oh heck. Why not. Might as well be hung for a sheep as a lamb. There - I just talked myself into doing more work!]:

 

IF ~Global("c-aranfriendbg2","GLOBAL",17) Class(Player1,MAGE)~ THEN BEGIN a198A
 SAY ~[ARAN] We have a moment, <CHARNAME>. You want to take a bit o' time an' spar here? I could use some limberin' up. Not everythin' can be dealt with wi' a wave o' magic, so it might help you, too.~
 + ~[PC] I am not sure I want to do that, Aran. My best combat is done through casting spells.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a199

IF ~Global("c-aranfriendbg2","GLOBAL",17) Class(Player1,FIGHTER)~ THEN BEGIN a198B
 SAY ~[ARAN] We have a moment, <CHARNAME>. You want to take a bit o' time an' spar here? I could use some limberin' up. You have a few moves what might be good to learn, too. I can always use another fighter's perspective, eh?~
 + ~[PC] That sounds like a good idea to me. Where do you want to set up? Do you favor Waterdeep Twin swords style, or Moonshea Axes? I have been wanting to try some new combinations.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a200

IF ~Global("c-aranfriendbg2","GLOBAL",17) Class(Player1,CLERIC)~ THEN BEGIN a198C
 SAY ~[ARAN] We have a moment, <CHARNAME>. You want to take a bit o' time an' spar here? I could use some limberin' up. Not everythin' can be dealt with wi' a prayer an' a spell, so it might help you, too.~
 + ~[PC] I could use some weapons practice. I will even say a prayer for you, Aran, for when you find yourself on the losing end of the skirmish.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a201

IF ~Global("c-aranfriendbg2","GLOBAL",17) Class(Player1,THIEF)~ THEN BEGIN a198D
 SAY ~[ARAN] We have a moment, <CHARNAME>. You want to take a bit o' time an' spar here? I could use some limberin' up. Not everythin' can be hid from or taken down at range, so it might help you, too.~
 + ~[PC] Would you like to use your dagger? Because I just lifted it off of you, so you would have to ask for it back.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a202

IF ~Global("c-aranfriendbg2","GLOBAL",17) Class(Player1,BARD)~ THEN BEGIN a198E
 SAY ~[ARAN] We have a moment, <CHARNAME>. You want to take a bit o' time an' spar here? I could use some limberin' up. Music may sooth savage beasts, but some o' them might just decide they are happy enough to take a chunk out o' us, so it might help you, too.~
 + ~[PC] I would prefer a duel of wits, or perhaps song and poem. But if you would like to try a skirmish, I can oblige you.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a203

IF ~Global("c-aranfriendbg2","GLOBAL",17) Class(Player1,PALADIN)~ THEN BEGIN a198F
 SAY ~[ARAN] We have a moment, <CHARNAME>. You want to take a bit o' time an' spar here? I could use some limberin' up. You fight fair too many times, an' I don't, so it might help you, too.~
 + ~[PC] A noble thought. It would be good practice. Where would you like to set up this session?~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a204

IF ~Global("c-aranfriendbg2","GLOBAL",17) Class(Player1,FIGHTER_MAGE)~ THEN BEGIN a198G
 SAY ~[ARAN] We have a moment, <CHARNAME>. You want to take a bit o' time an' spar here? I could use some limberin' up. You have to split your time between th' magic study an' th' weapons practice, so it might help you, too.~
 + ~[PC] I suppose I need to stay with the weapons side of things, and not cast any spells, right? Oh, if it will make you better at your job, sure.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a205

IF ~Global("c-aranfriendbg2","GLOBAL",17) Class(Player1,FIGHTER_CLERIC)~ THEN BEGIN a198H
 SAY ~[ARAN] We have a moment, <CHARNAME>. You want to take a bit o' time an' spar here? I could use some limberin' up. Fightin' an' prayin' at th' same time takes a good bit o' concentration, I bet, so it might help you, too.~
 + ~[PC] My fighting skills are sharp, as is my faith, Aran. But if you need some practice, I will help you.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a206

IF ~Global("c-aranfriendbg2","GLOBAL",17) Class(Player1,FIGHTER_THIEF)~ THEN BEGIN a198I
 SAY ~[ARAN] We have a moment, <CHARNAME>. You want to take a bit o' time an' spar here? I could use some limberin' up. A straightforward fight, too, not all that fancy slippery dexterous crap you usually pull. i be a fighter, not an acrobat, by Sune's Smile.~
 + ~[PC] My fighting skills are sharp enough, Aran, but sure. I will even wager this purse that I will win.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a207

IF ~Global("c-aranfriendbg2","GLOBAL",17) Class(Player1,FIGHTER_MAGE_THIEF)~ THEN BEGIN a198J
 SAY ~[ARAN] We have a moment, <CHARNAME>. You want to take a bit o' time an' spar here? I could use some limberin' up. You split your skills up to a large extent, so it might help you drill down some o' your fightin' moves.~
 + ~[PC] Well, I could use a little practice. Between practicing picking locks, casting spells, and weapons cleaning there is never enough time for a good skirmish.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a208

IF ~Global("c-aranfriendbg2","GLOBAL",17) Class(Player1,DRUID)~ THEN BEGIN a198K
 SAY ~[ARAN] We have a moment, <CHARNAME>. You want to take a bit o' time an' spar here? I could use some limberin' up. But go on th' magic or callin' any woodland allies, or any o' that shapeshiftin', eh? Just a good clean spar.~
 + ~[PC] It is part of nature's beauty that the animal form should be trained and used as efficiently as possible. Perhaps we should schedule several training sessions together.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a209

IF ~Global("c-aranfriendbg2","GLOBAL",17) Class(Player1,RANGER)~ THEN BEGIN a198L
 SAY ~[ARAN] We have a moment, <CHARNAME>. You want to take a bit o' time an' spar here? I could use some limberin' up. Not everythin' can be dealt with at range, so it might help you, too. Though I'd best be on my guard. You rangers all seem trained up in usin' more than one weapon at a time.~
 + ~[PC] We could spar. I think I should teach you a bit more about tracking, though.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a210

IF ~Global("c-aranfriendbg2","GLOBAL",17) Class(Player1,MAGE_THIEF)~ THEN BEGIN a198M
 SAY ~[ARAN] We have a moment, <CHARNAME>. You want to take a bit o' time an' spar here? I could use some limberin' up. Wi' all that magic, an' th' careful work on locks an' such, I figure you might need a mite bit o' practice on combat.~
 + ~[PC] Well, since I just pick-pocketed your dagger and made it invisible, why not make the first challenge you finding your dagger?~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a211

IF ~Global("c-aranfriendbg2","GLOBAL",17) Class(Player1,CLERIC_MAGE)~ THEN BEGIN a198N
 SAY ~[ARAN] We have a moment, <CHARNAME>. You want to take a bit o' time an' spar here? I could use some limberin' up. Come on, it will be a right fine change o' pace for you.~
 + ~[PC] I could pray to the gods to help you, or cast a healing spell. Or we could try a small training exercise. But magic is really my strong point, Aran.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a212

IF ~Global("c-aranfriendbg2","GLOBAL",17) Class(Player1,CLERIC_THIEF)~ THEN BEGIN a198O
 SAY ~[ARAN] We have a moment, <CHARNAME>. You want to take a bit o' time an' spar here? I could use some limberin' up. No prayers for help from beyond, an' no slippery tricks... just a straight fight.~
 + ~[PC] We could, but my faith has allowed me a unique opportunity. My prayers have been answered, and voila... is this your dagger?~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a213

IF ~Global("c-aranfriendbg2","GLOBAL",17) Class(Player1,FIGHTER_DRUID)~ THEN BEGIN a198P
 SAY ~[ARAN] We have a moment, <CHARNAME>. You want to take a bit o' time an' spar here? I could use some limberin' up. No callin' in any extra help, though. Let's stick to th' standard fightin' work we both need brushin' up on.~
 + ~[PC] A good warmup helps everyone. But I should really teach you more about tracking.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a214

IF ~Global("c-aranfriendbg2","GLOBAL",17) Class(Player1,FIGHTER_MAGE_CLERIC)~ THEN BEGIN a198Q
 SAY ~[ARAN] We have a moment, <CHARNAME>. You want to take a bit o' time an' spar here? I could use some limberin' up. You need it. Too much divided attention, eh? Let's postulate you done ran out o' divine an' arcane spells, an' just need to whack th' crap out o' th' enemy.~
 + ~[PC] My skills are divided between arcane, spiritual, and physical pursuits, Aran. But I suppose that I have time to indulge in one of the three.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a215

IF ~Global("c-aranfriendbg2","GLOBAL",17) Class(Player1,CLERIC_RANGER)~ THEN BEGIN a198R
 SAY ~[ARAN] We have a moment, <CHARNAME>. You want to take a bit o' time an' spar here? I could use some limberin' up. You might learn somethin' from doin' things other than talkin' to gods an' animals an' trees an' whatnot.~
 + ~[PC] The gods help those who help themselves, Aran, so I would be happy to practice with you. I should teach you some tracking skills, though.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a216

IF ~Global("c-aranfriendbg2","GLOBAL",17) Class(Player1,SORCERER)~ THEN BEGIN a198S
 SAY ~[ARAN] We have a moment, <CHARNAME>. You want to take a bit o' time an' spar here? I could use some limberin' up. Not everythin' can be dealt with wi' a wave o' magic, so it might help you, too. Think o' it as backup for when th' magical energies just don't rightly want to flow for you, eh?~
 + ~[PC] Well, I do not practice the way you do, Aran. But some minor skirmishing might sharpen us. I will just have to be careful and not accidentally turn you into a cinder.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a217

IF ~Global("c-aranfriendbg2","GLOBAL",17) Class(Player1,MONK)~ THEN BEGIN a198T
 SAY ~[ARAN] We have a moment, <CHARNAME>. You want to take a bit o' time an' spar here? I could use some limberin' up. Besides, i be right fascinated. I done heard some o' you monks can catch a man's blade out o' the air wi' your bare hands.~
 + ~[PC] A good idea. No weapons, though.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a218

/* "catch-all" for potential breakage and forward-fixing when GemRB allows new classes to be defined... */
IF ~Global("c-aranfriendbg2","GLOBAL",17) !Class(Player1,MAGE) !Class(Player1,FIGHTER) !Class(Player1,CLERIC) !Class(Player1,THIEF) !Class(Player1,BARD) !Class(Player1,PALADIN) !Class(Player1,FIGHTER_MAGE) !Class(Player1,FIGHTER_CLERIC) !Class(Player1,FIGHTER_THIEF) !Class(Player1,FIGHTER_MAGE_THIEF) !Class(Player1,DRUID) !Class(Player1,RANGER) !Class(Player1,MAGE_THIEF) !Class(Player1,CLERIC_MAGE) !Class(Player1,CLERIC_THIEF)  !Class(Player1,FIGHTER_DRUID) !Class(Player1,FIGHTER_MAGE_CLERIC)  !Class(Player1,CLERIC_RANGER) !Class(Player1,SORCERER) !Class(Player1,MONK)~ THEN BEGIN a198U
 SAY ~[ARAN] We have a moment, <CHARNAME>. You want to take a bit o' time an' spar here? I could use some limberin' up. Come on, it will be a right fine change o' pace for you.~
 + ~[PC] Fighting you might be a change of pace. Being better than you, well, that is a habit.~ DO ~SetGlobal("c-aranfriendbg2","GLOBAL",18) RealSetGlobalTimer("c-aranfriendtimer","GLOBAL",ARAN_FTT)~ + a218

 

The advantage with this is that every single class gets something tailored to it, with space for several variants off of the main thread. This additional room is nice; the cost is much more dialog that ends up being variants of 'yeah, you know I am a F_M_T. Move on to the next line, already'. Plus tons more to write. But, the principle is the same as the first example.

 

The third variant came up in Autumn Bard's analysis, looking at ways of tracking player personality style/choice, to avoid some of the jarring that comes from me trying to loop back to common states and finding myself creating awkward or harsh versions of the story when it was completely unintended and sounds out of character. This third one, instead of static race and class, postulated setting a variable that followed the player through conversations, so that once a player started roleplaying a particular personality type, the subsequent dialogs would follow along.

 

To restate the idea in another way, instead of creating a network of responses that attempted to cover multiple playstyles, create a stream of talks that track along a Roleplayer personality.

 

Another way, it is 5 optional storylines, each with its own 6 to 7 character possibilities = 30 to 35 different PC personality choices, instead of 1 with 6 to 7 per talk = 6 to 7 or so different personality choices.

Share this post


Link to post

In a general sense, all three of these "tracking" ideas are way cool ways to tailor storyline to account for player choice. They all run into a major drawback; each one functionally creates multiple independent mods within the same mod. What I mean is, here is a standard BioWare interaction from BVALYGA .DLG:

 

IF WEIGHT #2 /* Triggers after states #: 139 even though they appear after this state */
~See(Player1)
CombatCounter(0)
!StateCheck(Player1,STATE_SLEEPING)
Global("BValygar7","LOCALS",0)~ THEN BEGIN 91 // from:
 SAY ~I am curious.  How much experience have you had with magic?~ [VALYGA67] /* #21516 */
 IF ~Class(Player1,MAGE)~ THEN REPLY ~I am a mage, Valygar.  My experience with magic is quite thorough, I assure you.  Why do you ask?~ /* #21517 */ DO ~SetGlobal("BValygar7","LOCALS",1)~ GOTO 92
 IF ~Class(Player1,CLERIC)~ THEN REPLY ~As a cleric I gain my magic through the worship of my god.  Why do you ask?~ /* #21518 */ DO ~SetGlobal("BValygar7","LOCALS",1)~ GOTO 93
 IF ~~ THEN REPLY ~I have had considerable encounters with magic throughout my travels, Valygar, if that's what you mean.~ /* #21519 */ DO ~SetGlobal("BValygar7","LOCALS",1)~ GOTO 94
 IF ~~ THEN REPLY ~This is no time for chatter, Valygar.~ /* #21520 */ DO ~SetGlobal("BValygar7","LOCALS",1)~ GOTO 95
END

IF ~~ THEN BEGIN 92 // from: 91.0
 SAY ~You are a mage?  I suppose I should have expected that.  My life appears to be entwined with foul sorcery, and there seems to be no escaping it.~ /* #21521 */
 IF ~~ THEN REPLY ~What do you mean?~ /* #21522 */ GOTO 96
 IF ~~ THEN REPLY ~I don't consider my magic to be foul, Valygar.~ /* #21523 */ GOTO 97
 IF ~~ THEN REPLY ~If I were you, I would not use the word 'foul' in reference to my magic.~ /* #21524 */ GOTO 98
END

IF ~~ THEN BEGIN 93 // from: 91.1
 SAY ~I suppose that's not quite the same as sorcery, but it's still magic.  Sometimes, I think my life to be so caught up in foul magic there is no escape.~ /* #21525 */
 IF ~~ THEN REPLY ~Why do you say that?~ /* #21526 */ GOTO 96
 IF ~~ THEN REPLY ~I don't think magic is foul when it comes from your god.~ /* #21527 */ GOTO 99
 IF ~~ THEN REPLY ~I don't think magic is foul if it put to good use.~ /* #21549 */ GOTO 97
 IF ~~ THEN REPLY ~I would be careful, if I were you, about calling my magic 'foul'.~ /* #21528 */ GOTO 98
END

IF ~~ THEN BEGIN 94 // from: 91.2
 SAY ~So you, too, are drawn into its wake?  Sometimes I believe that my life is so caught up with magic that there will never be an escape from its foul presence.~ /* #21529 */
 IF ~~ THEN REPLY ~What do you mean?~ /* #21530 */ GOTO 96
 IF ~~ THEN REPLY ~I don't think magic is foul, Valygar.~ /* #21531 */ GOTO 97
 IF ~~ THEN REPLY ~I know exactly what you mean.  Fortunately, magic has its uses and can at least be tolerated.~ /* #21532 */ GOTO 100
END

IF ~~ THEN BEGIN 95 // from: 102.3 100.3 99.3 97.3 96.3 91.3
 SAY ~Of course, <CHARNAME>, I apologize.~ /* #21533 */
 IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN 96 // from: 97.0 94.0 93.0 92.0
 SAY ~I told you of Lavok: his influence did not end with his disappearance.  Like a curse, my family has been afflicted with magic, and it has brought us only ill.~ /* #21534 */
 IF ~~ THEN REPLY ~Do you mean there have been many within your family who have been magic-users?~ /* #21535 */ GOTO 101
 IF ~~ THEN REPLY ~Why do you consider that a curse?~ /* #21536 */ GOTO 103
 IF ~~ THEN REPLY ~Ah, I see.  Magic can have its dark side, I suppose.~ /* #21537 */ GOTO 105
 IF ~~ THEN REPLY ~Enough, Valygar.  This is not time for talk.~ /* #21543 */ GOTO 95
END

IF ~~ THEN BEGIN 97 // from: 94.1 93.2 92.1
 SAY ~I have heard it said that magic is only as poor as its user, but I do not believe.  My family had a long and intimate dance with magic: it brought only grief.~ /* #21538 */
 IF ~~ THEN REPLY ~What do you mean by that?~ /* #21539 */ GOTO 96
 IF ~~ THEN REPLY ~Grief?  Surely magic can be beneficial, as well.~ /* #21540 */ GOTO 100
 IF ~~ THEN REPLY ~You think what has been true for your family is true for all magic?~ /* #21541 */ GOTO 108
 IF ~~ THEN REPLY ~Enough, Valygar.  This is no time for talk.~ /* #21542 */ GOTO 95
END

IF ~~ THEN BEGIN 98 // from: 93.3 92.2
 SAY ~That is simply how I feel.  You may be a good person, but your magic will twist you in the end.  But perhaps I should keep my opinions to myself.  I apologize.~ /* #21544 */
 IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN 99 // from: 93.1
 SAY ~I suppose I would know little about that.  I worship no god, and take no comfort from knowing of their existence.~ /* #21545 */
 IF ~~ THEN REPLY ~You don't?  Why is that?~ /* #21546 */ GOTO 110
 IF ~~ THEN REPLY ~Perhaps if your family had been more pious and gave the gods their due, you would not be having the problems you are.~ /* #21547 */ GOTO 112
 IF ~~ THEN REPLY ~Then you are a heathen.~ /* #21548 */ GOTO 113
 IF ~~ THEN REPLY ~Enough, let's get going.~ /* #21571 */ GOTO 95
END

IF ~~ THEN BEGIN 100 // from: 97.1 94.2
 SAY ~Sometimes I think Faerun would be a far better place without it. It spawns as much danger as it cures... everything would be better done by hand, or not at all.~ /* #21550 */
 IF ~~ THEN REPLY ~Surely you agree that magic is also responsible for great beauty and wondrous miracles?~ /* #21551 */ GOTO 114
 IF ~~ THEN REPLY ~I think Faerun would be a dull and boring place without magic, Valygar.  What would one do for adventure?~ /* #21552 */ GOTO 115
 IF ~~ THEN REPLY ~I agree with you.  Magic is a terrible thing.~ /* #21553 */ GOTO 116
 IF ~~ THEN REPLY ~Enough talk, Valygar.~ /* #21554 */ GOTO 95
END

IF ~~ THEN BEGIN 101 // from: 96.0
 SAY ~The talent seems to run rampant.  My mother was a wizard, as was my grandfather and many other relatives beyond that.  All of them came to a bitter end.~ /* #21555 */
 IF ~~ THEN GOTO 102
END

IF ~~ THEN BEGIN 102 // from: 104.0 101.0
 SAY ~Perhaps it is fortunate that I am the last of my line.  It might be fitting that the family and the fortune that paved the path both end with Lavok's death.~ /* #21556 */
 IF ~~ THEN REPLY ~You would not consider retiring from the Life and having children?~ /* #21557 */ GOTO 117
 IF ~~ THEN REPLY ~That's terrible...all of your family is gone?~ /* #21558 */ GOTO 119
 IF ~~ THEN REPLY ~That is a difficult attitude to live with.~ /* #21559 */ GOTO 121
 IF ~~ THEN REPLY ~Enough talk, Valygar, let us continue on.~ /* #21560 */ GOTO 95
END

IF ~~ THEN BEGIN 103 // from: 96.1
 SAY ~It is a curse because magic twists the soul.  Once you begin, you put aside concerns of life.  There is never enough books, scrolls, or time to study spells.~ /* #21561 */
 IF ~~ THEN GOTO 104
END

IF ~~ THEN BEGIN 104 // from: 103.0
 SAY ~Soon one can challenge the boundaries of life and death.  The unnatural becomes commonplace, and before you realize, you are on a path that only leads ruin.~ /* #21562 */
 IF ~~ THEN GOTO 102
END

IF ~~ THEN BEGIN 105 // from: 96.2
 SAY ~I have seen every facet of magic's dark side with my mother before...before she died.  Try as I might, I cannot twist and turn it enough to find its light side.~ /* #21563 */
 IF ~~ THEN GOTO 106
END

IF ~~ THEN BEGIN 106 // from: 109.0 105.0
 SAY ~Enough talk of magic, however.  I am sorry to have brought the topic up.  We should be going.~ /* #21564 */
 IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN 107 // from:
 SAY ~~ /* #21565 */
 IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN 108 // from: 97.2
 SAY ~Every Corthala: adventurer, sage, necromancer, all would have been better served staying home to take care of their family and live natural lives.~ /* #21566 */
 IF ~~ THEN GOTO 109
END

IF ~~ THEN BEGIN 109 // from: 108.0
 SAY ~I think, from that breadth of experience, that gives me plenty of ground to cast my eye on magic as a whole.~ /* #21567 */
 IF ~~ THEN GOTO 106
END

IF ~~ THEN BEGIN 110 // from: 99.0
 SAY ~The gods have never impacted my life in any form.  I devote myself to defending natural from unnatural, and that grants more peace than any god, I think.~ /* #21568 */
 IF ~~ THEN GOTO 111
END

IF ~~ THEN BEGIN 111 // from: 120.0 118.0 116.0 113.0 112.0 110.0
 SAY ~But enough talk.  We should be going.~ /* #21569 */
 IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN 112 // from: 99.1
 SAY ~Perhaps you are right, <CHARNAME>.  No god ever expressed the interest, however, and I sometimes wonder which was responsible for our curse.~ /* #21570 */
 IF ~~ THEN GOTO 111
END

IF ~~ THEN BEGIN 113 // from: 99.2
 SAY ~A heathen?  If only there were a god who would have saved my family from itself, I would kneel down and thank Him.  Until that day, I prefer to rely on myself.~ /* #21572 */
 IF ~~ THEN GOTO 111
END

IF ~~ THEN BEGIN 114 // from: 100.0
 SAY ~I...I suppose so.  You have traveled more than I.  Perhaps if I see these miracles I would be more easily convinced.  I shall have to think on that.~ /* #21573 */
 IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN 115 // from: 100.1
 SAY ~I think you have an odd idea of adventure, my friend.  Perhaps magic holds such a station in your life, I simply wish it did not hold that station in mine.~ /* #21574 */
 IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN 116 // from: 100.2
 SAY ~Indeed.  It's good to know I'm traveling with someone in possession of some common sense.~ /* #21575 */
 IF ~~ THEN GOTO 111
END

IF ~~ THEN BEGIN 117 // from: 102.0
 SAY ~And know that my own children would be likely afflicted?  Aside from that, who would have me?  Magic is frowned on, here, and too many know of my heritage.~ /* #21576 */
 IF ~~ THEN GOTO 118
END

IF ~~ THEN BEGIN 118 // from: 117.0
 SAY ~But...perhaps, <CHARNAME>.  Perhaps I would consider it.  Somewhere else, who knows?~ /* #21577 */
 IF ~~ THEN GOTO 111
END

IF ~~ THEN BEGIN 119 // from: 102.1
 SAY ~They either killed each other in their pursuits or have been...dealt with.  It was not a large family anyway...few sorcerers see the need for a family life.~ /* #21578 */
 IF ~~ THEN GOTO 120
END

IF ~~ THEN BEGIN 120 // from: 119.0
 SAY ~And those that do are rarely happy with it.  No, no...it is very likely best that I am the last of us.  A sad thing, but true enough.~ /* #21579 */
 IF ~~ THEN GOTO 111
END

IF ~~ THEN BEGIN 121 // from: 102.2
 SAY ~Yes.  Yes, it is.  I...never mind.  Let us be going.~ /* #21580 */
 IF ~~ THEN EXIT
END

32 states, standard exit blocks, 3 or 4 options that are generic enough to cover almost any player type without delving deeply into what they might want to say, so that the storyline clips along at a nice pace.

 

Here is a nice one from Darious & Miera's Amber. They took several talks and worked them the way we are working here; because they allow a romance with Player2 in a Multiplayer game, they have several versions of this particular talk, all based on the earlier setting of match between PC and Player2 and Amber, modified by Global("M#P2Parents","Locals",2) (range of 1 - 5, plus two others screened by Player2 status):

IF ~Global("M#P2Parents","Locals",2)
Global("M#AmberMatch","GLOBAL",3)
Global("M#AmberTalk","Locals",13)
!StateCheck(Player2,STATE_HELPLESS)
!StateCheck(Player2,STATE_STUNNED)
!StateCheck(Player2,STATE_SLEEPING)
!StateCheck(Player2,STATE_SILENCED)~ THEN BEGIN P2T8Begin2
 SAY @5748 /* @5748 = ~<PLAYER2>, you mentioned that you lived in Candlekeep with your mother. How do you remember her?~ */ 
 IF ~~ THEN REPLY @5749 /* @5749 = ~How do I remember her? Do you mean what she was like?~ */ GOTO P2T8B2
 IF ~~ THEN REPLY @5750 /* @5750 = ~Very fondly. I learned a lot from her.~ */ GOTO P2T8C2
 IF ~~ THEN REPLY @5751 /* @5751 = ~Well, she never spent very much time with me, but I really can't hold it against her.~ */ GOTO P2T8D2
 IF ~~ THEN REPLY @5752 /* @5752 = ~Better than I would care to. Sometimes I think I would have been better off without her.~ */ GOTO P2T8E2
 IF ~~ THEN REPLY @5753 /* @5753 = ~I do not wish to discuss my mother with you. She is no longer a part of my life.~ */ GOTO P2T8F
 IF ~~ THEN REPLY @5754 /* @5754 = ~I was glad to be rid of her. She never understood anything and was merely trying to hold me back.~ */ GOTO P2T8J
END

IF ~~ THEN BEGIN P2T8B2
 SAY @5620 /* @5620 = ~Well, yes. In your memories, at least. I don't expect you to give an objective view of someone who obviously played an important part in your childhood.~ */
 IF ~~ THEN REPLY @5755 /* @5755 = ~I will always remember her with warmth. She taught me much.~ */ GOTO P2T8C2
 IF ~~ THEN REPLY @5756 /* @5756 = ~Well, we were never very close, but I guess it was as much my fault as it was hers.~ */ GOTO P2T8D2
 IF ~~ THEN REPLY @5757 /* @5757 = ~Well, I don't think about her very often. I would have to say that I have very few positive memories of her.~ */ GOTO P2T8E2
 IF ~~ THEN REPLY @5624 /* @5624 = ~I really don't think that is something I feel comfortable discussing with you.~ */ GOTO P2T8F
 IF ~~ THEN REPLY @5754 /* @5754 = ~I was glad to be rid of her. She never understood anything and was merely trying to hold me back.~ */ GOTO P2T8J
END

IF ~~ THEN BEGIN P2T8C2
 SAY @5758 /* @5758 = ~Your childhood must have been a happy one, then. I have to admit that I really have no idea what it would have been like. I never knew my mother, and I never managed to find anyone to replace her; the friends I found were mostly younger than me.~ */
 =
 @5759 /* @5759 = ~I did learn a great deal in the circus, and I think that had I been younger when I joined them, Nadja *might* have become something of a mother to me. At least that's what I like to believe.~ */
 IF ~Class(Player2,THIEF_ALL)~ THEN GOTO P2T8C2Thief
 IF ~Class(Player2,FIGHTER_ALL)~ THEN GOTO P2T8C2Fighter
 IF ~OR(2)
Class(Player2,MAGE_ALL)
Class(Player2,SORCERER)~ THEN GOTO P2T8C2Wizard
 IF ~Class(Player2,RANGER_ALL)~ THEN GOTO P2T8C2Ranger
 IF ~Class(Player2,DRUID_ALL)~ THEN GOTO P2T8C2Druid
 IF ~Class(Player2,CLERIC_ALL)~ THEN GOTO P2T8C2Cleric
 IF ~Class(Player2,BARD_ALL)~ THEN GOTO P2T8C2Bard
 IF ~Class(Player2,PALADIN_ALL)~ THEN GOTO P2T8C2Paladin
 IF ~Class(Player2,MONK)~ THEN GOTO P2T8C2Monk  
END  

IF ~~ THEN BEGIN P2T8C2Thief
 SAY @5760 /* @5760 = ~You said she taught you much - does that mean that it was because of her you became a thief?~ */
 IF ~Alignment(Player2,MASK_GOOD)~ THEN REPLY @5761 /* @5761 = ~Well, she was the shopkeeper in Candlekeep, so I guess you could see some twisted kind of a connection. I guess I just have a slightly different outlook on property rights than she. She was never shy of relieving a foolish customer of his money, though, so I hope that she could at least understand the road I have chosen.~ */ GOTO P2T8G2
 IF ~!Alignment(Player2,MASK_GOOD)~ THEN REPLY @5762 /* @5762 = ~Well, she was the shopkeeper in Candlekeep, so I guess you could see some twisted kind of a connection. I guess I just have a slightly different outlook on property rights than she. I don't think she would approve the road I have chosen to travel, though.~ */ GOTO P2T8H2
 IF ~~ THEN REPLY @5630 /* @5630 = ~Well, yes. It is rather ironic that when I was a child, a thief was the last thing I wanted to become.~ */ GOTO P2T8J1
 IF ~~ THEN REPLY @5763 /* @5763 = ~No, she was actually a stablemaid at the monastery, but she was a very wise woman.~ */ GOTO P2T8L1
 IF ~~ THEN REPLY @5764 /* @5764 = ~No, I couldn't say that she had anything to do with my choice of profession. Which is not to say that I wouldn't have found many of her teachings valuable in what I do.~ */ GOTO P2T8M1
 IF ~!Class(Player2,MAGE_ALL)~ THEN REPLY @5765 /* @5765 = ~Well, in a way it was. She was one of those stuffy wizards that Candlekeep was full of. It was because of her that I decided to keep away from arcane magic and become a thief instead.~ */ GOTO P2T8Q1
 IF ~!Class(Player2,FIGHTER_ALL)~ THEN REPLY @5766 /* @5766 = ~Well, she was a guard at Candlekeep, and it was because of what I saw growing up with her that I swore off a martial career. So I guess it could be said that she had an influence.~ */ GOTO P2T8Q1
 IF ~!Class(Player2,CLERIC_ALL)~ THEN REPLY @5767 /* @5767 = ~Well, it was mainly because I hated everything that had to do with her work in the temple at Candlekeep, that I decided to keep away from the gods and become a thief instead. So I guess she was an influence.~ */ GOTO P2T8Q1
 IF ~~ THEN REPLY @5768 /* @5768 = ~Well, she couldn't stop babbling about - and to - all those flowers and herbs growing in the gardens of the monastery. I really didn't share that particular passion of hers and decided to devote my time to things more animate than plants.~ */ GOTO P2T8Q1
END

IF ~~ THEN BEGIN P2T8C2Fighter
 SAY @5769 /* @5769 = ~You said she taught you much - does that mean that it was because of her you became a fighter?~ */
 IF ~~ THEN REPLY @5770 /* @5770 = ~Yes, I think she was one of the main reasons why pursued a martial career. She worked in the Candlekeep guard, and I always wanted to become a fighter like her. I just found the idea of staying in Candlekeep for the rest of my life rather boring.~ */ GOTO P2T8O2
 IF ~~ THEN REPLY @5639 /* @5639 = ~Well, yes. It is rather ironic that when I was a child, a fighter was the last thing I wanted to become.~ */ GOTO P2T8J1
 IF ~~ THEN REPLY @5763 /* @5763 = ~No, she was actually a stablemaid at the monastery, but she was a very wise woman.~ */ GOTO P2T8L1
 IF ~~ THEN REPLY @5764 /* @5764 = ~No, I couldn't say that she had anything to do with my choice of profession. Which is not to say that I wouldn't have found many of her teachings valuable in what I do.~ */ GOTO P2T8M1
 IF ~!Class(Player2,MAGE_ALL)~ THEN REPLY @5771 /* @5771 = ~Well, in a way it was. She was one of those stuffy wizards that Candlekeep was full of. It was because of her that I decided to keep away from arcane magic and become a fighter instead.~ */ GOTO P2T8Q1
 IF ~!Class(Player2,CLERIC_ALL)~ THEN REPLY @5772 /* @5772 = ~Well, it was mainly because I hated everything that had to do with her work in the temple at Candlekeep, that I decided to keep away from the gods and become a fighter instead. So I guess she was an influence.~ */ GOTO P2T8Q1
 IF ~!Class(Player2,DRUID_ALL)~ THEN REPLY @5768 /* @5768 = ~Well, she couldn't stop babbling about - and to - all those flowers and herbs growing in the gardens of the monastery. I really didn't share that particular passion of hers and decided to devote my time to things more animate than plants.~ */ GOTO P2T8Q1
END

IF ~~ THEN BEGIN P2T8C2Wizard
 SAY @5773 /* @5773 = ~You said she taught you much - does that mean that it was because of her you became a wizard?~ */
 IF ~~ THEN REPLY @5774 /* @5774 = ~Well, she was a mage - albeit a rather bookish one - so yes, it could be said that I took after her. I guess I just had more of the adventurer in me. I hope that she could be still proud of me, though.~ */ GOTO P2T8P2
 IF ~Class(Player2,MAGE_ALL)~ THEN REPLY @5644 /* @5644 = ~Well, yes. It is rather ironic that when I was a child, a mage was the last thing I wanted to become.~ */ GOTO P2T8J1
 IF ~Class(Player2,SORCERER)~ THEN REPLY @5645 /* @5645 = ~Well, yes. It is rather ironic that when I was a child, a sorcerer was the last thing I wanted to become.~ */ GOTO P2T8J1
 IF ~Class(Player2,SORCERER)~ THEN REPLY @5646 /* @5646 = ~You can't choose to become a sorcerer, it's a talent you're born with.~ */ GOTO P2T8K1
 IF ~~ THEN REPLY @5763 /* @5763 = ~No, she was actually a stablemaid at the monastery, but she was a very wise woman.~ */ GOTO P2T8L1
 IF ~~ THEN REPLY @5764 /* @5764 = ~No, I couldn't say that she had anything to do with my choice of profession. Which is not to say that I wouldn't have found many of her teachings valuable in what I do.~ */ GOTO P2T8M1
 IF ~!Class(Player2,FIGHTER_ALL)~ THEN REPLY @5775 /* @5775 = ~Well, she was a guard at Candlekeep, and it was because of what I saw growing up with her that I swore off a martial career. So I guess it could be said that she had an influence. ~ */ GOTO P2T8Q1
 IF ~Class(Player2,MAGE_ALL)
  !Class(Player2,CLERIC_ALL)~ THEN REPLY @5776 /* @5776 = ~Well, it was mainly because I hated everything that had to do with her work in the temple at Candlekeep, that I decided to keep away from the gods and become a mage instead. So I guess she was an influence.~ */ GOTO P2T8Q1
 IF ~Class(Player2,SORCERER)~ THEN REPLY @5777 /* @5777 = ~Well, it was mainly because I hated everything that had to do with her work in the temple at Candlekeep, that I decided to keep away from the gods and become a sorcerer instead. So I guess she was an influence.~ */ GOTO P2T8Q1
 IF ~~ THEN REPLY @5768 /* @5768 = ~Well, she couldn't stop babbling about - and to - all those flowers and herbs growing in the gardens of the monastery. I really didn't share that particular passion of hers and decided to devote my time to things more animate than plants.~ */ GOTO P2T8Q1
END

IF ~~ THEN BEGIN P2T8C2Ranger
 SAY @5778 /* @5778 = ~You said she taught you much - does that mean that it was because of her you became a ranger?~ */
 IF ~~ THEN REPLY @5779 /* @5779 = ~Well, she was a naturalist like myself - albeit a more bookish one - so yes, it could be said that I took after her. I guess my interest in nature was just more practical than hers. Even though I may never match her in erudition, I hope that she could still be proud of me.~ */ GOTO P2T8P2
 IF ~~ THEN REPLY @5651 /* @5651 = ~Well, yes. It is rather ironic that when I was a child, a ranger was the last thing I wanted to become.~ */ GOTO P2T8J1
 IF ~~ THEN REPLY @5763 /* @5763 = ~No, she was actually a stablemaid at the monastery, but she was a very wise woman.~ */ GOTO P2T8L1
 IF ~~ THEN REPLY @5764 /* @5764 = ~No, I couldn't say that she had anything to do with my choice of profession. Which is not to say that I wouldn't have found many of her teachings valuable in what I do.~ */ GOTO P2T8M1
 IF ~~ THEN REPLY @5780 /* @5780 = ~Well, in a way it was. She was one of those stuffy wizards that Candlekeep was full of. It was because of her that I decided to keep away from arcane magic and become a ranger instead.~ */ GOTO P2T8Q1
 IF ~~ THEN REPLY @5766 /* @5766 = ~Well, she was a guard at Candlekeep, and it was because of what I saw growing up with her that I swore off a martial career. So I guess it could be said that she had an influence.~ */ GOTO P2T8Q1
 IF ~!Class(Player2,CLERIC_ALL)~ THEN REPLY @5781 /* @5781 = ~Well, it was mainly because I hated everything that had to do with her work in the temple at Candlekeep, that I decided to keep away from the gods and become a ranger instead. So I guess she was an influence.~ */ GOTO P2T8Q1
END

IF ~~ THEN BEGIN P2T8C2Druid
 SAY @5782 /* @5782 = ~You said she taught you much - does that mean that it was because of her you became a druid?~ */
 IF ~~ THEN REPLY @5783 /* @5783 = ~Well, she was a naturalist like myself - albeit a more bookish one - so yes, it could be said that I took after her. I guess my interest in nature was just more practical than his. Even though I may never match him in erudition, I hope that he could still be proud of me.~ */ GOTO P2T8P2
 IF ~~ THEN REPLY @5655 /* @5655 = ~Well, yes. It is rather ironic that when I was a child, a druid was the last thing I wanted to become.~ */ GOTO P2T8J1
 IF ~~ THEN REPLY @5763 /* @5763 = ~No, she was actually a stablemaid at the monastery, but she was a very wise woman.~ */ GOTO P2T8L1
 IF ~~ THEN REPLY @5764 /* @5764 = ~No, I couldn't say that she had anything to do with my choice of profession. Which is not to say that I wouldn't have found many of her teachings valuable in what I do.~ */ GOTO P2T8M1
 IF ~~ THEN REPLY @5784 /* @5784 = ~Well, in a way it was. She was one of those stuffy wizards that Candlekeep was full of. It was because of her that I decided to keep away from arcane magic and become a druid instead.~ */ GOTO P2T8Q1
 IF ~!Class(Player2,FIGHTER_ALL)~ THEN REPLY @5766 /* @5766 = ~Well, she was a guard at Candlekeep, and it was because of what I saw growing up with her that I swore off a martial career. So I guess it could be said that she had an influence.~ */ GOTO P2T8Q1
 IF ~~ THEN REPLY @5785 /* @5785 = ~Well, it was mainly because I hated everything that had to do with her work in the temple at Candlekeep, that I decided to keep away from the gods and become a druid instead. So I guess she was an influence.~ */ GOTO P2T8Q1
END

IF ~~ THEN BEGIN P2T8C2Cleric
 SAY @5786 /* @5786 = ~You said she taught you much - does that mean that it was because of her you became a cleric?~ */
 IF ~~ THEN REPLY @5787 /* @5787 = ~Well, she was a priestess in the temple at Candlekeep, so yes, it could be said that I took after her. I just hope that she could be proud of what I have accomplished on my travels.~ */ GOTO P2T8P2
 IF ~~ THEN REPLY @5660 /* @5660 = ~Well, yes. It is rather ironic that when I was a child, a cleric was the last thing I wanted to become.~ */ GOTO P2T8J1
 IF ~~ THEN REPLY @5763 /* @5763 = ~No, she was actually a stablemaid at the monastery, but she was a very wise woman.~ */ GOTO P2T8L1
 IF ~~ THEN REPLY @5764 /* @5764 = ~No, I couldn't say that she had anything to do with my choice of profession. Which is not to say that I wouldn't have found many of her teachings valuable in what I do.~ */ GOTO P2T8M1
 IF ~!Class(Player2,MAGE_ALL)~ THEN REPLY @5788 /* @5788 = ~Well, in a way it was. She was one of those stuffy wizards that Candlekeep was full of. It was because of her that I decided to keep away from arcane magic and become a cleric instead.~ */ GOTO P2T8Q1
 IF ~!Class(Player2,FIGHTER_ALL)~ THEN REPLY @5789 /* @5789 = ~Well, she was a guard at Candlekeep, and it was because of what I saw growing up with him that I swore off a martial career. So I guess it could be said that she had an influence.~ */ GOTO P2T8Q1
 IF ~!Class(Player2,RANGER_ALL)~ THEN REPLY @5768 /* @5768 = ~Well, she couldn't stop babbling about - and to - all those flowers and herbs growing in the gardens of the monastery. I really didn't share that particular passion of hers and decided to devote my time to things more animate than plants.~ */ GOTO P2T8Q1
END

IF ~~ THEN BEGIN P2T8C2Bard
 SAY @5790 /* @5790 = ~You said she taught you much - does that mean that it was because of her you became a bard?~ */
 IF ~~ THEN REPLY @5791 /* @5791 = ~Well, she did have an interest in music, even if it was more of a theoretical nature. So I guess it could be said that I took after her. I don't know if he would appreciate my music, though. And I know that he definitely wouldn't appreciate the lifestyle. But I still hope that on some level, she could appreciate what I do.~ */ GOTO P2T8P2
 IF ~~ THEN REPLY @5664 /* @5664 = ~Well, yes. It is rather ironic that when I was a child, a bard was the last thing I wanted to become.~ */ GOTO P2T8J1
 IF ~~ THEN REPLY @5763 /* @5763 = ~No, she was actually a stablemaid at the monastery, but she was a very wise woman.~ */ GOTO P2T8L1
 IF ~~ THEN REPLY @5764 /* @5764 = ~No, I couldn't say that she had anything to do with my choice of profession. Which is not to say that I wouldn't have found many of her teachings valuable in what I do.~ */ GOTO P2T8M1
 IF ~~ THEN REPLY @5766 /* @5766 = ~Well, she was a guard at Candlekeep, and it was because of what I saw growing up with her that I swore off a martial career. So I guess it could be said that she had an influence.~ */ GOTO P2T8Q1
 IF ~~ THEN REPLY @5792 /* @5792 = ~Well, it was mainly because I hated everything that had to do with her work in the temple at Candlekeep, that I decided to keep away from the gods and become a bard instead. So I guess she was an influence.~ */ GOTO P2T8Q1
 IF ~~ THEN REPLY @5768 /* @5768 = ~Well, she couldn't stop babbling about - and to - all those flowers and herbs growing in the gardens of the monastery. I really didn't share that particular passion of hers and decided to devote my time to things more animate than plants.~ */ GOTO P2T8Q1
END

IF ~~ THEN BEGIN P2T8C2Paladin
 SAY @5793 /* @5793 = ~You said she taught you much - does that mean that it was because of her you became a paladin?~ */
 IF ~~ THEN REPLY @5770 /* @5770 = ~Yes, I think she was one of the main reasons why pursued a martial career. She worked in the Candlekeep guard, and I always wanted to become a fighter like her. I just found the idea of staying in Candlekeep for the rest of my life rather boring.~ */ GOTO P2T8O2
 IF ~~ THEN REPLY @5787 /* @5787 = ~Well, she was a priestess in the temple at Candlekeep, so yes, it could be said that I took after her. I just hope that she could be proud of what I have accomplished on my travels.~ */ GOTO P2T8P1
 IF ~~ THEN REPLY @5667 /* @5667 = ~Well, yes. It is rather ironic that when I was a child, a paladin was the last thing I wanted to become.~ */ GOTO P2T8J1
 IF ~~ THEN REPLY @5763 /* @5763 = ~No, she was actually a stablemaid at the monastery, but she was a very wise woman.~ */ GOTO P2T8L1
 IF ~~ THEN REPLY @5764 /* @5764 = ~No, I couldn't say that she had anything to do with my choice of profession. Which is not to say that I wouldn't have found many of her teachings valuable in what I do.~ */ GOTO P2T8M1
 IF ~~ THEN REPLY @5794 /* @5794 = ~Well, in a way it was. She was one of those stuffy wizards that Candlekeep was full of. It was because of her that I decided to keep away from arcane magic and become a paladin instead.~ */ GOTO P2T8Q1
 IF ~~ THEN REPLY @5768 /* @5768 = ~Well, she couldn't stop babbling about - and to - all those flowers and herbs growing in the gardens of the monastery. I really didn't share that particular passion of hers and decided to devote my time to things more animate than plants.~ */ GOTO P2T8Q1
END

IF ~~ THEN BEGIN P2T8C2Monk
 SAY @5795 /* @5795 = ~You said she taught you much - does that mean that it was because of him you became a monk?~ */
 IF ~~ THEN REPLY @5770 /* @5770 = ~Yes, I think she was one of the main reasons why pursued a martial career. She worked in the Candlekeep guard, and I always wanted to become a fighter like her. I just found the idea of staying in Candlekeep for the rest of my life rather boring.~ */ GOTO P2T8O2
 IF ~~ THEN REPLY @5796 /* @5796 = ~Well, she was a monk, so yes, it could be said that I took after her. Although I cannot say that she exactly accepted my decision to leave Candlekeep. Even though I may never match her in erudition, I hope that she could still be proud of what I have accomplished.~ */ GOTO P2T8N2
 IF ~~ THEN REPLY @5672 /* @5672 = ~Well, yes. It is rather ironic that when I was a child, a monk was the last thing I wanted to become.~ */ GOTO P2T8J1
 IF ~~ THEN REPLY @5763 /* @5763 = ~No, she was actually a stablemaid at the monastery, but she was a very wise woman.~ */ GOTO P2T8L1
 IF ~~ THEN REPLY @5764 /* @5764 = ~No, I couldn't say that she had anything to do with my choice of profession. Which is not to say that I wouldn't have found many of her teachings valuable in what I do.~ */ GOTO P2T8M1
 IF ~~ THEN REPLY @5797 /* @5797 = ~Well, in a way it was. She was one of those stuffy wizards that Candlekeep was full of. It was because of her that I decided to keep away from arcane magic and become a monk instead.~ */ GOTO P2T8Q1
 IF ~~ THEN REPLY @5798 /* @5798 = ~Well, it was mainly because I hated everything that had to do with her work in the temple at Candlekeep, that I decided to keep away from the gods and become a monk instead. So I guess she was an influence.~ */ GOTO P2T8Q1
 IF ~~ THEN REPLY @5768 /* @5768 = ~Well, she couldn't stop babbling about - and to - all those flowers and herbs growing in the gardens of the monastery. I really didn't share that particular passion of hers and decided to devote my time to things more animate than plants.~ */ GOTO P2T8Q1
END

IF ~~ THEN BEGIN P2T8P2
 SAY @5799 /* @5799 = ~I am sure that she would be proud of you. I think that she would agree with me that her teachings have not gone to waste. You should consider yourself blessed for having had the benefit of her love and wisdom.~ */
 IF ~~ THEN DO ~SetGlobal("M#EndMusic","GLOBAL",1)
	   SetGlobal("M#AmberTalk","Locals",14)
	 SetGlobal("M#AmberFlirt","Locals",1)
	 RealSetGlobalTimer("M#AmberRomanceTime","GLOBAL",2500)
	 SetDialog("m#amberj")~ EXIT
END

IF ~~ THEN BEGIN P2T8O2
 SAY @5800 /* @5800 = ~And that's why you set out adventuring with <CHARNAME> the first chance you got, right? Well, seems that you have done all right up to now - having survived this far. I am sure that your mother would be proud of you.~ */
 IF ~~ THEN DO ~SetGlobal("M#EndMusic","GLOBAL",1)
	   SetGlobal("M#AmberTalk","Locals",14)
	 SetGlobal("M#AmberFlirt","Locals",1)
	 RealSetGlobalTimer("M#AmberRomanceTime","GLOBAL",2500)
	 SetDialog("m#amberj")~ EXIT
END

IF ~~ THEN BEGIN P2T8G2
 SAY @5801 /* @5801 = ~Well, I of course never knew your mother, but I am sure that she would approve what you have done. You could have turned out much worse.~ */
 IF ~~ THEN DO ~SetGlobal("M#EndMusic","GLOBAL",1)
	   SetGlobal("M#AmberTalk","Locals",14)
	 SetGlobal("M#AmberFlirt","Locals",1)
	 RealSetGlobalTimer("M#AmberRomanceTime","GLOBAL",2500)
	 SetDialog("m#amberj")~ EXIT
END

IF ~~ THEN BEGIN P2T8H2
 SAY @5802 /* @5802 = ~Well, it just seems to be a fact of life that things sometimes don't turn out the way we wish. I'm sure your mother would understand that you have your own reasons for what you do.~ */
 IF ~~ THEN DO ~SetGlobal("M#EndMusic","GLOBAL",1)
	   SetGlobal("M#AmberTalk","Locals",14)
	 SetGlobal("M#AmberFlirt","Locals",1)
	 RealSetGlobalTimer("M#AmberRomanceTime","GLOBAL",2500)
	 SetDialog("m#amberj")~ EXIT
END

IF ~~ THEN BEGIN P2T8N2
 SAY @5803 /* @5803 = ~I am sure that she has grown to understood your need to reach beyond the walls of the monastery. There are certain things that simply cannot be learned in the library.~ */
 IF ~~ THEN DO ~SetGlobal("M#EndMusic","GLOBAL",1)
	   SetGlobal("M#AmberTalk","Locals",14)
	 SetGlobal("M#AmberFlirt","Locals",1)
	 RealSetGlobalTimer("M#AmberRomanceTime","GLOBAL",2500)
	 SetDialog("m#amberj")~ EXIT
END

IF ~~ THEN BEGIN P2T8D2
 SAY @5690 /* @5690 = ~Why is that?~ */
 IF ~~ THEN REPLY @5804 /* @5804 = ~Well, I was not exactly what you'd call an easy child. I guess she kind of just gave up on me and counted on life to teach me its ways. And I guess it has.~ */ GOTO P2T8R2
 IF ~~ THEN REPLY @5805 /* @5805 = ~I guess I was just too interested in everything else to really pay attention to her. I guess it is easy to take something - or someone - for granted if you've never been without.~ */ GOTO P2T8S2
 IF ~~ THEN REPLY @5806 /* @5806 = ~Well, I guess I never gave her a chance to get very close to me. I was already something of a loner when I was a child, and I really didn't tell her much about anything. I guess she just gave up on trying to get me to talk to her.~ */ GOTO P2T8T2
 IF ~~ THEN REPLY @5624 /* @5624 = ~I really don't think that is something I feel comfortable discussing with you.~ */ GOTO P2T8F
END

IF ~~ THEN BEGIN P2T8R2
 SAY @5807 /* @5807 = ~Well, I guess you get what you ask for. Although I don't think that a parent ever totally gives up on his or her children. I'm sure she would be happy to see that you have made it this far.~ */
 IF ~~ THEN REPLY @5808 /* @5808 = ~No, I don't think she did. That's why I said I never held it against her.~ */ DO ~IncrementGlobal("M#AmberLike","Locals",1)~ GOTO P2T8U2
 IF ~~ THEN REPLY @5809 /* @5809 = ~Well, I'm not so sure about it. If she did care, she sure did hide it well. I know that I would have given up on me, had I been in her shoes.~ */ GOTO P2T8V2
END

IF ~~ THEN BEGIN P2T8S2
 SAY @5810 /* @5810 = ~As hard as I personally find it to believe that anyone could take having a mother for granted, I know exactly what you mean. I guess you never miss something until it's gone. And then it's already too late, of course. Do you ever regret not getting to know your mother better?~ */
 IF ~~ THEN REPLY @5698 /* @5698 = ~No. I don't believe in regrets. What is done is done, and we just have to live with the consequences.~ */ DO ~IncrementGlobal("M#AmberLike","Locals",1)~ GOTO P2T8S1a
 IF ~~ THEN REPLY @5811 /* @5811 = ~No, I rarely think about her. I guess I might actually miss her more if I had known her better.~ */ GOTO P2T8S1b
 IF ~~ THEN REPLY @5812 /* @5812 = ~Well, I have to admit that sometimes I do. There might have been much I could have learned from her. But I guess I'll never know that, will I?~ */ GOTO P2T8S1c
 IF ~~ THEN REPLY @5813 /* @5813 = ~Yes, not a day goes by that I do not regret it. If only I had the sense to understand her worth when I was younger.~ */ GOTO P2T8S1d
END

IF ~~ THEN BEGIN P2T8T2
 SAY @5814 /* @5814 = ~Well, I'll have to admit that nothing much has changed since. But whatever was the case with your mother, I'm not going to give up so easily.~ */
 IF ~~ THEN DO ~SetGlobal("M#EndMusic","GLOBAL",1)
	   SetGlobal("M#AmberTalk","Locals",14)
 	 SetGlobal("M#AmberFlirt","Locals",1)
	 RealSetGlobalTimer("M#AmberRomanceTime","GLOBAL",2500)
	 SetDialog("m#amberj")~ EXIT
END

IF ~~ THEN BEGIN P2T8U2
 SAY @5815 /* @5815 = ~I'm glad to hear you can appreciate her being there, even if she was distant.~ */
 IF ~~ THEN DO ~SetGlobal("M#EndMusic","GLOBAL",1)
	   SetGlobal("M#AmberTalk","Locals",14)
 	 SetGlobal("M#AmberFlirt","Locals",1)
	 RealSetGlobalTimer("M#AmberRomanceTime","GLOBAL",2500)
	 SetDialog("m#amberj")~ EXIT
END

IF ~~ THEN BEGIN P2T8V2
 SAY @5816 /* @5816 = ~Well, I'm glad to hear that you can at least appreciate her position, even if I suspect that you may be underestimating your mother's affection.~ */
 IF ~~ THEN DO ~SetGlobal("M#EndMusic","GLOBAL",1)
	   SetGlobal("M#AmberTalk","Locals",14)
 	 SetGlobal("M#AmberFlirt","Locals",1)
	 RealSetGlobalTimer("M#AmberRomanceTime","GLOBAL",2500)
	 SetDialog("m#amberj")~ EXIT
END

IF ~~ THEN BEGIN P2T8E2
 SAY @5817 /* @5817 = ~Why is that? Did she treat you badly or did you just not get along with her?~ */
 IF ~~ THEN REPLY @5818 /* @5818 = ~Well, having a tyrant of a schoolmistress for a mother is not exactly the recipe for the perfect childhood.~ */ GOTO P2T8E2a
 IF ~~ THEN REPLY @5819 /* @5819 = ~I don't think that constantly having to drag your mother home from the local tavern because she is too drunk to walk is something you'd really want to be doing when you're ten years old.~ */ GOTO P2T8E2b
 IF ~~ THEN REPLY @5820 /* @5820 = ~Oh, I guess apart from the fact that she was mad as a hatter, she was the perfect mother.~ */ GOTO P2T8E2c
 IF ~~ THEN REPLY @5713 /* @5713 = ~I would rather not talk about it. It's not exactly something I wish to dwell on.~ */ GOTO P2T8E1d
END

IF ~~ THEN BEGIN P2T8E2a
 SAY @5821 /* @5821 = ~Well, as much as I appreciate my freedom, that doesn't sound so bad. If the other option was to have no-one at all to look after you, I'd say most people would go with having your mother.~ */
 IF ~~ THEN REPLY @5822 /* @5822 = ~Well, if you had met my mother, you might think differently.~ */ GOTO P2T8E1e
 IF ~~ THEN REPLY @5716 /* @5716 = ~What do you know! You have no idea what it was like.~ */ GOTO P2T8E1f
 IF ~~ THEN REPLY @5717 /* @5717 = ~You may be right, of course, but that still doesn't make my childhood experiences any more pleasant.~ */ DO ~IncrementGlobal("M#AmberLike","Locals",1)~ GOTO P2T8E1g
END

IF ~~ THEN BEGIN P2T8E2b
 SAY @5823 /* @5823 = ~Well, I really cannot disagree with that. But I think that the fact that you did drag her home time after time shows that you found some redeeming qualities in her.~ */
 IF ~~ THEN REPLY @5824 /* @5824 = ~Well, I guess it must have been some sort of childish loyalty. After all, she hardly paid any attention to me when she was sober, and when she wasn't she didn't even know who I was and what was it that I wanted with her.~ */ GOTO P2T8E1h
 IF ~~ THEN REPLY @5825 /* @5825 = ~I think she was all right when she was sober, although I didn't see her much in that state. Obviously she managed to carry out her duties in the library well enough since they did not kick her out of Candlekeep. Mostly I saw her only in the evenings when I got her home from the tavern and in the mornings when she was grumpy and hung over.~ */ GOTO P2T8E2i
 IF ~~ THEN REPLY @5826 /* @5826 = ~Well, I have to admit that there were some good times when she did not drink for months. During those times she actually was like a real mother.~ */ GOTO P2T8E1j
 IF ~~ THEN REPLY @5727 /* @5727 = ~I really do not wish talk about that.~ */ GOTO P2T8E1d
END

IF ~~ THEN BEGIN P2T8E2i
 SAY @5827 /* @5827 = ~Well, it seems that there are several sides to all of us. It is surprising how well people can hide their less likeable traits when they feel the need to do so. I am sure many of her colleagues didn't think she was that bad; I'm sorry that you had to grow up holding the short end of the stick.~ */
 IF ~~ THEN DO ~SetGlobal("M#EndMusic","GLOBAL",1)
	   SetGlobal("M#AmberTalk","Locals",14)
	 SetGlobal("M#AmberFlirt","Locals",1)
	 RealSetGlobalTimer("M#AmberRomanceTime","GLOBAL",2500)
	 SetDialog("m#amberj")~ EXIT
END

IF ~~ THEN BEGIN P2T8E2c
 SAY @5828 /* @5828 = ~Well, from what I have heard of Candlekeep, I am not surprised to hear your mother was eccentric. I really don't think such seclusion from the world can be healthy.~ */
 IF ~~ THEN REPLY @5829 /* @5829 = ~If only she had been merely 'eccentric', I would have nothing to complain about. Stark raving mad is what she was!~ */ GOTO P2T8E2k
 IF ~!Alignment(Player2,MASK_CHAOTIC)~ THEN REPLY @5830 /* @5830 = ~Well, I think 'eccentric' is putting it rather mildly. I would say that her obsession with arcane learning went beyond mere eccentricity.~ */ GOTO P2T8E1l1
 IF ~Alignment(Player2,MASK_CHAOTIC)~ THEN REPLY @5830 /* @5830 = ~Well, I think 'eccentric' is putting it rather mildly. I would say that her obsession with arcane learning went beyond mere eccentricity.~ */ GOTO P2T8E1l2
 IF ~~ THEN REPLY @5831 /* @5831 = ~Well, you are certainly right about the whole place being odd. I guess you could say she was just a bit too well adapted to the place.~ */ GOTO P2T8E1m
 IF ~~ THEN REPLY @5727 /* @5727 = ~I really do not wish talk about that.~ */ GOTO P2T8E1d
END

IF ~~ THEN BEGIN P2T8E2k
 SAY @5832 /* @5832 = ~If she truly was that mad, why did not her colleagues do something to ease her condition? I would imagine they would have had some means to help her, given all their learning.~ */
 IF ~~ THEN REPLY @5833 /* @5833 = ~I don't think they considered her dangerous, and I guess I would have to agree that she was mostly just inconvenient. Spouting a lot of gibberish and ranting about things nobody else understood. I think some of them even thought there was something to her rantings.~ */ GOTO P2T8E2n
 IF ~~ THEN REPLY @5834 /* @5834 = ~Well, I guess her ravings made some sense to the sages of Candlekeep, since they seemed to take great interest in them. I think they even wrote much of them down.~ */ GOTO P2T8E2n
 IF ~~ THEN REPLY @5835 /* @5835 = ~I don't think there really was anything to be done. I don't know if she had always been like that or if something had happened to her, but they seemed to go to extraordinary lengths to accommodate her madness.~ */ GOTO P2T8E2o
 IF ~~ THEN REPLY @5836 /* @5836 = ~I honestly don't know. At times she was even scary, but I don't think her colleagues saw her the same way. I guess she managed to keep her lunacy to herself when outside our home.~ */ GOTO P2T8E1p
 IF ~~ THEN REPLY @5727 /* @5727 = ~I really do not wish talk about that.~ */ GOTO P2T8E1d
END

IF ~~ THEN BEGIN P2T8E2n
 SAY @5837 /* @5837 = ~Who knows, maybe there *was* a method to her madness. They do say that there's but a thin line between madness and genius, and the one may well seem like the other to those uninitiated to the mysteries of the multiverse.~ */
 IF ~~ THEN DO ~SetGlobal("M#EndMusic","GLOBAL",1)
	   SetGlobal("M#AmberTalk","Locals",14)
	 SetGlobal("M#AmberFlirt","Locals",1)
	 RealSetGlobalTimer("M#AmberRomanceTime","GLOBAL",2500)
	 SetDialog("m#amberj")~ EXIT
 IF ~InParty("HaerDalis")
  See("HaerDalis")~ THEN GOTO P2T8E1q
END

IF ~~ THEN BEGIN P2T8E2o
 SAY @5838 /* @5838 = ~Well, they must have had their reasons. Maybe they felt guilty or pitied her. Or maybe they just did not want to meddle in the affairs of others - who knows. In any case, what's been has been, and we'll all just have to learn to live with our past.~ */
 IF ~~ THEN DO ~SetGlobal("M#EndMusic","GLOBAL",1)
	   SetGlobal("M#AmberTalk","Locals",14)
	 SetGlobal("M#AmberFlirt","Locals",1)
	 RealSetGlobalTimer("M#AmberRomanceTime","GLOBAL",2500)
	 SetDialog("m#amberj")~ EXIT
END

31 states, but much more intricate tracking and tailoring of responses to the PC (one of the reasons I like and admire this mod very, very much).

 

Here is one of the more intricate ones from JCompton's D'Arnise (a lovetalk, as it is a romance mod):

// LT16

IF WEIGHT #-92 ~Global("PGNaliaLoveTalk","GLOBAL",16) Global("PGNaliaRomanceActive","GLOBAL",1)~ t8
SAY @220 
= @221
++ @222 DO ~SetGlobal("PGNaliaLoveTalk","GLOBAL",17) RealSetGlobalTimer("PGNaliaRomanceTimer","GLOBAL",2700)~ + t8.driven
++ @223 DO ~SetGlobal("PGNaliaLoveTalk","GLOBAL",17) RealSetGlobalTimer("PGNaliaRomanceTimer","GLOBAL",2700)~ + t8.everyman
++ @224 DO ~SetGlobal("PGNaliaLoveTalk","GLOBAL",17) RealSetGlobalTimer("PGNaliaRomanceTimer","GLOBAL",2700)~ + t8.passive
++ @225 DO ~SetGlobal("PGNaliaLoveTalk","GLOBAL",17) RealSetGlobalTimer("PGNaliaRomanceTimer","GLOBAL",2700)~ + t8.justice
++ @226 DO ~SetGlobal("PGNaliaLoveTalk","GLOBAL",17) RealSetGlobalTimer("PGNaliaRomanceTimer","GLOBAL",2700)~ + t8.careabout
++ @227 DO ~SetGlobal("PGNaliaLoveTalk","GLOBAL",17) RealSetGlobalTimer("PGNaliaRomanceTimer","GLOBAL",2700)~ + t8.crossme
++ @228 DO ~SetGlobal("PGNaliaLoveTalk","GLOBAL",17) RealSetGlobalTimer("PGNaliaRomanceTimer","GLOBAL",2700)~ + t8.whatyouthink
END

IF ~~ t8.careabout
SAY @229
= @230
++ @231 + t8.everyman
++ @232 + t8.letyoudown
++ @233 + t8.appreciated
++ @234 + t8.example
++ @235 + t8.sensitive
++ @236 + t8.tonsils
END

IF ~~ t8.letyoudown
SAY @237
IF ~~ DO ~IncrementGlobal("PGNaliaPCSucks","GLOBAL",-1)~ + t8.wellcutoff
END

IF ~~ t8.crossme
SAY @238
= @239
++ @240 + t8.indeed
++ @234 + t8.example
++ @231 + t8.everyman
++ @235 + t8.sensitive
++ @241 + t8.enemies
++ @236 + t8.tonsils
END

IF ~~ t8.indeed
SAY @242
IF ~~ + t8.wellcutoff
END

IF ~~ t8.enemies
SAY @243
IF ~~ EXIT
END

IF ~~ t8.justice
SAY @244
IF ~~ + t8.justice2
END

IF ~~ t8.justice2
SAY @245
++ @231 + t8.everyman
++ @233 + t8.appreciated
++ @234 + t8.example
++ @235 + t8.sensitive
++ @236 + t8.tonsils
END

IF ~~ t8.passive
SAY @246
= @247
++ @248 + t8.wink
++ @231 + t8.everyman
++ @233 + t8.appreciated
++ @234 + t8.example
++ @235 + t8.sensitive
END

IF ~~ t8.wink
SAY @249
IF ~~ EXIT
END

IF ~~ t8.appreciated
SAY @250 
= @251
IF ~~ EXIT
END

IF ~~ t8.example
SAY @252
IF ~~ DO ~IncrementGlobal("PGNaliaPCSucks","GLOBAL",-1)~ EXIT
END

IF ~~ t8.driven
SAY @253
+ ~Class(Player1,PALADIN_ALL)~ + @254 + t8.imply
+ ~Class(Player1,CLERIC_ALL) !Alignment(Player1,MASK_EVIL)~ + @255 + t8.imply
++ @256 + t8.everyman
++ @235 + t8.sensitive
++ @257 + t8.inline
+ ~ReputationGT(Player1,12)~ + @258 + t8.notdisappointhigh
+ ~ReputationLT(Player1,13)~ + @258 + t8.notdisappointlow
++ @236 + t8.tonsils
END

IF ~~ t8.sensitive
SAY @259
IF ~~ + t8.thereigo
END

IF ~~ t8.tonsils
SAY @260
IF ~~ DO ~SetGlobal("PGNaliaRomanceActive","GLOBAL",3) LeaveParty() EscapeArea()~ EXIT
END

IF ~~ t8.imply
SAY @261
IF ~~ + t8.thereigo
END

IF ~~ t8.inline
SAY @262
++ @263 + t8.wellcutoff
++ @264 + t8.wellcutoff
++ @265 + t8.wellcutoff
END

IF ~~ t8.wellcutoff
SAY @266
IF ~~ EXIT
END

IF ~~ t8.notdisappointhigh
SAY @267
IF ~~ + t8.thereigo
END

IF ~~ t8.notdisappointlow
SAY @268
IF ~~ + t8.thereigo
END

IF ~~ t8.thereigo
SAY @269
IF ~~ EXIT
END

IF ~~ t8.everyman
SAY @270
IF ~~ DO ~IncrementGlobal("PGNaliaPCSucks","GLOBAL",1)~ EXIT
END

IF ~~ t8.whatyouthink
SAY @271
IF ~ReputationGT(Player1,14)~ + t8.highrep
IF ~ReputationGT(Player1,8) ReputationLT(Player1,15) !Alignment(Player1,MASK_EVIL)~ + t8.midrep_nonevil
IF ~ReputationGT(Player1,8) ReputationLT(Player1,15) Alignment(Player1,MASK_EVIL)~ + t8.midrep_evil
IF ~ReputationLT(Player1,9)~ + t8.lowrep
END

IF ~~ t8.highrep
SAY @272
++ @273 + t8.blush
++ @274 + t8.inline
++ @275 + t8.everyman
+ ~ReputationGT(Player1,12)~ + @258 + t8.notdisappointhigh
+ ~ReputationLT(Player1,13)~ + @258 + t8.notdisappointlow
++ @236 + t8.tonsils
END

IF ~~ t8.blush
SAY @276
IF ~~ + t8.wellcutoff
END

IF ~~ t8.midrep_nonevil
SAY @277
+ ~Class(Player1,PALADIN_ALL)~ + @254 + t8.imply
+ ~Class(Player1,CLERIC_ALL) !Alignment(Player1,MASK_EVIL)~ + @255 + t8.imply
++ @257 + t8.inline
+ ~ReputationGT(Player1,12)~ + @258 + t8.notdisappointhigh
+ ~ReputationLT(Player1,13)~ + @258 + t8.notdisappointlow
++ @236 + t8.tonsils
++ @273 + t8.blush
++ @275 + t8.everyman
END

IF ~~ t8.midrep_evil
SAY @278
++ @256 + t8.everyman
++ @257 + t8.inline
+ ~ReputationGT(Player1,12)~ + @258 + t8.notdisappointhigh
+ ~ReputationLT(Player1,13)~ + @258 + t8.notdisappointlow
++ @236 + t8.tonsils
++ @279 + t8.everyman
++ @280 + t8.novillain
END

IF ~~ t8.novillain
SAY @281
IF ~~ EXIT
END

IF ~~ t8.lowrep
SAY @282
++ @283 + t8.careabout2
++ @236 + t8.tonsils
++ @279 + t8.everyman
++ @280 + t8.novillain
END

IF ~~ t8.careabout2
SAY @284
IF ~~ EXIT
END

 

30 states, 5 to 7 responses for PC to choose from within in many of them, with consideration of class and alignment where warrented.

Share this post


Link to post

In examples 1 and 3, the talks are self-contained. In example 2, the talk presented is one of 7 different (some overlapping, but mostly different) talks all about upbringing, based on prior responses by PC and whether they are Player1 or Player2 and which matches for romance (or not), etc.

 

[side notes to self - I am radically different in that I allow lots of different ways out of the talk, repeatedly, at many levels. I could streamline and get more done more rapidly if I laid back on this and just let folks choose "out" at the first dialog and then one other time.]

 

The point to be made here is that expanding the options is not an additive function in terms of modder work to create content - it is multiplicative. It also can be written out of, as JCompton did in D'Arnise, by giving more options but remaining true to BioWare's original avoidence of typecasting PC by creating responses not exhaustively tailored to each and every PC type and psychology out there. But since i opened the door with that "Net" of PC replies, there are going to be areas where the approach taken in Amber, above, is probably going to be needed. And it will seriously expand the amount of work to create a simple dialog. We could minimize this by making each one a very close variant, but still - setting up a series of 10 Friend Talks, then rewriting each of them completely tailored to Race, for example, means 7 x 10, or 70 similar parallel talks, with some common elements, and Class... forget it. Try popping one talk per day for 70 days - mod development time would be dramatically longer than the current 2 to 7+ year timeframe!

 

We have slightly more of a chance, though, with the "track by personality type" idea. After all, we can define and control the number of basic personalities covered, and then expand within those to create more player choice "Smart and Evil, but with a fun sense of humor". "Lawful Good Paladin, but Flirts Shamelessly all the time". With the above parallel story lines, it might be interesting to play with this idea. There are five defined above to play with, so if we track them through 3, that only makes 15 talks, all variants of the same.

 

  • Positives: Allows for a unified, cohesive storyline; presents players with options for roleplay generated out of one personality/psychological persona (allowing for more focused types than would be possible in a general catch-all construction).
  • Negatives: Once a player chooses a personality, the rest of the talks flow out of that personality choice. No movement along a "chaos" continuum - the first talk sets the rest of the talks to work within those constraints. *HUGE* extra writing load, with entire conversations created instead of a simple branch state each time. Additional complexity and much more to troubleshoot.

 

Now, for the materials already written, I am happy enough with the outcomes that I would prefer to retain the current behavior, and establish where adjustments and changes need to be made through playtester feedback.As players find jarring moments I have not anticipated,I can readjust using a portion of this idea, without actually tracking it, and I am fine with relying on help from players discovering where I just have completely misstepped and not seen it. But there are two areas where refining into parallel stories by personality type before writing could really help make thing work better - talking about commitment/relative role of power (romance materials), and talking about family (non-romance materials). In these two areas, potential player options are wide open. In the former, we have the big one - the talks where Aran has to come to terms with the fact the person he is fascinated with/in love with will always be more powerful than he is, and as an added complication for some PCs, how he is going to justify having fallen for the "bad girl" when he really doesn't think that killing babies for fun and profit is OK. With family, trying to roleplay unknown back-story is a serious PITA; constraining by Race, Class, or even Alignment is way difficult, and presenting a zillion options is not a viable option. So, we get to play with the idea.

 

"Reply Net" Construction vs "Parallel Storyline" Construction

OK, as mentioned above, some of this next is not going to be possible as a concept for the entire mod, as it would require serious rewriting of most of the early stuff for consistency. But a PM with Autumn Bard brought up some interesting points and ideas, which I have been given permission to share/discuss/try out.

 

Here was the PM idea as presented, with my interpretation of a global "handle" in []:

 

PC psychology =

  • evil-emotional and psychological manipulation [sMART_SELFISH]
  • evil-domination [sTRONG_SELFISH]
  • neutral/cautious/shy [NEUTRAL_OR_SHY]
  • good-fun [FUN_GROUP]
  • good-rigid/serious [RIGID_GROUP]

 

PC response possibilities =

  • evil - mean yet alluring
  • evil - cruel
  • neutral - interested
  • good - teasing and unconditional (upon factors outside of the conversation) niceness
  • good - serious

 

I might change some of that, for this kind of "parallel story" construction, so let's schematic it so that it can apply within each personality being written for (leaving room for an additional class specific or other form of 'awareness' digression branch). Basically, we are reworking berelinde's Bennet sisters again, just interpreting them differently:

[ARAN]

[sMART_SELFISH]

[sTRONG_SELFISH]

[NEUTRAL_OR_SHY]

[FUN_GROUP]

[RIGID_GROUP]

[EXIT_BLOCK]

 

[sMART_SELFISH]

[ARAN]

[PC] [ALLURING/TEASING]

[PC] [CRUEL/TEASING]

[PC] [NEUTRAL]

[PC] [sUPPORTIVE]

[PC] [iNAPPROPRIATE]

[PC] [EXIT_BLOCK]

 

[sTRONG_SELFISH]

[ARAN]

[PC] [ALLURING/TEASING]

[PC] [CRUEL/TEASING]

[PC] [NEUTRAL]

[PC] [sUPPORTIVE]

[PC] [iNAPPROPRIATE]

[PC] [EXIT_BLOCK]

 

[NEUTRAL_OR_SHY]

[ARAN]

[PC] [ALLURING/TEASING]

[PC] [CRUEL/TEASING]

[PC] [NEUTRAL]

[PC] [sUPPORTIVE]

[PC] [iNAPPROPRIATE]

[PC] [EXIT_BLOCK]

 

[FUN_GROUP]

[ARAN]

[PC] [ALLURING/TEASING]

[PC] [CRUEL/TEASING]

[PC] [NEUTRAL]

[PC] [sUPPORTIVE]

[PC] [iNAPPROPRIATE]

[PC] [EXIT_BLOCK]

 

[RIGID_GROUP]

[ARAN]

[PC] [ALLURING/TEASING]

[PC] [CRUEL/TEASING]

[PC] [NEUTRAL]

[PC] [sUPPORTIVE]

[PC] [EXIT_BLOCK]

 

So, overall, 5 separate but similar interaction branches, each laid out as parallel

 

schematic
[sMART_SELFISH ] > SM_1_S > SM_2_S > SM_3_S > SM_4_S DO ~SetGlobal("c-ArSisterBranch","GLOBAL",1)~ > [/td]
[sTRONG_SELFISH] > ST_1_S > ST_2_S > ST_3_S > ST_4_S DO ~SetGlobal("c-ArSisterBranch","GLOBAL",2)~ >
I_S -> [NEUTRAL_OR_SHY] > N_1_O_S > N_2_O_S > N_3_O_S > N_4_O_S DO ~SetGlobal("c-ArSisterBranch","GLOBAL",3)~ > E_S

[FUN_GROUP ] > F_1_G_S > F_2_G_S > F_3_G_S > F_4_G_S DO ~SetGlobal("c-ArSisterBranch","GLOBAL",4)~ > [RIGID_GROUP ] > R_1_G_S > R_2_G_S > R_3_G_S > R_4_G_S DO ~SetGlobal("c-ArSisterBranch","GLOBAL",5)~ >

 

A base of 22 states, covering 5 basic "branches" of dialog each with 5 or so replies, with the understanding that this structure gets varied and added to/subtracted from based on dialog presented. Each branch then tracks to the next dialog.

 

This idea shows up in several mods in slightly different usages. For example, in BG1NPC, there are follow-up banters that only come into play after the first one plays. (cf. Imoen's Pinkification of Xan). Above, Amber uses both match values and dialog responses to enable different follow-on talks in similar fashion.

 

 

We can see already why most mod-makers would immediately abandon this idea as a global construct, and why BioWare has gone with Paragon/Renegade and Loyalty implementations to create more reasonable tracking of what a player can and can't say while roleplaying - because in tracking this, for follow-up, we now have 5 talks to write instead of one, each capable of being further expanded by choice:

IF ~Global("c-ArSisterBranch","GLOBAL",1)~ [sMART_SELFISH ] > 2SM_1_S > 2SM_2_S > 2SM_3_S > 2SM_4_S ~SetGlobal("c-ArSisterBranch","GLOBAL",6)~ > ES1

 

IF ~Global("c-ArSisterBranch","GLOBAL",2)~ [sTRONG_SELFISH] > 2ST_1_S > 2ST_2_S > 2ST_3_S > 2ST_4_S ~SetGlobal("c-ArSisterBranch","GLOBAL",7)~ > ES2

 

IF ~Global("c-ArSisterBranch","GLOBAL",3)~ [NEUTRAL_OR_SHY] > 2N_1_O_S > 2N_2_O_S > 2N_3_O_S > 2N_4_O_S ~SetGlobal("c-ArSisterBranch","GLOBAL",8)~ > ES3

 

IF ~Global("c-ArSisterBranch","GLOBAL",4)~ [FUN_GROUP ] > 2F_1_G_S > 2F_2_G_S > 2F_3_G_S > 2F_4_G_S ~SetGlobal("c-ArSisterBranch","GLOBAL",9)~ > ES4

 

IF ~Global("c-ArSisterBranch","GLOBAL",5)~ [RIGID_GROUP ] > 2R_1_G_S > 2R_2_G_S > 2R_3_G_S > 2R_4_G_S ~SetGlobal("c-ArSisterBranch","GLOBAL",10)~ > ES5

and so on. Each of those talks can be as simple as a BioWare talk, because we are writing for a target, but given Aran's construction and my tendency to never leave well enough alone, that is probably not going to happen. But I like playing with structures, so let's keep working the idea. To start with, let's go through a basic storyline/conversation, to create a backbone for the first talk. We can use the "Sister Talk" for context, as it will both provide code and organization examples and get more done on Aran (both at the same time is a big win right now!). We are going to set a "path-choice" variable and use it for a follow up talk or two. Let's try the [NEUTRAL_OR_SHY] storyline in ToB, following just the core "[NEUTRAL]" response. This would give us a "skeleton" to flesh out, expanding from a single core storyline.

Edited by cmorgan

Share this post


Link to post

SCHEMATIC: 5 BRANCHES BY PRE-SET PC PERSONALITY

[iNITIATING_STATE] [ARAN] I don't rightly know how you dealt wi' th' feelin's about that bastard takin' that sister o' yours. It be one thing to have things pushed on you, but on family, that be a heavy burden to carry.

[NEUTRAL_OR_SHY] She... she isn't really my sister by blood. Or, she is, but not by mortal blood, you know. DO ~SetGlobal("c-ArSisterBranch","GLOBAL",3)~ + N_1_O_S

 

Starting N_O_S Branch:

 

N_1_O_S

[ARAN] Aye, I understand. But you grew up wi' her, and it seems like th' bond is more than many feel for their own true sisters.

[NEUTRAL_OR_SHY] [NEUTRAL] I thought you had a sister for whom you cared deeply. + N_2_O_S

 

N_2_O_S

[ARAN] I be a right proud o' Elena, her wi' her Academy apprenticeship, an' all that mage study she writes about in her letters. True enough, I wish I could go see her. She could light up a room with her eyes literal, now, instead o' figuratively.

[NEUTRAL_OR_SHY] [NEUTRAL] You might miss your sister, but do you... do you think is it more important than what we are doing right now? + N_3_O_S

 

N_3_O_S

[ARAN] I am not sure. I don't expect I have more to worry about than th' usual what happens at Academies. Young lads sniffin' round, stray spells makin' mischief, an' that sort o' thing.

[NEUTRAL_OR_SHY] [NEUTRAL] Nothing is stopping you from visiting her. + N_4_O_S

 

N_4_O_S

[ARAN] I'll not lightly leave your side.

[NEUTRAL_OR_SHY] [NEUTRAL] That is up to you. I'm not pushing you. + EXIT_STATE

 

EXIT_STATE

[ARAN]I know.

And...

[iNITIATING_STATE] [ARAN] I don't rightly know how you dealt wi' th' feelin's about that bastard takin' that sister o' yours. It be one thing to have things pushed on you, but on family, that be a heavy burden to carry.

[FUN_GROUP] [NEUTRAL] Sisters, sisters... can't live with them, can't live without them. Don't worry, We set him straight. Or rather, we chopped him into little pieces. Why the deep sibling introspection?. DO ~SetGlobal("c-ArSisterBranch","GLOBAL",4)~ + F_1_G_S

 

Starting F_G_S Branch:

 

F_1_G_S

[ARAN] I was goin' through some old letters o' Elena.. you know, my sister what be in th' Waterdeep Mage Academy? I guess I get worried I won't be around for to protect her, th' way you did your sister.

[FUN_GROUP] [NEUTRAL] Nonsense. I was not around for Imoen, and it turned out alright. I had to chase an insane mage across the entire Sword Coast and beyond just to find her, but we could do the same for yours, if necessary. + F_2_G_S

 

F_2_G_S

[ARAN] True enough. Th' worry wi' Elena be more on account o' lads sniffin' 'round than overbearin' evil twisted villainous mages... wait a moment... that blighted Mage's Academy be probably chock full o' power-hungry lads wi' slippery morals...

[FUN_GROUP] [NEUTRAL] I don't think it is likely that they would become another Irenicus. + F_3_G_S

 

F_3_G_S

[ARAN] You do have a point there. I just let my imagination get th' better o' me, is all.

[FUN_GROUP] [NEUTRAL] Nothing is stopping you from visiting her. + F_4_G_S

 

F_4_G_S

[ARAN] I'll not lightly leave your side.

[FUN_GROUP] [NEUTRAL] That is up to you. I'm not pushing you. + EXIT_STATE

 

EXIT_STATE

[ARAN]I know.

And...

[iNITIATING_STATE] [ARAN] I don't rightly know how you dealt wi' th' feelin's about that bastard takin' that sister o' yours. It be one thing to have things pushed on you, but on family, that be a heavy burden to carry.

[RIGID_GROUP] Sometimes the greater good requires some sacrifices, but where Imoen is concerned, I think less about the big picture and more about making sure she is safe. DO ~SetGlobal("c-ArSisterBranch","GLOBAL",5)~ + R_1_G_S

 

Starting R_G_S Branch:

 

R_1_G_S

[ARAN] I feel th' same way. I mean, I feel th' same way about my sister. I was goin' through some old letters o' Elena's sent on from th' Waterdeep Mage Academy. I guess I get worried I won't be around for to protect her, th' way you did your sister.

[RIGID_GROUP] [NEUTRAL] I failed to protect Imoen. Irenicus took her and tortured her, and I will never be truly able to atone for that. + R_2_G_S

 

R_2_G_S

[ARAN] Hey, now, by Corellon's Bow-hand, there were naught you could do. He captured you, too, by your account. Th' worry wi' Elena be much less than that kind o situation. I be worried on account o' lads sniffin' 'round. not on account o' twisted power-mad villains draggin' her off.

[RIGID_GROUP] [NEUTRAL] The power-hungry arch-villain mage suitor scenario seems unlikely. + R_3_G_S

 

R_3_G_S

[ARAN] I do think you have a point. I just worry, is all. A brother's prerogative, I guess.

[RIGID_GROUP] [NEUTRAL] Nothing is stopping you from visiting her. + R_4_G_S

 

R_4_G_S

[ARAN] I'll not lightly leave your side.

[RIGID_GROUP] [NEUTRAL] That is up to you. I'm not pushing you. + EXIT_STATE

 

EXIT_STATE

[ARAN]I know.

And...

[iNITIATING_STATE] [ARAN] I don't rightly know how you dealt wi' th' feelin's about that bastard takin' that sister o' yours. It be one thing to have things pushed on you, but on family, that be a heavy burden to carry.

[sTRONG_SELFISH] Stop rehashing old history. Irenicus transgressed, I hit back with everything I had, and now I am here and he no longer has any power at all. DO ~SetGlobal("c-ArSisterBranch","GLOBAL",2)~ + ST_1_S

 

Starting ST_S Branch:

 

ST_1_S

[ARAN] I know, I know. But Imoen reminds me somethin' o my sister Elena, apprenticed away in Waterdeep. An' I find it right hard to avoid thinkin' on how far away from her I am right now, an' how she could get into trouble an' not have her big brother around to protect her.

[sTRONG_SELFISH] [NEUTRAL] If your sister is strong, she does not need you. If she is weak, then it is better that she learn how to grow strong without you. + ST_2_S

 

ST_2_S

[ARAN] That don't rightly track wi' what you did to protect Imoen, now, do it?

[sTRONG_SELFISH] [NEUTRAL] Imoen was a side issue. Irenicus should not have tried to challenge me in that way. + ST_3_S

 

ST_3_S

[ARAN] Well I suspect I have naught in th' way o' grand villains capturin' her an' runnin' off th' god's only knows where. Th' worst might be a lad what be a little too amorous for his own good.

[sTRONG_SELFISH] [NEUTRAL] Nothing is stopping you from visiting her. + ST_4_S

 

ST_4_S

[ARAN] I'll not lightly leave your side.

[sTRONG_SELFISH] [NEUTRAL] That is up to you. I'm not pushing you. + EXIT_STATE

 

EXIT_STATE

[ARAN]I know.

And...

[iNITIATING_STATE] [ARAN] I don't rightly know how you dealt wi' th' feelin's about that bastard takin' that sister o' yours. It be one thing to have things pushed on you, but on family, that be a heavy burden to carry.

[sMART_SELFISH] There is always more at play than it seems, Aran. I wanted Imoen back, but there was far more to be gained by hunting down Irenicus then simply rescuing my 'sister'. DO ~SetGlobal("c-ArSisterBranch","GLOBAL",1)~ + SM_1_S

 

Starting SM_S Branch:

 

SM_1_S

[ARAN] I figured you might o' been playin' more than one angle there, on account o' you did wander around a bit, doin' all sorts o' things. But Imoen reminds me somethin' o my sister Elena, apprenticed away in Waterdeep. An' I find it right hard to avoid thinkin' on how far away from her I am right now, an' how she could get into trouble an' not have her big brother around to protect her.

[sMART_SELFISH] [NEUTRAL] It is not always in your best interests to be there for family. Sometimes they need to learn self reliance. + SM_2_S

 

SM_2_S

[ARAN] That don't rightly track wi' what you did to protect Imoen, now, do it?

[sMART_SELFISH] [NEUTRAL] Perhaps I have a weak spot for her. More likely, I can find advantage in the circumstances surrounding her abduction. + SM_3_S

 

SM_3_S

[ARAN] I don't think like you do, somehow. Not outside o' combat, I don't. I suspect that be part o' why I never could gather th' skills to hold a group together on my own leadership.

[sMART_SELFISH] [NEUTRAL] Nothing is stopping you from visiting her. + SM_4_S

 

SM_4_S

[ARAN] I'll not lightly leave your side.

[sMART_SELFISH] [NEUTRAL] That is up to you. I'm not pushing you. + EXIT_STATE

 

EXIT_STATE

[ARAN]I know.

 

In a standard construction, the last two in the series would definitely be streamlined into a single state and exit; here, we leave them separate because the alternate replies will be different based on the personality track we are on.

Edited by cmorgan

Share this post


Link to post

[NEUTRAL_OR_SHY] BRANCH

 

OK, we have our 'story" skeleton in place. We can add in the basic responses the same way, tracking them. In the best case scenario, every single branch would have completely discreet following lines, but looking at the nature of the ever-sprawling tree, we are talking about an entire small mod's worth of dialog just to follow one logic set down. For great examples of this try berelinde's Gavin, where she takes the time to exhaustively run down individual dialog options... but I am not berelinde, can't type like that, and most of all can't be that creative (no cut against me, I have my strengths - just stating the blindingly obvious that she has the willpower to really, really follow details down to the end, while in my writing, I.... don't :) ).

So, let's try to minimize the need to run off onto sidelines for this particular talk, and see if the idea works out in a partial follow-through. Basically, we try to turn a weakness in my writing into a strength, by saying similar things that match up to the following state:

 

[INITIATING_STATE]  [ARAN] I don't rightly know how you dealt wi' th' feelin's about that bastard takin' that sister o' yours. It be one thing to have things pushed on you, but on family, that be a heavy burden to carry.
 [NEUTRAL_OR_SHY] She... she isn't really my sister by blood. Or, she is, but not by mortal blood, you know.  +  N_1_O_S

 Starting N_O_S Branch:

N_1_O_S
 [ARAN] Aye, I understand. But you grew up wi' her, and it seems like th' bond is more than many feel for their own true sisters.
 [PC] [NEUTRAL] I thought you had a sister for whom you cared deeply. DO ~SetGlobal("c-ArSisterBranch","GLOBAL",3)~ + N_2_O_S 
 [PC] [ALLURING/TEASING] [MALE] I care for Imoen as a close sister. Given that picture you showed me of your Elena, I think I might... I... oh, never mind. DO ~SetGlobal("c-ArSisterBranch","GLOBAL",3)~ + N_2_O_S   
 [PC] [ALLURING/TEASING] [FEMALE] I feel a bond. Usually it is her tying something around me. Why, do you want me to ask her to... oh, sorry. I should not be saying things like that. DO ~SetGlobal("c-ArSisterBranch","GLOBAL",3)~ + N_2_O_S
 [PC] [CRUEL/TEASING] I feel a bond. A bond, or a burden, or perhaps a small heavy rock in my shoe. But I shouldn't be talking this freely about such matters. DO ~SetGlobal("c-ArSisterBranch","GLOBAL",3)~ + N_2_O_S
 [PC] [SUPPORTIVE] That is private. But yes, I think so. I mean, I think I have a close bond with Imoen.  Don't you feel close to your sister? DO ~SetGlobal("c-ArSisterBranch","GLOBAL",3)~ + N_2_O_S
 [PC] [INAPPROPRIATE] [MALE] Sometimes I think about her. I mean, sometimes... look, she is pretty. DO ~SetGlobal("c-ArSisterBranch","GLOBAL",3)~ + N_2_O_S
 [PC] [INAPPROPRIATE] [FEMALE] I... You don't think about your sister in a strange way, right? I don't. Most times. DO ~SetGlobal("c-ArSisterBranch","GLOBAL",3)~ + N_2_O_S
 [PC] [EXIT_BLOCK]

N_2_O_S 
[ARAN] I be a right proud o' Elena, her wi' her Academy apprenticeship, an' all that mage study she writes about in her letters. True enough, I wish I could go see her. She could light up a room with her eyes literal, now, instead o' figuratively.
 [PC] [NEUTRAL] You might miss your sister, but do you... do you think is it more important than what we are doing right now? + N_3_O_S 
 [PC] [ALLURING/TEASING] [MALE] It seems you are a fan. Not that I blame you, or anything. I think I would want to go see her, too, based on that picture. I would, I mean. Not you. + N_3_O_S  
 [PC] [ALLURING/TEASING] [FEMALE] Should I be jealous of her? She is not the only one who might need some help. Don't you think... aren't I facing greater dangers than she is? + N_3_O_S 
 [PC] [CRUEL/TEASING] I could say something about you having a big effect on people, too, only with you it is emptying your room with your breath. But that might be rude. + N_3_O_S 
 [PC] [SUPPORTIVE] [MALE] I think I would be proud of her, too. I know Imoen is strong enough to stand on her own two feet, but perhaps it helps to have a big brother in the background, assisting where he can. + N_3_O_S 
 [PC] [SUPPORTIVE] [FEMALE] I think you should be proud of her. I know I am proud Imoen is strong enough to stand on her own two feet, and I would like to think I helped in some way. + N_3_O_S 
 [PC] [INAPPROPRIATE] So she spits fore from her eyes? I heard that things were strange in Waterdeep, but I... I never actually believed all the stories. Is she in more danger that we are? + N_3_O_S 
 [PC] [EXIT_BLOCK]

N_3_O_S
 [ARAN] I am not sure. I don't expect I have more to worry about than th' usual what happens at Academies. Young lads sniffin' round, stray spells makin' mischief, an' that sort o' thing.
 [PC] [NEUTRAL] Nothing is stopping you from visiting her. + N_4_O_S
 [PC] [ALLURING/TEASING] [MALE] I might be a lad. I mean, I am a lad. And your sister is very pretty. But I can't go anywhere. Perhaps you should go. + N_4_O_S
 [PC] [ALLURING/TEASING] [FEMALE] There might be a family connection. I mean, you are.. well, girls seem to like you. And your sister is very pretty. But I can't go anywhere. Perhaps you should go. + N_4_O_S
 [PC] [CRUEL/TEASING] So you don't trust young lads around your sister/ I bet... I bet that is because you think they think like you do! + N_4_O_S
 [PC] [SUPPORTIVE] Perhaps you should go visit her, just to settle your mind. If you want to, that is. I have to keep moving forward, I think. + N_4_O_S
 [PC] [INAPPROPRIATE] Stray spells and young lads sounds very fun. If I were able to, I might like to visit, and see what people there do. As an observer, you know. Do you want to go check on her?  + N_4_O_S
 [PC] [EXIT_BLOCK]

N_4_O_S
 [ARAN] I'll not lightly leave your side.
 [NEUTRAL_OR_SHY] [NEUTRAL] That is up to you. I'm not pushing you. + EXIT_STATE
 [PC] [ALLURING/TEASING] I am glad of that. Sometimes, I am not sure I know what I would do without you. + EXIT_STATE
 [PC] [CRUEL/TEASING] You will not go anywhere lightly, I think. I suspect you have, well... have put on several pounds from all that cooking you do. + EXIT_STATE
 [PC] [SUPPORTIVE] I know. And I would go with you, if I could. + EXIT_STATE
 [PC] [INAPPROPRIATE] Oh, you might. I mean, you do seem to like looking at young ladies, and I bet the whole academy is full of temptations. + EXIT_STATE
 [PC] [EXIT_BLOCK]

EXIT_STATE
 [ARAN]I know.

 

[FUN_GROUP] BRANCH

 

On this one, let's expand using CHAIN followup, making room for a group discussion.

[INITIATING_STATE]  [ARAN] I don't rightly know how you dealt wi' th' feelin's about that bastard takin' that sister o' yours. It be one thing to have things pushed on you, but on family, that be a heavy burden to carry.
 [FUN_GROUP] [NEUTRAL] Sisters, sisters... can't live with them, can't live without them. Don't worry, We set him straight. Or rather, we chopped him into little pieces. Why the deep sibling introspection?.  DO ~SetGlobal("c-aransistertlk","GLOBAL",2)~ +  F_1_G_S

 Starting F_G_S Branch:

F_1_G_S
 [ARAN] I was goin' through some old letters o' Elena... you know, my sister what be in th' Waterdeep Mage Academy? I guess I get worried I won't be around for to protect her, th' way you did your sister.
 [KORGAN] You dinna tell me you had a sister.
 [HAERDALIS] Writing, journaling, tender sibling communications drawing a web of gossamer conversation across the miles... missives flying back and forth, and yet you do not introduce me, or send my warmest regards.
 [ARAN] Can you blame me? 
 [KORGAN]  Aye. When a buxom wench finds me attractive, there is no stopping me. 
 [HAERDALIS] Alas, this poor sparrow finds truth in your words, my friend. But think of how much she could have learned, under my gentle protective wing...
 [ARAN] That be exactly what I wanted to avoid.
 [CERND] There are times to be protective of your family, and times when you are unable to be there when you are needed most. Nature is not always kind.
 [JAN] None of my family writes to me. I think it has to do with the last set of letters I replied to being sent with my latest invention, a new form of self-erasing ink. It seems to have caught itself on fire. Perhaps when Uncle Harald's fingers are healed, he will write to me again.
 [PC] [NEUTRAL] I was not around for Imoen, and it turned out alright. I had to chase an insane mage across the entire Sword Coast and beyond just to find her, but we could do the same for yours, if necessary.  + F_2_G_S 
 [PC] [ALLURING/TEASING] [MALE] You seem to be protective of me, too. I wonder if you see me as a little sister. It would explain so much... + F_1_G_S_male
 [PC] [ALLURING/TEASING] [FEMALE] You seem to be protective of me, too. I wonder if you see me as a little sister. It would explain so much... + F_1_G_S_female
 [PC] [CRUEL/TEASING]  Well, I worry about that, too, with the number of times you seem to need to be healed. You could try actually dodging a blow or two, you know.
 [PC] [SUPPORTIVE] Families are strange that way. We try to be there when we can, and worry when we can't.
 [PC] [INAPPROPRIATE] I have a great idea... we swing north, pick her up, and start a small theater troupe. We can call it "Whitehand's Weird World". Or do you think that might interfere with the whole Prophecy thing? I suppose it would.
 [PC] [EXIT_BLOCK] 

	F_1_G_S_male [ARAN] Why, sure, on account o' you bein' so girly, an' all. I said to myself th' other day, "self, <CHARNAME> would make a right fine little sister, on account o' th' way he always do be actin' all girly."
	  [PC] So you really want to be stripped and sent naked into a spider's lair, just so we can steal your gear and move on? I think you are asking for trouble, boyo. + F_2_G_S
	  [PC] We could get a song and dance team going, and title ourselves "Faerune's Fighting Females". Gods, did I just say that? What a horrible idea. And dangerous, too. + F_2_G_S
	  [PC] Girly, shmirly. I get the job done, in spite of the dangers we face. Liches, dragons, the occasional accidental injury caused by inattentive comrades... + F_1_G_S_male_inattentive

			  F_1_G_S_male_inattentive [ARAN] Hey, that be unfair! That were an accident, by Helm's Fist. I just didn't' see you there. I done apologized, too! But on th' dangers we face, compared to the usual, well... + F_2_G_S

	F_1_G_S_female [ARAN] Now, that be completely wrong, I don't rightly think o' you in that way at all. 
	  [PC] I was teasing you, Aran. I don't think you have as much to worry about as I did, though. + F_2_G_S
	  [PC] What a pity. I would make such a good little sister for you. I would have you worrying about all sorts of interesting things, most of whom are poisonous, dangerous, undead, or all three combined. + F_2_G_S 
	  [PC] IF ROM That is a good thing, as I think some of the things we might feel about each other might be considered inappropriate. Wait, that was a poor choice of words... + F_2_G_S 

F_2_G_S 
 [ARAN] True enough. Th' worry wi' Elena be more on account o' lads sniffin' 'round than overbearin' evil twisted villainous mages... wait a moment... that blighted Mage's Academy be probably chock full o' power-hungry lads wi' slippery morals...
 [JAHEIRA] You have a very large imagination, Aran. Then again, you are probably thinking that her peers are as earthy as you are.
 [AERIE] Oh, I am sure everything is fine. There are many ways a woman mage has to protect herself.
 [VICONIA] Surfacers always say such amusing things. The least of our Houses would easily best a Surfacer academy. Your sister sounds weak.
 [VALYGAR] Another child warped by the unnatural influence of magic. Perhaps you should forbid her attendance, and get her away from that corruption.
[PC] [NEUTRAL] I don't think it is likely that they would become another Irenicus. + F_3_G_S 
[PC] [ALLURING/TEASING] Just a little overprotective, aren't you? How cute. Has she seen twelve summers yet, or only nine? 
[PC] [CRUEL/TEASING] I hadn't realized she was in need of such intense protectiveness. I should have realized that apples don't fall far from trees, and since you both fell from the same tree... come on, Aran. She is a grown woman.
[PC] [SUPPORTIVE] I think the Academy is far safer a place for her than on the road with you, don't you? I understand your worry, but you would be far more distracted if you were trying to do your job and protect her at the same time.
[PC] [INAPPROPRIATE] If she is anything like you, I would be more worried about the virtues of the poor boys trying to court her. 
[PC] [EXIT_BLOCK]

F_3_G_S
 [ARAN] You do have a point there. I just let my imagination get th' better o' me, is all. 
 [ANOMEN] Your lack of discipline and coarse breeding triumphs again.
 [KELDORN] Imagination is a useful trait in a warrior, but it can lead you astray very quickly.
 [MAZZY] I think we should go and check on how she is doing.
[PC] [NEUTRAL] Nothing is stopping you from visiting her. + F_4_G_S
[PC] [ALLURING/TEASING] Having an imagination is a good thing. We could always set aside a little time, go north, and hang around the Academy for awhile, seeing the sights... but I probably should stay here. + F_4_G_S
[PC] [CRUEL/TEASING] No, no... you are probably right. You should get there, before she ends up... oh, the horrors... *kissing* some *boy*. Even worse, having fun! Go, flex that incredible Whitehand command of Common. + F_4_G_S
[PC] [SUPPORTIVE] If you feel that she is in danger, you should go. Family is family. + F_4_G_S
[PC] [INAPPROPRIATE] You are a good person to have around, Aran. Then again, your sister is probably a lot smarter than you. Perhaps you could switch places with her. i think we can find a polymorph spell someplace... + F_4_G_S
[PC] [EXIT_BLOCK]

F_4_G_S
 [ARAN] I'll not lightly leave your side.
 [EDWIN] Go, go, by all means, go.
 [MINSC] No, Aran, we are you and and me and Boo, Boo and you and me... we should go together!
[PC] [NEUTRAL] That is up to you. I'm not pushing you. + EXIT_STATE
[PC] [ALLURING/TEASING] I am very glad to have you on my side. + EXIT_STATE
[PC] [CRUEL/TEASING] Awww... just what I always wanted. A pack mule with a sense of honor and camaraderie! For that, I will give you a carrot. But I do appreciate it, you know. + EXIT_STATE
[PC] [SUPPORTIVE] I am glad you are on my team, Aran. Even if it means more burning hot curry and that incessant whistling. + EXIT_STATE
[PC] [INAPPROPRIATE] [FEMALE] [ROM]   Just my side? I am pretty sure you wouldn't likely leave any part of me, judging by the amount of time your hands spend checking that all my body parts are still intact. + EXIT_STATE
[PC] [INAPPROPRIATE] [FEMALE] [NOROM] Lightly, heavily, modestly, boldly... you could just say "I won't leave you alone because I like you", you know. + EXIT_STATE
[PC] [INAPPROPRIATE] [MALE] Besides, we could all head up there together, and you could introduce me to your sister. Does she like pretty silk underthings? I am quite the ladies man, you know. + EXIT_STATE
[PC] [EXIT_BLOCK]

EXIT_STATE
 [ARAN] I know. I'll stay put.

 

[RIGID_GROUP] BRANCH

I am going to slip back toward regular code, with just some added comments to strip out later - and let's try a slightly different set of reply options, this time tailored a little looser, as it is killing me to try to think in as many different unique replies within mindsets for the roleplay. We don't have to stick to a rigid skeleton, just use it to guide us, so let's play farther afield:

/*
[INITIATING_STATE]  [ARAN] I don't rightly know how you dealt wi' th' feelin's about that bastard takin' that sister o' yours. It be one thing to have things pushed on you, but on family, that be a heavy burden to carry.
  ++ [RIGID_GROUP] Sometimes the greater good requires some sacrifices, but where Imoen is concerned, I think less about the big picture and more about making sure she is safe. DO ~SetGlobal("c-ArSisterBranch","GLOBAL",5)~ + R_1_G_S
*/ 

IF ~~ R_G_S
 SAY ~[ARAN] I feel th' same way. I mean, I feel th' same way about my sister. I was goin' through some old letters o' Elena's sent on from th' Waterdeep Mage Academy. I guess I get worried I won't be around for to protect her, th' way you did your sister.~
 ++ ~[PC] [SHY] Are you close to your sister? If that isn't too personal, I mean.~ + R_1_G_S_A
 ++ ~[PC] [NEUTRAL] Helping the greater good also helps your sister. ~ + R_1_G_S
 ++ ~[PC] [SERIOUS-SUPPORTIVE] I know it is hard to decide which is more important... the people we care about or the common good.~ + R_1_G_S
 ++ ~[PC] [SERIOUS-SELFCENTERED] I sympathize, but I need you to put aside your worries and concentrate on what we are doing. ~ + R_1_G_S_B
 ++ ~[PC] [FLIPPANT] Oh, no worries. After all, a sister's primary responsibility is to drive her older siblings crazy. Early on, it is "hide the books" or "tattletale". When they get older, it is "Help, help, I'm captured by an evil mage and spirited away to be tortured". But you still have to go help.~ + R_1_G_S_C
 + ~RandomNum(3,3)~ + ~[PC] This is a bit too personal for me right now. Just move along, and cut the chatter, Aran.~ + tob_a1976 /* c-aranshutup70 */
 + ~RandomNum(3,2)~ + ~[PC] This is a bit too personal for me right now. Just move along, and cut the chatter, Aran.~ + tob_a1977 /* c-aranshutup71 */
 + ~RandomNum(3,1)~ + ~[PC] This is a bit too personal for me right now. Just move along, and cut the chatter, Aran.~ + tob_a1978 /* c-aranshutup72 */
END

IF ~~ R_1_G_S_A
 SAY ~[ARAN] No, not too personal. I think I am right close to her. I write to her often enough.~ 
 ++ ~[PC] [SHY] I don't mean to pry into your business. It is just... well, I have a had time balancing what is right, and what is right for Imoen.~ + R_1_G_S
 ++ ~[PC] [NEUTRAL] Helping the greater good also helps your sister.~ + R_1_G_S
 ++ ~[PC] [SERIOUS-SUPPORTIVE] It sounds like you have found a way to balance both being part of her life and following our cause.~ + R_1_G_S
 ++ ~[PC] [SERIOUS-SELFCENTERED] It sounds like you have found some balance in your life. I am glad, as it helps you be a stronger companion when you have more vested interest in my cause.~ + R_1_G_S
 ++ ~[PC] [FLIPPANT] I suppose that would work for some people. Me, I have a hard time being close to a person through a bunch of scratchy ink blots on some vellum.~ + R_1_G_S_D
 + ~RandomNum(3,3)~ + ~[PC] Look, we need to move along. I understand - you miss your sister, and wish we were able to back her up the way I did Imoen. Let's talk about this later.~ + tob_a1977 /* c-aranshutup71 */
 + ~RandomNum(3,2)~ + ~[PC] Look, we need to move along. I understand - you miss your sister, and wish we were able to back her up the way I did Imoen. Let's talk about this later.~ + tob_a1978 /* c-aranshutup72 */
 + ~RandomNum(3,1)~ + ~[PC] Look, we need to move along. I understand - you miss your sister, and wish we were able to back her up the way I did Imoen. Let's talk about this later.~ + tob_a1979 /* c-aranshutup73 */
END

IF ~~ R_1_G_S_B
 SAY ~[ARAN] Do you give naught in th' way o' thinkin' about balancin' th' two sides?~
 ++ ~[PC] I give it thought. But the common good always ends up being the course I try to take.~ + R_1_G_S
 ++ ~[PC] Not really. There is doing the right thing, and then after that if there is a way of taking personal feelings into account, I do that, too.~ + R_1_G_S
 ++ ~[PC] Think about it? Yes. Actually find a balance? Well, look at the last few months, and you have your answer.~ + R_1_G_S
 ++ ~[PC] Fortunately or unfortunately, Imoen is my weak spot. After she is safe, I start thinking about the rest of the world.~ + R_1_G_S
 ++ ~[PC] Balancing acts are for circuses. I don't have time to think farther than the next battle, the next challenge, and the next creature trying to rip the flesh from my bones or the spirit from my body.~ + R_1_G_S
 + ~RandomNum(3,3)~ + ~[PC] Look, we need to move along. I understand - you miss your sister, and wish we were able to back her up the way I did Imoen. Let's talk about this later.~ + tob_a1978 /* c-aranshutup72 */
 + ~RandomNum(3,2)~ + ~[PC] Look, we need to move along. I understand - you miss your sister, and wish we were able to back her up the way I did Imoen. Let's talk about this later.~ + tob_a1979 /* c-aranshutup73 */
 + ~RandomNum(3,1)~ + ~[PC] Look, we need to move along. I understand - you miss your sister, and wish we were able to back her up the way I did Imoen. Let's talk about this later.~ + tob_a1980 /* c-aranshutup74 */
END

IF ~~ R_1_G_S_C
 SAY ~[ARAN] I can say naught but support for that. I have been on th' receivin' end o' more than my own share o' teasin'. I give as good as I get, though. It be harder now that most o' th' time we speak only through letters.~
 ++ ~[PC] [SHY] I don't mean to pry into your business. It is just... well, I have a had time balancing what is right, and what is right for Imoen.~ + R_1_G_S
 ++ ~[PC] [NEUTRAL] So you communicate with her regularly, and that balances out not living closer to her? ~ + R_1_G_S
 ++ ~[PC] [SERIOUS-SUPPORTIVE] It sounds like you have found a way to balance both being part of her life and following our cause.~ + R_1_G_S
 ++ ~[PC] [SERIOUS-SELFCENTERED] It sounds like you have found some balance in your life. I am glad, as it helps you be a stronger companion when you have more vested interest in my cause.~ + R_1_G_S
 ++ ~[PC] [FLIPPANT] I suppose that would work for some people. Me, I have a hard time being close to a person through a bunch of scratchy ink blots on some vellum.~ + R_1_G_S_D
 + ~RandomNum(3,3)~ + ~[PC] Look, we need to move along. I understand - you miss your sister, and wish we were able to back her up the way I did Imoen. Let's talk about this later.~ + tob_a1976 /* c-aranshutup70 */
 + ~RandomNum(3,2)~ + ~[PC] Look, we need to move along. I understand - you miss your sister, and wish we were able to back her up the way I did Imoen. Let's talk about this later.~ + tob_a1977 /* c-aranshutup71 */
 + ~RandomNum(3,1)~ + ~[PC] Look, we need to move along. I understand - you miss your sister, and wish we were able to back her up the way I did Imoen. Let's talk about this later.~ + tob_a1978 /* c-aranshutup72 */
END

IF ~~ R_1_G_S_D
 SAY ~[ARAN] Elena an' I have had plenty o' practice at that kind o' communication. I sent her back letters from every place I could get to, an' she has kept in touch wi' me th' same way. Sometimes it is a mite bit o' a delay from th' time we say somethin' to th' time it gets read. It is right hard to keep family ties goin' when everyone has so much physical distance between them.~
 IF ~~ THEN GOTO R_1_G_S
END

IF ~~ R_1_G_S
 SAY ~[ARAN] I don't rightly know if there be a good balance to be had. On th' one hand, protectin' you is protectin' her from some seriously nasty things happenin' to her as well as th' world. On th' other hand, she be my responsibility, directly.~
 ++ ~[PC] [SHY] Sometimes just being there is not the right decision. Sometimes... sometimes being there puts a sister in more danger.~ + R_2_G_S_A
 ++ ~[PC] [NEUTRAL] I failed to protect Imoen. Irenicus took her and tortured her, and I will never be truly able to atone for that. + R_2_G_S 
 ++ ~[PC] [SERIOUS-SUPPORTIVE] I guess feelings about protecting little sisters are the same everywhere, to some degree. We agree on that.~ + R_2_G_S_B
 ++ ~[PC] [SERIOUS-SELFCENTERED] We both care about our 'family', whether bonded by the blood of  god, the blood of a normal parent, or just bonded because of our adopted companions.~ + R_2_G_S_B
 ++ ~[PC] [FLIPPANT] If you call having to chase Imoen's captors across the face of Toril while scrounging for coin and resources in the process "protecting", then I don't think that word means what you think it means. ~ + R_2_G_S
END

R_2_G_S_A
 SAY ~[ARAN] On balance, I think th' kinds o' trouble I get into wi' you are th' kinds where if we don't take care o' it right away, Elena will feel th' effects for th' rest o' her life. Or do you be talkin' about Imoen?~
 ++ ~[PC] [SHY] Imoen.~ + R_2_G_S
 ++ ~[PC] [NEUTRAL] I failed to protect Imoen. Irenicus took her and tortured her, and I will never be truly able to atone for that. + R_2_G_S 
 ++ ~[PC] [SERIOUS-SUPPORTIVE] I guess feelings about protecting little sisters are the same everywhere, to some degree. ~ + R_2_G_S_A
 ++ ~[PC] [SERIOUS-SELFCENTERED] We both care about our 'family', whether bonded by the blood of  god, the blood of a normal parent, or just bonded because of our adopted companions.~ + R_2_G_S_ONLY
 ++ ~[PC] [FLIPPANT] Just how many sisters do you think I have? Wait a moment... OK, let me rephrase. I don't consider Bhaal wandering around sewing his seed all over creation as creating a family. Imoen, on the other hand, is the only real family I have left.~ + R_2_G_S_ONLY
END

R_2_G_S_ONLY
 SAY ~[ARAN] True enough. Do you ever tell her that?~
 ++ ~[PC] Hells, no.~ + R_2_G_S_ONLY_NO
 ++ ~[PC] Hells, yes. Daily. Or whenever I can.~ + R_2_G_S_ONLY_DAILY
 ++ ~[PC] I... look, I have some difficulties expressing my feelings sometimes.~ + R_2_G_S_ONLY_DIFFICULT
 ++ ~[PC] Do you tell your sister that you love her and feel like you need to protect her?~ + R_2_G_S_ONLY_TELL
 ++ ~[PC] Imeon knows. I don't have to tell her.~ + R_2_G_S_ONLY_ACTION
END

IF ~~ R_2_G_S_ONLY_NO
 SAY ~[ARAN] Well, I do. Not Imoen, o' course. I mean I tell Elena.~
 IF ~~ THEN GOTO R_2_G_S_ONLY_EXIT
END

IF ~~ R_2_G_S_ONLY_DAILY
 SAY ~[ARAN] I do, too. Not Imoen, o' course. I mean I tell Elena.~
 IF ~~ THEN GOTO R_2_G_S_ONLY_EXIT
END

IF ~~ R_2_G_S_ONLY_DIFFICULT
 SAY ~[ARAN] Well, I do. Not Imoen, o' course. I mean I tell Elena. Expressin' those feelin's be easier in a letter, though. Face to face, it just seems kind o' awkward.~
 IF ~~ THEN GOTO R_2_G_S_ONLY_EXIT
END

IF ~~ R_2_G_S_ONLY_TELL
 SAY ~[ARAN] Hells, yes. I do. Not Imoen, o' course. I mean I tell Elena, every single letter.~
 IF ~~ THEN GOTO R_2_G_S_ONLY_EXIT
END

IF ~~ R_2_G_S_ONLY_ACTION 
 SAY ~[ARAN] I suppose that might be true. But sisters be females, an' it seems to me that it don't hurt none to be right clear about th' whole feelin's thing right up front. She might punch your arm an' get all silly, but it be worth it to make sure she knows how you feel.~
 IF ~~ THEN GOTO R_2_G_S_ONLY_EXIT
END

IF ~~ R_2_G_S_ONLY_EXIT
 SAY ~[ARAN] I guess I should not worry about Elena so much. I write to her as often as I be able, an' I tell her every time right specific that I value her. I keep right on it, on account o' Faerun be a hazardous place to make a life, an' backin' you increases th' odds that any one o' those letters might be th' last one. I don't want to be beggin' Tymora for a moment to set things clear wi' her.~
 IF ~~ THEN EXIT
END

R_2_G_S_B
 SAY ~[ARAN] That we do. But there be times when they have to just take care o' themselves, I guess.~ 
 ++ ~[PC] [SHY] Sometimes the best way to help is... standing back and letting things happen.~ + R_3_G_S
 ++ ~[PC] [NEUTRAL] I don't think standing in the background doing nothing is easy. Sometimes it is all we can do.~ + R_3_G_S 
 ++ ~[PC] [SERIOUS-SUPPORTIVE] She is your sister. You can't just sit there and ignore your feelings. You have to do something.~ + R_3_G_S
 ++ ~[PC] [SERIOUS-SELFCENTERED] You are worried about your sister. I am worried about the Prophecies currently bathing Faerun in a sea of blood.~ + R_3_G_S
 ++ ~[PC] [FLIPPANT] At least the power-hungry arch-villain mage suitor scenario seems unlikely.~ + R_3_G_S
END  

IF ~~  R_2_G_S
 SAY ~[ARAN] Hey, now, by Corellon's Bow-hand, there were naught you could do. He captured you, too, by your account. Th' worry wi' Elena be much less than that kind o' situation. I be worried on account o' lads sniffin' 'round. not on account o' twisted power-mad villains draggin' her off.~
 ++ ~[PC] [SHY] I think there is always more that I could do. I just don't have the confidence to do it.~ + R_3_G_CONFIDENCE
 ++ ~[PC] [NEUTRAL] The power-hungry arch-villain mage suitor scenario seems unlikely.~ + R_3_G_S 
 ++ ~[PC] [SERIOUS-SUPPORTIVE] Just because it is not a power-mad arch enemy does not mean your feelings are unimportant. But listen to what you just said - you are worried about her suitors, not her life being in danger.~ + R_3_G_S
 ++ ~[PC] [SERIOUS-SELFCENTERED] You are worried about your sister. I am worried about the Prophecies currently bathing Faerun in a sea of blood.~ + R_3_G_S
 ++ ~[PC] [FLIPPANT] Well, I suppose we could send a warning message to our enemies, letting them know that they should delay taking over all of creation while we check on who your sister is thinking of dating...~ + R_3_G_S
 + ~RandomNum(3,3)~ + ~[PC] Look, we need to move along. I understand - you miss your sister, and wish we were able to back her up the way I did Imoen. Let's talk about this later.~ + tob_a1977 /* c-aranshutup71 */
 + ~RandomNum(3,2)~ + ~[PC] Look, we need to move along. I understand - you miss your sister, and wish we were able to back her up the way I did Imoen. Let's talk about this later.~ + tob_a1978 /* c-aranshutup72 */
 + ~RandomNum(3,1)~ + ~[PC] Look, we need to move along. I understand - you miss your sister, and wish we were able to back her up the way I did Imoen. Let's talk about this later.~ + tob_a1979 /* c-aranshutup73 */
END

IF ~~ R_3_G_CONFIDENCE
 SAY ~[ARAN] I have confidence in you.~
 ++ ~[PC] That is not enough.~ + EXIT_STATE
 ++ ~[PC] You are a good friend to say so.~ + EXIT_STATE
 ++ ~[PC] I don't think confidence has anything to do with how you feel about being away from your sister. I think that might be a matter of trust.~ + R_3_G_S
 ++ ~[PC] This isn't about me, or about you. It is about whether you think Elena is any real danger. I don't think she is.~ + R_3_G_S 
 ++ ~[PC] Are you asking to go up to Waterdeep and see for yourself how she is doing?~ + R_4_G_S
END

IF ~~  R_3_G_S
 SAY ~[ARAN] I do think you have a point. I just worry, is all. A brother's prerogative, I guess.~
 ++ ~[PC] [SHY] I... I can't hold you here, you know. If you needed to go check on her...~ + R_4_G_S
 ++ ~[PC] [NEUTRAL] Nothing is stopping you from visiting her.~ + R_4_G_S
 ++ ~[PC] [SERIOUS-SUPPORTIVE] You have the right to worry, the right to share that worry with friends, and even the right to go make sure everything is fine yourself.~ + R_4_G_S
 ++ ~[PC] [SERIOUS-SELFCENTERED] Sometimes you have to just let a little sister grow up and handle her own business. You can't let worry harm your readiness.~ + R_2_G_S_ONLY_EXIT
 ++ ~[PC] [FLIPPANT] I thought it was a brother's prerogative to try and intimidate any potential suitors, to call her childhood nicknames in public, and share embarrasing stories about her until she blushes and threatens violence.~ + R_3_G_S_THATTOO
END

IF ~~ R_3_G_S_THATTOO
 SAY ~[ARAN] Aye, that too. Just like it be her perogative to try to fix you up wi' her friends, steal th' best part o' any meal you share, tell you your fashion sense be that o' a troll,  an' generally tease th' livin' hells out o' you at every opportunity.~
 IF ~~ THEN EXIT
END

IF ~~ R_4_G_S
 SAY ~[ARAN] I'll not lightly leave your side.~
 ++ ~[PC] [NEUTRAL] That is up to you. I'm not pushing you. ~ + [EXIT_STATE]
 ++ ~[PC] [SHY] I appreciate that.~ +  [EXIT_STATE]
 ++ ~[PC] [SERIOUS-SUPPORTIVE] The world needs people who are ready to put aside personal fears, however small, and just do the right thing. I am glad you are part of the team.~ + [EXIT_STATE]
 ++ ~[PC] [SERIOUS-SELFCENTERED] I need to prevail. There is too much harm that could be done to too many people if I fail. I am glad you are at my side, helping me finish this.~ + [EXIT_STATE]
 ++ ~[PC] [FLIPPANT] No, I suppose not... you have been eating way too much of your own cooking for you to do anything 'lightly', my friend!~ + [EXIT_STATE]
END

IF ~~ [EXIT_STATE]
 SAY ~[ARAN] I know.~
 IF ~~ THEN EXIT 
END

 

[sTRONG_SELFISH] BRANCH

/* [INITIATING_STATE]  [ARAN] I don't rightly know how you dealt wi' th' feelin's about that bastard takin' that sister o' yours. It be one thing to have things pushed on you, but on family, that be a heavy burden to carry.
 [STRONG_SELFISH] Stop rehashing old history. Irenicus transgressed, I hit back with everything I had, and now I am here and he no longer has any power at all. DO ~SetGlobal("c-ArSisterBranch","GLOBAL",2)~ +  ST_1_S
 Starting ST_S Branch: */
IF ~~ ST_1_S
 SAY ~[ARAN] I know, I know. But Imoen reminds me somethin' o my sister Elena, apprenticed away in Waterdeep. An' I find it right hard to avoid thinkin' on how far away from her I am right now, an' how she could get into trouble an' not have her big brother around to protect her.~
 ++ ~[PC] [NEUTRAL] If your sister is strong, she does not need you. If she is weak, then it is better that she learn how to grow strong without you.~ + ST_2_S_I 
 ++ ~[PC] [HIDDEN] I suppose you are close to your sister. That seems like it would be inconvenient.~ + ST_2_S_I
 ++ ~[PC] [SERIOUS-SUPPORTIVE] I need concentrated, strong forces to face what I am facing. Do you need to take some time and get your head on straight?~ + ST_2_S_N
 + ~RandomNum(3,3)~ + ~[PC] This is too personal for me. Just move along, and cut the chatter, Aran.~ + tob_a1976 /* c-aranshutup70 */
 + ~RandomNum(3,2)~ + ~[PC] This is too personal for me. Just move along, and cut the chatter, Aran.~ + tob_a1977 /* c-aranshutup71 */
 + ~RandomNum(3,1)~ + ~[PC] This is too personal for me. Just move along, and cut the chatter, Aran.~ + tob_a1978 /* c-aranshutup72 */
 ++ ~[PC] [SERIOUS-SELFCENTERED] I need you more than she does. ~ + ST_2_S_O
 ++ ~[PC] [FLIPPANT] Oh, great. Another delay or distraction. What is it now, a troublesome sister who has been captured and held for ransom?~ + ST_2_S_F
END

IF ~~ ST_2_S_N
 SAY ~[ARAN] There be naught in th' way o' need for that, I think. I have no word as to any real problems, only my own imagination.~
 ++ ~[PC] You have a big imagination, it seems. I would think you would have cut ties with any family you had, given that you are supporting my cause now.~ + ST_2_S_I
 + ~RandomNum(3,3)~ + ~[PC] Look, we need to move along. I understand - you miss your sister, and wish we were able to back her up. Now shut up and get moving.~ + tob_a1977 /* c-aranshutup71 */
 + ~RandomNum(3,2)~ + ~[PC] Look, we need to move along. I understand - you miss your sister, and wish we were able to back her up. Now shut up and get moving.~ + tob_a1978 /* c-aranshutup72 */
 + ~RandomNum(3,1)~ + ~[PC] Look, we need to move along. I understand - you miss your sister, and wish we were able to back her up. Now shut up and get moving.~ + tob_a1979 /* c-aranshutup73 */  
 ++ ~[PC] Then wouldn't it be in your best interests to curb that imagination, and get back to business?~ + ST_2_S_I
 ++ ~[PC] Stop inventing problems that don't exist. We have enough to deal with. Unless you have some proof that something is wrong, let her fight out her own problems.~ + ST_2_S_I
 ++ ~[PC] Given your imagination, you must think she is being pursued by a maddened curry, several kobold shaman, and a demon from the abyss. Of the three, the demon would make the most powerful choice of mate, I think.~ + ST_FU_YB
END

IF ~~ ST_2_S_O
 SAY ~[ARAN] No, you blighted well don't. I am what they call "expendable". But th' sentiment be nice to hear.~
 ++ ~[PC] Stop inventing problems that don't exist. We have enough to deal with. Unless you have some proof that something is wrong, let her fight out her own problems.~ + ST_2_S_I  
 + ~RandomNum(3,3)~ + ~[PC] Look, we need to move along. I understand - now shut up and get moving.~ + tob_a1977 /* c-aranshutup71 */
 + ~RandomNum(3,2)~ + ~[PC] Look, we need to move along. I understand - now shut up and get moving.~  + tob_a1978 /* c-aranshutup72 */
 + ~RandomNum(3,1)~ + ~[PC] Look, we need to move along. I understand - now shut up and get moving.~  + tob_a1979 /* c-aranshutup73 */  
 ++ ~[PC] Wouldn't it be in your best interests to curb that imagination, and get back to business? I didn't make you a part of my team so that you could indulge in overprotective sibling behavior.~ + ST_2_S_I
 ++ ~[PC] I don't deal in sentiment, only raw power. I have invested heavily in you, knowing that you are a very useful tool. You do know that you are beholden to me, right?~ + EXIT_STATE
 ++ ~[PC] Well, I have a soft spot for you. I can't seem to help myself. By the way, if you desert this party to go of on some family reunion weekend, I will hunt you down and kill you myself.~ + EXIT_STATE 
END

IF ~~ ST_2_S_F
 SAY ~[ARAN] Now, no call to be so testy, eh? I have naught in th' way o' bad news. I just get a mite protective o' my sister, is all.~
 ++ ~[PC] Why does everyone always seem to need to go rescue some family member from danger, just when things seem to be getting worse than could ever be imagined?~ + ST_2_S_I
 + ~RandomNum(3,3)~ + ~[PC] I understand - you miss your sister, and wish we were able to back her up. Now shut up and get moving.~ + tob_a1977 /* c-aranshutup71 */
 + ~RandomNum(3,2)~ + ~[PC] I understand - you miss your sister, and wish we were able to back her up. Now shut up and get moving.~  + tob_a1978 /* c-aranshutup72 */
 + ~RandomNum(3,1)~ + ~[PC] I understand - you miss your sister, and wish we were able to back her up. Now shut up and get moving.~  + tob_a1979 /* c-aranshutup73 */  
 ++ ~[PC] Stop inventing problems that don't exist. We have enough to deal with. Unless you have some proof that something is wrong, let her fight out her own problems.~ + ST_2_S_I
 ++ ~[PC] By the way, if you desert this party to go off on some family reunion weekend, I will hunt you down and kill you myself.~ + EXIT_STATE
END

IF ~~ ST_2_S_I
 [ARAN] That don't rightly track wi' what you did to protect Imoen, now, do it?
 ++ ~[PC] Imoen was a side issue. Irenicus should not have tried to challenge me in that way.~ + ST_3_S 
 ++ ~[PC] I can have the luxury of having family ties, especially as they are devine. You can't.~ + ST_3_S
 ++ ~[PC] That is different. I think you could find much more advantage and protection for your sister if you support me and stay with me. I am a force to be reckoned with.~ + EXIT_STATE
 ++ ~[PC] No, I don't suppose it does. But you are not a Bhaalspawn. You can't even begin to understand the powers fighting within me, and what i need to do to keep them under my control.~ + EXIT_STATE
 ++ ~[PC] Look, I know you mean well, but you just don't see the world the way I do. Where you see support and emotion, I see lines of power and control. You have been a strong force at my side, and I need you there until I say otherwise, regardless of what I may choose or not choose to do.~ + EXIT_STATE
END

IF ~~ ST_3_S
 [ARAN] Well I suspect I have naught in th' way o' grand villains capturin' her an' runnin' off th' god's only knows where. Th' worst might be a lad what be a little too amorous for his own good.~
 ++ ~[PC] Nothing is stopping you from visiting her.~ + ST_4_S
 ++ ~[PC] Perhaps it might be advantageous to have some eyes and ears in Waterdeep, after all. I am going ahead with my plans, but you might take a quick trip north if you need to.~ + ST_4_S 
 ++ ~[PC] I need concentrated, strong forces to face what I am facing. Do you need to take some time and get your head on straight?~ + ST_2_S_N  
 ++ ~[PC] I am not goiong to travel all the way up to Waterdeep.~ + ST_4_S
 ++ ~[PC] You follow me, but you don't really embrace the power and control I exert. I would think you would be against me, trying to stop my rise to power, to protect her from coming under my control.~ + R_2_G_S_EVIL
END

IF ~~ ST_4_S
 [ARAN] I'll not lightly leave your side.
 ++ ~[PC] That is up to you. I'm not pushing you~ + EXIT_STATE
 ++ ~[PC] You are damned right you won't. I don't take kindly to betrayal or wavering of any kind.~ + EXIT_STATE
 ++ ~[PC] Sure, you go right along and visit your sister. I will just sit here and wait for you, delaying all my plans... you do know that I could never let that happen, right?~ + EXIT_STATE
 ++ ~[PC] Look, I don't understand your position at all. But you have been useful to me, so if you have to go play nursemaid, I won't stop you or exact retribution. If you go, you had better make it a quick trip. Things look like I may need you soon.~ + EXIT_STATE
 ++ ~[PC] Lightly is not an adjective I would use to describe anything about you, Aran. Too much curry lately? Your sword belt seems excessively tight...~ + ST_FU_YB
END

IF ~~ ST_FU_YB
 SAY ~[ARAN] Oh, blighted hells.... I try to talk straight to you, an' all you can do is make fun o' me. Stick your left fist where th' sun don't shine. I'll just go blighted well check on th' gear.~
 ++ ~[PC] Don't sulk too long. We have places to go and things to kill.~ + EXIT_STATE
 ++ ~[PC] You will not get away with swearing at me without repercussions, sellsword. I settle up with those who show me disrespect.~ + EXIT_STATE
 ++ ~[PC] You are so touchy today. Get some sleep tonight, and get a better attitude, or your time with me will come to a very short end.~ + EXIT_STATE
 ++ ~[PC] I am in no mood for talking about family problems. I have enough of my own right now.~ + EXIT_STATE
 ++ ~[PC] I am sorry you feel like you have been wronged. Now check that gear and get back to work. This is no time for sentimentality and deep discussion.~ + EXIT_STATE
 ++ ~[PC] You follow me, but you don't really embrace the power and control I exert. I would think you would be against me, trying to stop my rise to power, to protect her from coming under my control.~ + R_2_G_S_EVIL
END

IF ~~ EXIT_STATE
 SAY ~[ARAN] I know.~
 IF ~~ THEN EXIT 
END

 

[sMART_SELFISH] BRANCH

 

IF ~~ SM_1_S
 SAY ~[ARAN] I figured you might o' been playin' more than one angle there, on account o' you did wander around a bit, doin' all sorts o' things. But Imoen reminds me somethin' o my sister Elena, apprenticed away in Waterdeep. An' I find it right hard to avoid thinkin' on how far away from her I am right now, an' how she could get into trouble an' not have her big brother around to protect her.~
 ++ ~[PC] [SHY] It seems like a rather personal concern. I am not sure it is a good idea to share feelings that can be used against you.~ + SM_2_S_SHARE
 ++ ~[PC] [NEUTRAL] It is not always in your best interests to be there for family. Sometimes they need to learn self reliance.~ + SM_2_S
 ++ ~[PC] [SERIOUS-SUPPORTIVE] If you really care for her, let her toughen up and learn how to work things to her advantage using just her own skills.~ + SM_2_S
 ++ ~[PC] [SERIOUS-SELFCENTERED] What does your sister have to do with me?~ + SM_2_S_DOWITHME
 ++ ~[PC] [FLIPPANT] If we are comparing sisters, perhaps we should get some clothing measurements, go out and chat over tea... wait a moment, did you just admit to having a feminine side?~ + SM_2_S_FEMININE
 + ~RandomNum(3,3)~ + ~[PC] Look, we need to move along. I understand you miss your sister. Let's talk about this later.~ + tob_a1976 /* c-aranshutup70 */
 + ~RandomNum(3,2)~ + ~[PC] Look, we need to move along. I understand you miss your sister. Let's talk about this later.~ + tob_a1977 /* c-aranshutup71 */
 + ~RandomNum(3,1)~ + ~[PC] Look, we need to move along. I understand you miss your sister. Let's talk about this later.~ + tob_a1978 /* c-aranshutup72 */
END


IF ~~ SM_2_S 
 [ARAN] That don't rightly track wi' what you did to protect Imoen, now, do it?
 ++ ~[PC] [NEUTRAL] Perhaps I have a weak spot for her. More likely, I could find advantage in the circumstances surrounding her abduction. + SM_3_S 
 ++ ~[PC] [SHY] That is my concern, not yours. I am not sure it is a good idea for anyone to share feelings that can be used against them later.~ + SM_2_S_SHARE
 ++ ~[PC] [NEUTRAL] It is not always in your best interests to be there for family. Sometimes they need to learn self reliance.~ + SM_2_S
 ++ ~[PC] [SERIOUS-SUPPORTIVE] If you really care for her, let her toughen up and learn how to work things to her advantage using just her own skills.~ + SM_2_S
 ++ ~[PC] [SERIOUS-SELFCENTERED] What does your sister have to do with me?~ + SM_2_S_DOWITHME
 ++ ~[PC] [FLIPPANT] If we are comparing sisters, perhaps we should get some clothing measurements, go out and chat over tea... wait a moment, did you just admit to having a feminine side?~ + SM_2_S_FEMININE
 + ~RandomNum(3,3)~ + ~[PC] It is in both our interests to keep family out of our discussions. Just be glad you don't have a god's blood running through your family veins, and shut the hells up about your sister already.~ + tob_a1976 /* c-aranshutup70 */
 + ~RandomNum(3,2)~ + ~[PC] It is in both our interests to keep family out of our discussions. Just be glad you don't have a god's blood running through your family veins, and shut the hells up about your sister already. + tob_a1977 /* c-aranshutup71 */
 + ~RandomNum(3,1)~ + ~[PC] It is in both our interests to keep family out of our discussions. Just be glad you don't have a god's blood running through your family veins, and shut the hells up about your sister already.~ + tob_a1978 /* c-aranshutup72 */
END

IF ~~ SM_2_S_SHARE
 SAY ~[ARAN] Hey, I trust you, don't I? Well, to a point, anyways.~
 ++ ~[PC] You are a fool to trust me. I never did understand that about you. You don' see things my way, yet you follow me. Are you that weak?~ + R_2_G_S_EVIL
 ++ ~[PC] And I trust you. At least, I trust you more than I usually trust someone. I guess that counts as friendship. I can't afford to have many friends.~ + EXIT_STATE
 ++ ~[PC] Trust is a silly idea, unless it is backed up with coersion or force to ensure that it can't be broken. I bet that is why you are worried about your sister. You don't trust her because you have no control over her.~ + SM_3_S
 ++ ~[PC] I don't give trust lightly, and usually it ends when someone is out of my sight. I... I just have been harmed so many times.~ + SM_3_S 
 ++ ~[PC] At the very least, I am predictable. So are you. Perhps that is why we work well together, in spite of your silly soft ideas.~ + SM_3_S
END

IF ~~ SM_3_S
 SAY ~[ARAN] I don't think like you do, somehow. Not outside o' combat, I don't. I suspect that be part o' why I never could gather th' skills to hold a group together on my own leadership.~
 ++ ~[PC] Look, if it bothers you, nothing is stopping you from visiting her.~ + SM_4_S
 ++ ~[PC] Worrying about family is the first thing you need to forget if you are ever going to be a leader, Aran. You need to learn to make the tough decisions, and not let emotion cloud your better judgement.~ + SM_4_CLOUD  
 ++ ~[PC] To be fair, there are people who think like you do who are very effective leaders. I don't understand how they do it without coersion, fear, manipulation, or showing power, but they do. You just must not have it in you to lead.~ + R_2_G_S_EVIL
 ++ ~[PC] You don't need to think like me. In fact, that is why I keep you around. I want someone who supports me, not someone who constantly challenges me. Perhaps that is one of my weaknesses.~ + SM_4_WEAKNESS
 ++ ~[PC] Do you need time to get this out of your system, so that we can get on with my business?~ + SM_4_S
END

IF ~~ SM_4_CLOUD
 SAY ~[ARAN] Do this be one o' them "do as I be sayin' not as I be doin'" things? On account o'you seemed to deal wi' Imoen in a completely different way from what you be describin'.~
 ++ ~[PC] Do not discuss Imoen again, or I will show you exactly how much you have displeased me.~ + SM_4_S
 ++ ~[PC] Yes, it is one of those things. If you don't like my advice, you can leave any time you think you need to... and suffer the consequences.~ + SM_4_S
 ++ ~[PC] Let's just say that I needed to relearn that particular lesson myself. I am as close to perfect as a mortal can get, but even I can learn something from time to time.~ + EXIT_STATE  
 ++ ~[PC] I have a certain weakness for her. I am not proud of it, but I acknowledge it. And I take steps to ensure she can not be used against my interests again.~ + SM_4_WEAKNESS
 ++ ~[PC] Do you need time to get this out of your system, so that we can get on with my business?~ + SM_4_S
END

IF ~~ SM_4_WEAKNESS
 SAY ~[ARAN] You don't have any blighted weaknesses. I don't like th' way you do things sometimes, but I can't say you haven't made defeats into victories an' kept us alive, mostly.~
 ++ ~[PC] Flattery will not get you what you want, Aran, if what you want is for me to give you permission to go all the way up to Waterdeep so you can have a family reunion.~ + SM_4_S  
 ++ ~[PC] I have a huge weakness. I let you distract me with all this talk about family. Don't you know it really drives me crazy?~ + EXIT_STATE  
 ++ ~[PC] I may not seem to at times, but I have a huge weakness. I let my friends into my plans, and help them as well as I help myself. Some would call that a waste of time. I consider it good business.~ + EXIT_STATE
 ++ ~[PC] A good acknowledgement of one's weaknesses makes one stronger. Perhaps you need some time to reflect on that.~ +  SM_4_S 
END

IF ~~ SM_4_S
 SAY ~[ARAN] I'll not lightly leave your side.~ 
 ++ ~[PC] That is up to you. I'm not pushing you.~ + EXIT_STATE
 ++ ~[PC] You are damned right you won't. I don't take kindly to betrayal or wavering of any kind, and you know that leaving me at this point would be the worst kind of betrayal. I don't let many people in on my plans.~ + EXIT_STATE
 ++ ~[PC] Sure, you go right along and visit your sister. I will just sit here and wait for you, delaying all my plans... you do know that I could never let that happen, right?~ + EXIT_STATE
 ++ ~[PC] Look, sometimes I don't understand you at all. But you have been useful to me, so if you have to go play nursemaid, I won't stop you or exact retribution. If you go, you had better make it a quick trip, though. Things look like I may need you soon.~ + EXIT_STATE
 ++ ~[PC] Lightly is not an adjective I would use to describe anything about you, Aran. Too much curry lately? Your sword belt seems excessively tight...~ + ST_FU_YB
END

IF ~~ R_2_G_S_EVIL
 SAY ~[ARAN] You may not think th' way I do, but I cast my lot in wi' you. I can be a damned strong ally, an' that might protect Elena. Hells, look at it this way... th' way things be goin' on th' Sword Coast, I'd rather be backin' you an' seekin' your protection than followin' any o' th' bastards what be our opponents. You, I can talk to.~
 ++ ~[PC] I don't need allies. I need servants.~ + EXIT_STATE
 ++ ~[PC] Serve me well, and you have nothing to fear.~ + EXIT_STATE  
 ++ ~[PC] I appreciate and reward loyalty and trust, however misguided it is.~ + EXIT_STATE
 ++ ~[PC] I don't know if it is a weakness or a strength, but at least I know I have one person I can trust to be predictable - you.~ + EXIT_STATE
 ++ ~[PC] I will keep that in mind. I do have a reputation for doing whatever I want, though... something perhaps you should keep in mind.~ + EXIT_STATE
END

IF ~~ EXIT_STATE
 SAY ~[ARAN] I know.~
 IF ~~ THEN EXIT 
END

 

Follow-On Talks

 

So, now we have the set of 5 to deal with. We know the gist of the second conversation:

 

[ARAN] Still worried about my sister.

[PC] You are still here.

[ARAN] You still need me.

[PC] No, you still need me.

[ARAN] Oh yeah? Well, I'm going, then.

[PC] Yeah, right. big talk.

[ARAN] Welll... fine. I did get a letter.

[PC] Read it to me.

[ARAN] Nah. It was about you. OR [ARAN] Sure. It was about you. OR [ARAN] Nah. You treat me like crap. (etc.)

 

We have the PC personality chosen in the first talk to make things appropriately ranged, so in a "rigid_group" plan, Aran and PC share information about sisters focused on prophecy and the "good works" possible to be done, while in the "fun_group" there is probably some storytelling about sisterly adventures and in the "smart_selfish" group here is an attempt to pump Aran for information or manipulate him into revealing private matters, for the "strong_selfish" there is the outright demand for sharing information and the fight that comes along with it, etc. - and of course the option for the player to opt out of the discussion anyways.

Edited by cmorgan

Share this post


Link to post

Admittedly, I haven't read it all - this is not a WoT, this is Cmorgan's WoT :)

 

Instead of the constrained story, I think a game 'story' can be built out of the freedoms given to a player. The question is, can I do it without losing focus and a sense of the NPC's personality? Can a mod allow the player to construct the story (whether intentionally or unintentionally) through direct interaction and choice, with minimal pre-scribing of player intent? Basically, if we give the player enough of a "net" of interactive possibilities that remain true to an NPC's personality, can the player construct the level of hijack/secondary plot-line they want?

 

The range I am thinking about is "author-constructed fanfic unraveled by players" to "player-constructed fanfic with author-developed-and-given possibilities".

Modern technologies available aside, I think it is not possible conceptually, although it depends on how much deep you want user-generated story to be.

 

In order to get a quest going, you need a unique set of conditions. Deep and immersive quests - like 'I am your father, Luke' © - obviously require an absurd amount of said conditions, which yields a near-zero probability of them becoming true at the same time in the same place with the same character. In other words, they're basically impossible to occur, hence the reason RL people read/watch/play fiction - to experience that impossible kind of a story.

 

Creating a game-world, with everything highly detailed, even with real AI for sentient beings, will simply result in a virtual copy of RL. Sure, you can get in a fight with lowlifes, rob a bank, detonate a bomb in a Moscow, but these are not really immensive quests with good writing, are they? I haven't played Oblivion or Mount and Blade, but as far as I've heard, they're exactly like that, with generatable math quests.

 

So, what I'm leading towards? If we want a good memorable story, an author's input is alot important and valuable than player's, when it comes to construction.

Share this post


Link to post

a198E: "sooth" should be "soothe", lest I start making "forsooth!" jokes. :)

 

a198I: Need to capitalize the I in the last sentence before the player responses start.

 

N_2_O_S, inappropriate: "fore" should be "fire".

 

N_3_O_S, cruel/teasing: What's that / doing there?

 

F_1_G_S_male: "Faerune's" should be "Faerun's".

Share this post


Link to post

@Ardanis - I hear you on the WoT - I put a link in there to skip most fo the stuff so I can think out loud without folks having to actually wade through it all. On the player voice vs author voice, I see your point. And, since it is the same writer each time... hmmm.

 

@RavenBlack - Thank you! I will fix them.

Share this post


Link to post

Edits in above posts for missing dialogs in place - this post to be replaced with tested working code.

Edited by cmorgan

Share this post


Link to post

Just wanted to say this was a very interesting read.

 

As a modder, I've found myself changing how I write and structure dialogue over time. When I first started with Illyria and Iylos, my talks were sprawling, with a lot of branching and PC choice. Example:

 

// 6th PC Dialogue (Friendship)
 IF WEIGHT #-2 ~Global("LK#IylosTalks","GLOBAL",11) RealGlobalTimerExpired("LK#IylosTalksTimer","GLOBAL")~ PCD6
SAY ~<CHARNAME>, your pack is open- here...~ [LK#I231] = ~There we are, fixed.~
++ ~Did you just do something...kind?  For me?  Who are you, and what have you done with Iylos?!~ DO ~IncrementGlobal("LK#IylosTalks","GLOBAL",1)~ + PCD6_1
++ ~Thanks, Iylos.  I didn't realise it had come open.~ DO ~IncrementGlobal("LK#IylosTalks","GLOBAL",1)~ + PCD6_2
++ ~It's all almost over, isn't it?  Oh, thank you.  Ah, I wish it didn't come down to these battles- I wish there was another way to do this.  (sigh)~ DO ~IncrementGlobal("LK#IylosTalks","GLOBAL",1)~ + PCD6_3
++ ~I could have done that myself, Iylos.~ DO ~IncrementGlobal("LK#IylosTalks","GLOBAL",1)~ + PCD6_4
 END

 IF ~~ PCD6_1
SAY ~Are you insinuating that I am anything less than courteous, <CHARNAME>?~ = ~...what?  Why're you looking at me like that?~
++ ~You honestly can't have just said that.  Iylos, you're one of the most terrible people I know.  You really are.  (laugh)~ + PCD6_11
++ ~Ah...no reason.  No reason at all.~ + PCD6_11
++ ~You're being sarcastic, right?  Anything less than courteous?  Hah!  Now *that* is a joke.~ + PCD6_11
++ ~Iylos, you're a rude, obnoxious twat!  You've even admitted it!~ + PCD6_11
 END

 IF ~~ PCD6_2
SAY ~No problem, <CHARNAME>.  I just hate to see things out of order, is all.  I've noticed that you aren't the most...organised person, sometimes.~ = ~I'm just trying to help out however I can.~
++ ~I know my faults.  You don't need to lord them over me.~ + PCD6_21
++ ~I am so!  As you'll recall, it was I who organised *your* pack last night, Iylos.~ + PCD6_22
++ ~If you say so.~ EXIT
++ ~No, I'm not.  But I'm more intelligent than you.~ + PCD6_23
 END

 IF  ~~ PCD6_3
SAY ~So do I.  But it seems there is no other way, as it is...unless some miracle were to occur, we're stuck fighting.  I suppose there isn't much for it but to keep going--it's either us, or them, at this point.~
++ ~That's a rather drastic turnaround, Iylos.  What provoked this change of view?~ + PCD6_31
++ ~I know what you mean.  (sigh)~ EXIT
++ ~Whatever.~ EXIT
++ ~Well, we can always pray.~ + PCD6_32
 END

 IF ~~ PCD6_4
SAY ~I'm sure you could, but it is always easier for someone else to do it.  And I know your penchant for being unorganised; you could have forgotten about it, and lost something important.~ = ~I'm just trying to help out however I can.~
++ ~I know my faults.  You don't need to lord them over me.~ + PCD6_21
++ ~I am so!  As you'll recall, it was I who organised *your* pack last night, Iylos.~ + PCD6_22
++ ~If you say so.~ EXIT
++ ~No, I'm not.  But I'm more intelligent than you.~ + PCD6_23
 END

 IF ~~ PCD6_11
SAY ~If you say so, <CHARNAME>.  At least I can't compare to your cooking, however...simply atrocious.~ = ~Ah, but don't worry.  We have at least one consummate cook in this party.~
++ ~You can...cook?  Since when?  Why haven't you said this before?!~ + PCD6_111
++ ~My cooking is wonderful!  It is *yours* which is to be deplored!~ + PCD6_112
++ ~My cooking is fine, Iylos.  Perhaps it is your tastebuds which have failed you.~ + PCD6_113
++ ~Well, you can cook from now on then, if you are such a consummate chef!  I would be happy to give up the job.~ + PCD6_114
++ ~Lucky I'm not the one who cooks, then.~ + PCD6_115
++ ~You can always go without food, if you want.~ + PCD6_114
 END

 IF ~~ PCD6_21
SAY ~Of course I do.  *Someone* has to make sure you don't get conceited, after all.~
IF ~~ EXIT
 END

 IF ~~ PCD6_22
SAY ~Ah...true.  Even still, you're remarkably unorganised...for...~ = ~I've really lost that, haven't I?  (sigh)~
++ ~Yep.  I got you good.~ + PCD6_221
++ ~Bwahahaha.~ + PCD6_221
++ ~Don't worry about it, Iylos.  *Someone* has to make sure you don't get conceited, after all.~ + PCD6_222
 END

 IF ~~ PCD6_23
SAY ~If you say so, <CHARNAME>.  I can't say the same about you when you cook, however...simply atrocious.  (laugh)~ = ~Ah, but don't worry.  We have at least one consummate cook in this party.~
++ ~You can...cook?  Since when?  Why haven't you said this before?!~ + PCD6_111
++ ~My cooking is wonderful!  It is *yours* which is to be deplored!~ + PCD6_112
++ ~My cooking is fine, Iylos.  Perhaps it is your tastebuds which have failed you.~ + PCD6_113
++ ~Well, you can cook from now on then, if you are such a consummate chef!  I would be happy to give up the job.~ + PCD6_114
++ ~Lucky I'm not the one who cooks, then.~ + PCD6_115
++ ~You can always go without food, if you want.~ + PCD6_114
 END

 IF ~~ PCD6_31
SAY ~Extensive thinking.  Contemplation.  Listening to you.~
++ ~You mean you *do* listen to me?  Wow.  That's a relief.~ + PCD6_311
++ ~Well, it's a lovely change.  Keep it up.~ + PCD6_311
++ ~Eh.  I think I preferred the old 'stop fighting you are a horrible person', honestly.~ + PCD6_312
 END

 IF ~~ PCD6_32
SAY ~Indeed we can, <CHARNAME>.  Indeed we can.~
IF ~~ EXIT
 END

 IF ~~ PCD6_111
SAY ~Mostly because I enjoyed watching you struggle with the fire.  If you wish, I could cook, from now on.~ = ~But right now, we have a quest to be getting on with--places to go, people to see, right?  Well, lets get going.~
IF ~~ EXIT
 END

 IF ~~ PCD6_112
SAY ~Hmm.  Are you telling me that you magically procured the mushroom, uh, 'soup' that we had the other night, and didn't spend all evening slavering over the fire trying to perfect it, because it tasted like boiled cabbage?~
++ ~Yes!  I do have magical abilities, you know.  I am a spawn of Bhaal.~ + PCD6_1121
++ ~Fine.  You win.  But you're cooking from now on!~ + PCD6_114
++ ~I hate you, forever and ever, and my hatred is pure.  I hope you die painfully and horribly, on a bed of boiled cabbage.~ + PCD6_1122
++ ~It did not taste like boiled cabbage!  It tasted like mushroom!  Mushroom, damn it!~ + PCD6_1123
 END

 IF ~~ PCD6_113
SAY ~Perhaps, but somehow, I doubt it.~
IF ~~ EXIT
 END

 IF ~~ PCD6_114
SAY ~I would be more than happy to cook, if you will let me.  Because as I remember, unless you magically procured the mushroom, uh, 'soup' that we had the other night, which tasted like boiled cabbage, by the way, your cooking is terrible.~
++ ~Yes!  I do have magical abilities, you know.  I am a spawn of Bhaal.~ + PCD6_1121
++ ~Fine.  You win.  But you *are* cooking from now on!~ + PCD6_1141
++ ~I hate you, forever and ever, and my hatred is pure.  I hope you die painfully and horribly, on a bed of boiled cabbage.~ + PCD6_1122
++ ~It did not taste like boiled cabbage!  It tasted like mushroom!  Mushroom, damn it!~ + PCD6_1123
 END

 IF ~~ PCD6_115
SAY ~You have a point, there.  If you were, I'm sure we would all be long dead by now.~
IF ~~ EXIT
 END

 IF ~~ PCD6_221
SAY ~You got me good, indeed.  Always next time, I suppose.~
IF ~~ EXIT
 END

 IF ~~ PCD6_222
SAY ~Is there any point trying to argue?  (sigh)~
IF ~~ EXIT
 END

 IF ~~ PCD6_311
SAY ~I do listen to you, yes.  When it suits me, of course.  But for now, let us continue our journey--there is much to do, as I recall.  Fighting Bhaalspawn, for one.  Defeating them.  Keeping their heads as trophies, of course.~
IF ~~ EXIT
 END

 IF ~~ PCD6_312
SAY ~Truly?  Well, I shall endeavour to a 'horrible person' to you in future, then.~
IF ~~ EXIT
 END

 IF ~~ PCD6_1121
SAY ~I suppose so, yes.  But that does not account for the mess you caused, <CHARNAME>.  Surely a *Bhaalspawn* could have cleaned up?  Or perhaps not, in this case.  But for now, let us continue our journey--there is much to do, as I recall.  Fighting Bhaalspawn, for one.  Defeating them.  Keeping their heads as trophies, of course.~
IF ~~ EXIT
 END

 IF ~~ PCD6_1122
SAY ~I know, <CHARNAME>.  I know.~
IF ~~ EXIT
 END

 IF ~~ PCD6_1123
SAY ~Of course it did, <CHARNAME>.  Of course it did.~
IF ~~ EXIT
 END

 IF ~~ PCD6_1141
SAY ~As I said, I would be happy to.  But for now, let us continue our journey--there is much to do, as I recall.  Fighting Bhaalspawn, for one.  Defeating them.  Keeping their heads as trophies, of course.~
IF ~~ EXIT
 END

 

In the above example, there's a lot of catering to individual PC responses. What Iylos says is greatly affected by the PC's responses, in some cases resulting in entirely different paths through the dialogue.

 

The problem with this approach is that it takes a long time. When I wrote Iylos, I had more time to play with. Now, I find myself severely constrained in terms of what I have time for--and as a result, the approach I take to dialogue has changed.

 

An example would be from the mod I'm currently writing, a halfling cleric called Nephele. In Nephele, I made a decision pretty early on that she would not pay much attention to the PC's responses. Sure, there might be slight variations in how she responds, but essentially what she says will be the same for each playthrough. Basically, I wanted to highlight her character rather than the player's--pretty much the exact opposite of Aran.

 

This is very similar to the BioWare approach, except that I gave myself a few extra rules: there must be a minimum of 3 PC responses apart from exit ones, there must be some variation/response to the player, and each dialogue should optimally have 3 or more places where the PC can respond.

 

Doing it this way really made me conscious of dialogue structure, and actually changed how I write dialogue entirely. Instead of doing it state-by-state, for Nephele I've been writing her main state dialogue first, ignoring PC responses entirely. To illustrate:

 

[Nephele] This is the first main state in the dialogue. I'm either posing a question to the PC or making a statement they must respond to.

[Nephele] This is the second main state in the dialogue, which moves the dialogue forward and brings us closer to the actual point of the dialogue in terms of my character. 
= [Nephele] This is what the PC has to respond to.

[Nephele] This is the penultimate main state of the dialogue, in which I generally reveal the real reason for the talk, and once again give the PC something to respond to.

[Nephele] This is the final state of the dialogue, which wraps up the talk and in some cases might hint at the next.

 

This is an entirely different way of working for me, but allows me to really focus on the character. I'll then do another pass, adding the PC responses in. For PC responses, they're generally agree/neutral/disagree, with the occasional humorous response. I don't really think "good/evil/neutral" is the best way to do things here, since the focus is on the NPC, not the PC.

 

This is a dialogue created by this approach, for contrast with the Iylos dialogue above.

 

// Drunk talk
IF ~Global("LK#NepheleDrunkTalk","GLOBAL",1)~ nd
 SAY ~Dear me, it's been a few years since I've had this much to drink! In fact, I think the last time would have been not long after Davrin died... lost a few days there, as I recall!~
 = ~Do you often drink this much, <CHARNAME>?~
 ++ ~Not very often, but I won't say no to a good ale!~ + nd.3
 ++ ~I've always said that getting blind drunk is the best part of adventuring!~ + nd.1
 ++ ~I don't drink--this is a juice.~ + nd.2
 ++ ~It's not really my thing, but every now and then.~ nd.3
END

IF ~~ nd.1
 SAY ~Sixty years ago I might have agreed with you!~
 IF ~~ + nd.3
END

IF ~~ nd.2
 SAY ~Oh, so you're just getting me drunk! Well, I don't mind that, as long as I have some good company!~
 IF ~~ + nd.3
END

IF ~~ nd.3
 SAY ~This all reminds me of some of the nonsense I got up to in my youth... (chuckle)~
 = ~Oh yes, I was a bit of a--what you might call a loose woman, in my youth! Far too many young men, and far too much mead!~
 = ~Some of the things we used to do... the village elders must have hated us. Quite the wild bunch, we were!~
 ++ ~It's hard to imagine you as a 'loose woman', I have to admit.~ + nd.5
 ++ ~(chuckle) Is that so?~ + nd.5
 ++ ~Tell a story!~ + nd.5
 ++ ~Oh god, I don't want to know you were a 'loose woman'! You're over one hundred years old!~ + nd.4
END

IF ~~ nd.4
 SAY ~Don't be such a prude, dear. Everyone is young once!~
 IF ~~ + nd.5

IF ~~ nd.5
 SAY ~I remember one night, one particularly devilish young man and I drank more than a little too much, and became a little frisky... we both fell asleep in the middle of the act!~
 = ~That poor boy, my father found us the next morning, naked as the day we were born... I don't think I've ever seen someone run that fast! And his... his...~
 = ~His little John was waving about madly like a freshly caught fish! Oh, it was hilarious!
 ++ ~Hah! I bet!~ + nd.7
 ++ ~I never would have expected that of you, to be honest.~ + nd.6
 ++ ~Well, that's an image forever burned into my brain.~ + nd.7
 ++ ~In the future, remind me not to get you drunk. Gods.~ + nd.7
END

IF ~~ nd.6
 SAY ~And that's the very least of it, let me tell you!~
 IF ~~ + nd.7
END

IF ~~ nd.7
 SAY ~That was the day I met Davrin, by the way. (wink)~
 = ~It's a wonder my father ever considered letting us marry after that, but it all turned out well in the end!~
 IF ~~ DO ~SetGlobal("LK#NepheleDrunkTalk","GLOBAL",2)~ EXIT
END

 

Comparing the two dialogues, the Iylos dialogue has 23 states, and Nephele's dialogue has 8 states. That's a significant difference. To the player, however, the approximate in-game length of the dialogue is about the same. Obviously with Iylos some paths will have more and some less, but one route I can see has 7 clicks. Nephele's dialogue here has approximately 14 clicks.

 

To the player, the length probably isn't that much different. (Edit: in fact, Nephele's dialogues are longer.)

 

One argument for doing this is the assumption that players generally try a character once, and if they enjoy the dialogue, they might replay the mod--but generally it's a one-time thing. This is of course assuming that players only play mods once, which is not necessarily true. (It would be interesting to do a survey of the modding community to find out this sort of thing...)

 

It's a very different approach, and it's also a lot faster. I am able to give the one-playthrough-player more bang for their buck, at the expense of the multiple-playthrough-player. Admittedly, with Nephele this is offset by several extra dialogues that only show up in certain circumstances, but most of the time the player will see approximately the same dialogues on extra playthroughs. This is exactly like BioWare NPCs (well, I often give the player more response options than BioWare, but about the same amount of responsiveness).

 

... phew, that's the longest post I've written in a while! Hopefully it's understandable. Just another viewpoint/argument on the issue. :)

Edited by Kaeloree

Share this post


Link to post
One argument for doing this is the assumption that players generally try a character once, and if they enjoy the dialogue, they might replay the mod--but generally it's a one-time thing. This is of course assuming that players only play mods once, which is not necessarily true. (It would be interesting to do a survey of the modding community to find out this sort of thing...)

 

It's a very different approach, and it's also a lot faster. I am able to give the one-playthrough-player more bang for their buck, at the expense of the multiple-playthrough-player. Admittedly, with Nephele this is offset by several extra dialogues that only show up in certain circumstances, but most of the time the player will see approximately the same dialogues on extra playthroughs. This is exactly like BioWare NPCs (well, I often give the player more response options than BioWare, but about the same amount of responsiveness).

As a player I can't agree more. Never liked too much branching, because when it happens, I either replay the dialog to get the most out of it, or read it in the editor applicable.

Share this post


Link to post

ST_2_S_I

"especially as they are devine." Should be "divine".

 

ST_3_S

"I am not goiong to travel all the way up to Waterdeep." Should be "going".

 

SM_2_S_SHARE

"Perhps that is why we work well together" Should be "perhaps".

 

SM_3_S

"I don't understand how they do it without coersion, fear, manipulation, or showing power, but they do." Should be "coercion".

 

R_1_G_S, R_2_G_S_A

"We both care about our 'family', whether bonded by the blood of god, the blood of a normal parent, or just bonded because of our adopted companions." Should be "blood of a god".

 

R_2_G_S_A

"I don't consider Bhaal wandering around sewing his seed all over creation as creating a family." Should be "sowing".

 

R_2_G_S

"I be worried on account o' lads sniffin' 'round. not on account o' twisted power-mad villains draggin' her off." Replace the period before not with a comma.

 

R_3_G_S

"and share embarrasing stories about her until she blushes and threatens violence." Should be "embarrassing".

Share this post


Link to post
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...