Reply To: Any of Utility AI nodes out there?

NodeCanvas Forums General Discussion Any of Utility AI nodes out there? Reply To: Any of Utility AI nodes out there?

#15046
anton petrov
Participant

Thx Gavalakis,

Yes, going with blackboard variables as utilities (weights) is okay for simple cases. And probably I am going to start with that for my AI.

The full solution can be deduced from these two articles:
http://www.gameaipro.com/GameAIPro/GameAIPro_Chapter10_Building_Utility_Decisions_into_Your_Existing_Behavior_Tree.pdf
http://www.gameaipro.com/GameAIPro/GameAIPro_Chapter09_An_Introduction_to_Utility_Theory.pdf

The ultimate idea is to make nodes which return not only Status but a floating-point result. Then we could implement different nodes: considerations, evaluators (curves) and any other type of node which generates or modifies input utility value (a float). Currently it looks like all these is a mix of initial Conditions which generate weight and Calculations which modify the weight and all of these can be implemented via FlowCanvas but passing produced weights to a NodeCanvas’s Selector will require a dozen of blackboard variables.

Evaluating and executing utility-based logic is a two step process: first we evaluate utility values then use them to perform corresponding actions. Using two subgraphs (one which sets variables and another one which uses them) is possible but not an ideal because adds some complexity and is not user-friendly. I guess we want to see desicion weighting and the action in a single graph branch but currently I do not see an elegant way to hack it into the NodeCanvas…

Only because I love NodeCanvas and its editor I am looking forward to hack it somehow to add this extra functionality and am asking if anything similar already exists 🙂