Hello guys. I’ve been working on some AI. My setup is as follows:
-
I have an AIController with a lot of blueprint exposed methods that read data from the PerceptionComponent of the controller.
-
A Behaviour Tree that makes use of the blueprint exposed methods of the AIController. For example, my controller has a method IsFiring() and in the BT I have a custom decorator that BTDecorator_IsFiring that internally uses AIController::IsFiring().
What bothers me is that in this way I barely have a need for a blackboard since I get all the needed data for the BT from the AIController. My AI logic is currently simple and this “workflow” works but I get the feeling I’m misusing the system and abusing it and that will bite me in the long run. Can you guys see any flaws in my approach? I can force myself to the blackboard more, but I will have to introduce BT services to update some Blackboard values instead of directly getting them from my AIController(data from the Perception component).