Announcement

Collapse
No announcement yet.

[Tutorial] Artificial Intelligence Essentials

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    [Tutorial] Artificial Intelligence Essentials

    Hello Community!

    It's been quite awhile since I produced a new UE4 C++ tutorial series(nearly 2 years!). I've been quite busy with life and struggle within those times.

    I want to announce the new tutorial series I will be releasing in the next couple days will be UE4 C++ Artificial Intelligence Essentials!

    Things that I will go over in this series(ALL IN C++!*Except for the BB and BT*):
    1. AIController
    2. BTService
    3. BTTask
    4. BTDecorator
    5. Blackboard(BP)
    6. Behavior Tree(BP)


    I will post my video on this thread and on my YouTube channel. I have made an announcement video along with a BIG Thank you to everyone who helped support and fund me to get to GDC 2016!



    IF THERE'S ANYTHING WANTED TO BE ADDED TO THIS SERIES, PLEASE RESPOND ON THIS THREAD

    I look forward to responses and critiques!

    Cheers!

    CHADALAK1
    Portfolio/Tutorials: http://chadreddick.com

    #2
    Hi,
    it sounds very interesting!
    You could include later the Utility node plugin, that seems to be very useful for decision evaluation by weighting or behavior variation: https://forums.unrealengine.com/show...rity-weighting
    Edge of Chaos RTS
    "Age of Total Heroes" - RTS Pathfinding and Movement System for UE4
    RTS Camera C++ Tutorial

    Comment


      #3
      I was just looking for something like this, I'm a bit lost on AI, I'm not sure how to make everything work togheter (BT, BBs, enemy class, enemy anim bp) the way it was intended by ue4 developers.
      In particular the place you store state is a bit confusing to me, should you put state information (flags like bIsAttacking) on the enemy class (which would then be accessible by the anim instance class) or inside the bt blackboard?
      Also I saw there are bt nodes to play animations, isn't that what the anim blueprint is for? I don't quite get it.
      I hope your series will clarify these things, I already saw your weapon essentials series and I found that very informative.

      Comment


        #4
        Unreal Engine 4 C++: Artificial Intelligence Essentials Part 1: The Base



        I hope this series so far helps everyone in need of help with C++ AI! There will be more to come from building off from this !
        Portfolio/Tutorials: http://chadreddick.com

        Comment


          #5
          Nice we have resources to learn. I have just started and I am wondering why you chose to explicitly add a UBehaviorTreeComponent in your controller instead of using the existing UBrainComponent?

          Comment


            #6
            Originally posted by ChaoSXDemon View Post
            Nice we have resources to learn. I have just started and I am wondering why you chose to explicitly add a UBehaviorTreeComponent in your controller instead of using the existing UBrainComponent?
            I use UBehaviorTreeComponent because I can call the function StartTree to tell the AIController to use a particular BehaviorTree. If I use UBrainComponent, it doesn't have the StartTree function in it's class. Either way, UBehaviorTreeComponent inherits UBrainComponent
            Portfolio/Tutorials: http://chadreddick.com

            Comment


              #7
              Originally posted by CHADALAK1 View Post
              I use UBehaviorTreeComponent because I can call the function StartTree to tell the AIController to use a particular BehaviorTree. If I use UBrainComponent, it doesn't have the StartTree function in it's class. Either way, UBehaviorTreeComponent inherits UBrainComponent
              Use AIController method:

              bool AAIController::RunBehaviorTree(UBehaviorTree* BTAsset)

              Comment


                #8
                Originally posted by ChaoSXDemon View Post
                Use AIController method:

                bool AAIController::RunBehaviorTree(UBehaviorTree* BTAsset)
                Good call! That would also work as well .
                Portfolio/Tutorials: http://chadreddick.com

                Comment

                Working...
                X