Download

Behavior tree usability improvements

Hi dev team:

I have been tinkering with the whole AI workflow for a coupe of months now, and I find out there are some areas that really need some usability improvement:
1. blackboard selector key type variable in AI tasks.
The whole get/set blackboard variable as xxx value is unnecessary, instead of make task variable type as “blackboard key selector”, we could just select the variable type(int, float, etc) as usual, then provide “black board key selector” as a check box option. Then we won’t ever need get/set blackboard variable as xxx value again.
2. Allow us to set blackboard value inside the behavior tree editor!
Set these blackboard value inside AI controller is counter intuitive, why can’t we set default value inside the blackboard window, then allow us to modify them inside behavior tree editor? AI controller could still modify blackboard according to runtime needs, though.
And please also consider add a feature to expose whatever inside the blackboard to actor level, so we can modify these value not only on the fly but also open doors to better data driven AI workflow.

I will add more as I work deeper into my project, I know usability improvement some times are low priority to engine developments, but some times these improvements save lives!

Best Regards
Kenyon

The major problem with AI, in my opinion, was following verbatim all the semantics determined by “AI experts”.
This whole thing with blackboards and trees are completely unnecessarily and after a year or so I began to skip it all completely and building AI directly within normal Blueprints C++.
That stuff all is great on paper and for talks independent of whatever language or tech AI developers are using, but it isn’t an ally to productivity in actual development process, in fact to me it all only gets in the way and I rather not waste my time on Earth dealing with this thing anymore.

Hi

I kind of agree and disagree at the same time. I know you can implement the whole AI thing in blueprint and get all the benefit of blueprint. But behavior tree is easier to understand to designers (Not every designer is capable of make decent blueprints) and for myself I can set up a proper workflow which my fellow designers can use behavior tree to setup AI behaviors, then I can setup both higher AI management logic and lower AI tasks in blueprints. If only we can get this workflow smarter!

Yes I get it.
The thing for me is that after becoming familiar with capability to implement Visual Logger from anywhere in C++ and also becoming familiar with running my own parallel threaded C++ code I realized I just don’t need to deal with Behavior Trees and Services anymore; but I understand why many rather keep using them.

It has been 4 months since my last post. It has become apparent to me how AI is a low priority in Epic’s engine development(It doesn’t even has it own forum section). Maybe the dev team could at least open up composite nodes for blueprints so we can at very least use blueprints to bring more improvement to the table ourselves? A single random selector or utility/priority selector would bring so much possibilities!