I need to implement a dialog tree between a NPC and a Player where the Player will keep on making choices to determine which branch of the dialog tree to traverse. What is the best way to implement such tree? It seems that every time the Player has to make a choice, you will need to create a new conversation. This will create a lot of conversation objects. Can I create the tree in a way similar to how Dialog System is doing it? Thanks!
Comments
You haven't said how many such branches your tree will have, but in general it's actually easier to rely on separate Conversations for each "set" of available options - because otherwise you'd have to turn off all unwanted options, and turn on all desired options, using the Dialogue: Toggle option Action to get the correct ones to display.
The main thing to keep in mind is the Override defaults? checkbox that appears in the Dialogue: Start conversation Action. This allows you to create the Actions for each response within the same ActionList - making it easier to construct a complex tree, since you can have one chain of Actions reroute back to the original Dialogue: Start conversation Action, or connect to a new such Action to begin a new Conversation.
A series of tutorials on this way of working can be found here:
https://adventurecreator.org/tutorials/creating-conversation
https://adventurecreator.org/tutorials/creating-conversation-2
Yes, this is what I made out of from the menu and the tutorial videos. I can either create separate Conversation for each option set or put all the options in the base conversation and turn them on and off when needed. The first approach seems better, but my tree has dozen of branches with the player talking to different NPCs in the scene. That will result in many conversation items in the scene hierarchy, and I need to give them different names remind me where they are being used. At the same time, the Conversation item (option set) is seldom reused.
I am just thinking if the "Conversation" can become an action item (instead of having to create separately), then I can build the whole tree in the action list, keeping everything logically in one place. That would be really nice. Just like how you build the tree using Dialog System. The whole tree is one "conversation". Just a thought.
Btw, I am building an education game where the player will have lengthy talk with the NPC.
Thanks again for the great tool. It is impressive.
@PixelCrushers has also done an excellent job with integrating Dialogue System with AC, so using that instead of AC's own Conversation system is also a feasible option.