Branching Dialogue - Remembering Previously Displayed Branches
Posted: Wed Nov 08, 2023 7:47 pm
I've seen a few threads on here that are similar to what I need, but I haven't found a way to implement it that's scalable for my needs.
An example of my dialogue looks like the below image, which is pretty typical of my NPC conversations. The player approaches the NPC, gets sent on a quest, comes back and then converses. The larger middle segment is that conversation and is mostly where I'm getting stuck. In my game, the player has 3 choices early in the conversation. Once that choice is used it should not be presented again in the future. So while there are effectively 9 available branches of conversation total initially, only 3 conversations can take place over time - as defined by the first 3 branches.
Up until now I have just been using variables to determine which dialogue branches have or have not been "used" already. Obviously this doesn't scale at all.
I'm wondering what a good, manageable, and scalable implementation for this would look like. How would I go about it? I did see something about "sim" which I thought might be relevant, but I couldn't make heads-or-tails with that, so I could be completely wrong.
Thanks!
An example of my dialogue looks like the below image, which is pretty typical of my NPC conversations. The player approaches the NPC, gets sent on a quest, comes back and then converses. The larger middle segment is that conversation and is mostly where I'm getting stuck. In my game, the player has 3 choices early in the conversation. Once that choice is used it should not be presented again in the future. So while there are effectively 9 available branches of conversation total initially, only 3 conversations can take place over time - as defined by the first 3 branches.
Up until now I have just been using variables to determine which dialogue branches have or have not been "used" already. Obviously this doesn't scale at all.
I'm wondering what a good, manageable, and scalable implementation for this would look like. How would I go about it? I did see something about "sim" which I thought might be relevant, but I couldn't make heads-or-tails with that, so I could be completely wrong.
Thanks!