nagidev / DialogueNodes

A plugin for creating, editing and using branching dialogues in Godot
MIT License
438 stars 26 forks source link

Suggestion: Make dialog variables fool proof and have better case managment, (ConditionNode and SetNode) #32

Open GeminiSquishGames opened 6 months ago

GeminiSquishGames commented 6 months ago

I was thinking about the conversation we had about the conditions node. I have a suggestion. How about it be a options button that contains the current variables in the DialogTree Resource's variable list? That would help accidental typos and the user doesn't have to remember a complicated list of names as well as not having to use {{variable}} to get the value. It also stays within style, since that's how you are handling characters' names in DialogNodes.

That also brings up the SetNode functionality. It may be a good idea to make the same arrangement for SetNode, giving it a drop-down with defined variables, so that variables that are not in your DialogTree resource's variable list are not separate from SetNode variables that are declared and could be forgotten and lost. Think of it as programming since you are creating a proprietary node-based logic tree and use programming concepts, that will help fix problems down the road. This is also pretty common for how dialogue systems and visual novel engines work. Well, I hope these are helpful ideas.

GeminiSquishGames commented 6 months ago

Another thought was an EvaluateNode. I understand the ConditionNode and SetNodes useful behavior in taking in string statements and evaluating them. I think having a node that can take in a string and evaluate it then set an existing variable would be good too and retain how the nodes work right now, while keeping the Conditions and Set Nodes slim as they don't have to do any extra work or casting to and from strings which is fairly expensive.

nagidev commented 5 months ago

Good lawd these are amazing ideas. I'll start work on them as soon as I fix the bugs from the other issues. Thanks!