Godot Version
godot-4.5
Question
I am working on a dialog system for the first time and am wondering how people generally tackle this. I am in the stage of creating an editor and the various resources I need.
My general goal is to wrap up all dialog for an NPC into a small number of “trees” which I can graft together to create everything I need, i.e., I could have a “shopkeeper” tree which gets attached to the NPC’s main tree which lets them sell you things.
So far I have four types of dialog node: Standard, Option, Conditional, and Conditional Options.
– standard and option are self explanatory
– For conditional my intention is to use this for checking data and displaying the appropriate dialog. For example if an NPC greatly likes/dislikes you different dialog would appear.
– Conditional options just extend the conditional node to add/remove options.
On each dialog node I have “flag checks” and “flags to set” which refers to a <string,int> dictionary which I plan to use to do things like check quest steps, skill requirements etc.
I might also try to use this to trigger other functionality such as a time limit for making decisions.
I am working on a 2D project, so I am specifying a dialog “member” and portrait type to tell the dialog manager what to display.
Is there other typical functionality that I might want? Most of my time is going towards the editor right now which I think is turning out pretty well. I watched a couple videos on this topic but didn’t really like how dialog is created in many of them.
So far my editor can create all my nodes, export them as a dialog tree resource I created, and can import nodes/trees to reuse and edit.
Any advice is welcomed I might publish this as a plugin if it ends up polished enough.

