Help with system of conversation progression

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
Saper
Posts: 52
Joined: Tue Jan 12, 2021 11:25 am

Help with system of conversation progression

Post by Saper »

Hi Tony

I want to create a progressive dialogue and check how many conversations with NPC were finished.

For example:

Mike has 4 conversation options
On the first interaction, 1st conversation starts and at the end of this conversation we show the player that the 1st conversation has been completed
On 2nd interaction it should play 2nd conversation, etc.
On the 5th interaction, the 1st conversation should start and there should be no message at the end of it (because it already has been marked as completed)
User avatar
Tony Li
Posts: 22093
Joined: Thu Jul 18, 2013 1:27 pm

Re: Help with system of conversation progression

Post by Tony Li »

Saper
Posts: 52
Joined: Tue Jan 12, 2021 11:25 am

Re: Help with system of conversation progression

Post by Saper »

Hi Tony

Thanks for your answer! Now, let's go further: some conversations will be accessible only in specific chapters. And if the player talks to this NPC in the next chapter those conversations will not be accessible but at the end of interaction they should still be added to completed conversations.

For example:
Mike has 5 conversations:
1, 2, 5 are accessible from Chapter I onwards
3 is only accessible in Chapter II
4 is accessible from Chapter III onwards

So in chapter I the conversation flow would look like this:
1 -> 2 -> 5 (number of completed conversations: 3)

We don't talk with this NPC in chapter II.

In chapter III let's say we only talk once with that NPC; they will start from conversation 1 and at the end the number of completed conversations should increase by one (because all previously missing conversations in the chain should still be added to the overall number of completed conversations with that NPC)
User avatar
Tony Li
Posts: 22093
Joined: Thu Jul 18, 2013 1:27 pm

Re: Help with system of conversation progression

Post by Tony Li »

Personally I like to keep all dialogue logic in one place -- the dialogue database. So my approach would be to always start the same "hub" conversation. From there, use Conditions and cross-conversation links to go to the appropriate conversation for the current chapter and whatever other conditions you have. So my approach would be to:

1. Create a variable to keep track of the current chapter.

2. Set up the hub conversation like in How To: Use Group Nodes To Reduce Condition Checking Time, first branching on the current chapter number. Each of those branches could further branch based on more detailed state information in each chapter.
Post Reply