Dialogue Tree with Behaviour Tree: Possible? Does makes sense? Overcomplicating?


While thinking about a npc dialogue system, I thought that if you have multiple choices to more than one NPC, write the BP to each should be a nightmare.
If you have multiple choices dialogues with different “effects” on NPC reaction, you have “roughly” a mini AI system, considering each dialogue choice the player is doing, answering in some way, well, I think you got the idea. So, I thought about use the Behaviour Tree to help guide the NPC to finish the dialogue with a player character (yes, I know it was intended to physical actions mainly LOL).

I’ve seen that we already have “tasks” to play a sound cue, so I “suppose” that extending from it to also display a text (GetPlayer>HUD>SomeUMG.SetText()) and making some way to test player choices this could lead to one more usage to Behaviour Trees.

Of course this will lead to some “DialogueStruct” with the string and “tendency weight” to evaluate choices, DataAssets to store/easy create them… (lots of guessing, don’t read enough about BTs yet).

I think it’s feasible, but would Behaviour Tree “easily” support such change/addition?

Thank you.

PE: Here’s a link on Gamasutra about the theme if someone more get interested: To Gamasutra.