What ways do you use to track complex outcomes on quests?
Here’s an example I am working on.
A town, recently diminished by a plague, has two slaves, a mother and a child. Neither know where the other is. The mother is okay (ish) but the child is in stress. The quest is to help the mother, the child or both. We can pick up the quest in the following ways.
Meet the child
1.1 Having first met the mother
1.2 Having not met the mother
Meet the mother
2.1 Having first met the child
2.2 Having not met the child
We can can carry out the quest in several ways
- Help the child without finding out about the mother.
- Offer to find the child for the mother.
- Help the child and find out about the mother and not bring the two together
- Help the child and bring the two together
- Help and free both mother and child.
- Refuse to help the child (in which case a companion will finish the quest while the party waits and give outcome 3.
- Not offer assistance to the mother but help the child.
- Never actually meet the mother but help the child.
I can track/control this with the journal entry and local variables easily enough but I have come across this several times before and these quest are a pain to debug. How would you plan out such a quest? I am thinking perhaps a database in excel could be used for the journal entries and to track all outcomes?
Just wondering how you all do this? Also how is this handled professionally? I guess, in a perfect world, I would do some sort of decision tree diagram and plan the quest that way. I may go down that route.
I’d certainly start with a decision tree.
I’d also break the logic down into binaries (e.g. Refuse to help the child TRUE/FALSE) and store the quest state as a set of those binaries (I sometimes use the journal entry number as a bit flag, but then I’m old school).
It helps to have central library functions that do all the conditional logic and binary setting. If they’re all in one place, you only have to get it right once. Since conversation scripts don’t allow parameters, you will still have multiple conditional and action scripts, but they can all refer to the same library.
I wrote a tutorial about using custom tokens in the journal entry, which might help here.
Well, my two cents : do it with your own logic, don’t try to mimic someone else logic.
If you feel comfortable with flow charts and bit flags do it that way. Needless to say it implies memorizing all flag positions.
As for me, when it comes to kind of zebra puzzles where the player talks to many NPCs the order he wishes to gather many clues, I use local variables and the journal like you. Usually I use the same local variable name for every involved NPCs, for instance “Clue”. So you know if NPC A has talked before NPC B.
If the quest is rather complex, I use a spreadsheet for helping my memory
Remember that you can copy/paste from one convo to another. So when you have set a conversation flow you can copy it to another one and just alter text, conditional and actions.
While this is giving me brain ache, I still wonder why you offer help to the mother but impose it on the child whether they want it or not?
Also where is the option for the mother to refuse any offer of help for whatever reason.
On further thought I think I know why I’m struggling with this. There are questions that are not being asked. In other words we’ve got the THEN part but don’t know the IF that led to it. So what questions?
Why would this path be taken?
What makes this path unique?
Where two paths are similar, where do they diverge? What made them diverge?
Will taking one path exclude back-tracking and taking another?
And for path 5 especially. What is the PCs motivation? Is slavery legal? If it is that may preclude Lawful types from taking this path. Note I said may. Circumstances can alter this such as their religion.
Sorting those underlying questions should go some way to solving your quandry.
You’re correct, I did not expand on all the possibilities here. I need a few more strings to make it correct.
I checked this out thanks it’s a good tutorial though I am not sure it is the right way for me to work.
I am going to try a decision/logic tree and see if i can use excel to track it all. Always before I have muddled through adding options in layers and often got in a mess. Let’s see how a bit of planning helps.
Oh boy PJ is working on new module. I hope it is Soul Cage, Chapter 2. I really like your other modules. I know this was off topic, but just had to tell you that I really like your other modules a lot.
For the “decision tree software”, I recommend using “mind mapping” software. I happen to use FreeMind but there are other free mind mapping tools out there as well.