Download

Help! Can't call bot anim BP from AI Behavior Tree RapidMoveTo

Okay first a little backstory,

I am 14 years old and for my school project I dedicated myself to make a simple horde game with my father, I hada bunch of ideas in my head for how I want my game to work and how it was going to play out, I was pretty confident I was going to get this done,
now I’m not so sure. We ran across a bunch of problems when we came to the AI and Animations. Our strategy is to look at all the UE4 Quick Start tutorials and implement them into our game, and I feel that will lead to a bunch of confusion and disarray. Currently we have
ran across these problems which I’ll delve into more in the next paragraph but we have a deadline by April 1st and we have spent so many hours on this problem to me it seems completely insurmountable. This is really the last step we have in our game and if we finish this
we should be able to do the rest of the project easy, but this is the main thing holding us back.

I am using AI behavior tree from the Behavior Tree Quick Start Guide. Once our bot (a goblin) finishes RapidMoveTo, we know he’s found the Hero and can attack. We can call a custom event in the AI Character’s event graph (goblin) and make his attack by directly playing a Play Skeletal Animation and decrement the hero’s health. But then after the attack animation he is stuck sliding in his Idle state while following us if the Hero moves away. We believe this is because our AI only knows about the AI Character but not the Goblin Anim BP which we got from the Mixamo Goblin Character.

We have also enabled a health variable for the goblins, and some of it works fine but there are some bugs, e.g. one of the goblins doesn’t disappear after we kill him, you can still attack the goblins after they are dead and they will replay their death animation. I had an idea, since the goblins shares the same class do they share the same variable in the class as well? If so, is there a way we can create an instance of a variable and assign it to each goblin?

Finally, we plan to implement wave mechanics with random spawning goblins from fixed target points, incresing the goblin count for each round and adding a HUD display when each round ends, the HUD will display “Round #” and fade away and disappear, as well as adding a enemies left counter for each round that counts with each tick how many enemies are still alive and not destroyed.

Thanks for taking the time to read my frustrating predicament. I’ve seen other videos where people use event dispatchers, is that what we are missing, and from these photos, where should we go next?

Main Character Class:
Screenshot (2).png

RapidMoveTo Task in Behavior Tree
Screenshot (3).png

AI Character Class:
Screenshot (4).png

Goblin Animation Blueprint Event Graph:
Screenshot (5).png

Goblin Animation Blueprint Locomotion State Machine:
Screenshot (8).png

Main Character Animation Blueprint:
Screenshot (6).png

AI Behavior Tree:
Screenshot (7).png

Hey,

Quick observation, in your goblin locomotion state machine you need a way to come back from attacking. I would suggest you need a way from idle to attacking and back as well.

https://docs.unrealengine.com/latest/INT/Engine/Animation/StateMachines/index.html

Dead goblins can be removed with destroy actor node and you could add a delay node so they don’t just vanish mysteriously.