Should Behavior Trees for AI be used despite C++?

Hehe… Feel free to code your own AI architecture. Then when you’ve done it and finished raging at how **** it is, come back and re-read this.

BT’s are one option for decision making and no magic bullet, but they do serve a purpose in terms of being relatively easy to understand, relatively performance and relatively battle tested. The fact that you can debug them helps a lot (check out the visual logger, breakpoint the BT etc).

Now they do have some downsides, but you can add different flavours of functionality to them pretty easily (Utility for instance). Also, why not just code your stuff using C++ as BT nodes? That way you feel comfortable creating them in a language you know, but you still have the structure and flexibility of the BT architecture? Have a look at the runtime/aimodule/behaviortree? code and make your own BT services, generators and nodes.

Trust me, hand-coding AI is just a bad idea.

1 Like