Training Stream - Making Game Ready AI, part 9 - February 2nd, 2016

WHAT
In this multi-part series, and show you how to use all of the relevant systems and features (Behavior Trees, EQS, Navigation Meshes, AnimBlueprints, AnimMontages, and more) to design, create, and optimize AI for use in a game environment with all of the requirements and restrictions that go along with that.

In Part 9, has updated the project to use a data table for stats, and cleaned up all the blueprints. We’ll be shifting over to a bit of animation, so our AI guy doesn’t just run around, but has visual feedback when he takes an action. This will require some kind of event fired from the Behavior Tree to the AI’s Animation Blueprint, and we’ll be talking ways to organize these calls between Tasks, AI Controllers, Characters, and the Animation Blueprint.

Unfortunately, won’t be able to make the stream this time, be he says he’ll be available for the March 1st AI Stream.

Part 8

WHEN
Tuesday, Feb 2nd @ 2:00PM-3:00PM ET - Countdown

**WHERE
**www.twitch.tv/unrealengine

WHO

  • Sr Training Content Creator
  • Community Manager ]()
    Feel free to ask any questions on the topic in the thread below, and remember, while we try to give attention to all inquiries, it’s not always possible to answer’s questions as they come up. This is especially true for off-topic requests, as it’s rather likely that we don’t have the appropriate person around to answer. Thanks for understanding!

Archive:

Hey - I think 's Twitter is (missing the ‘e’). Feel free to delete this post if you see it and get it updated :slight_smile:

EVERYONE SHOULD BE FOLLOWING ! <3

Thanks for the heads up! :slight_smile: Fixed it now.

@Shaddenfreude? Epic! :smiley:
Also yay for confirmed :slight_smile:

In the last video you’ve started using data tables (which are going to really be great) but you did not get far enough to store data back to them–yet. However, according to the the AnswerHub, Blueprints can’t store information back into Data Table rows (feature request pending). So, would using the structure StatStruct stored directly on the AIS_Character be the better way to store and retrieve the stats? Also, I’m using an Enum of the StatNames in order, then use the Literal of the Enum as a selector to choose the StatName I want to work with. It works well, but is there any big hit to performance in using them? It sure makes it clearer do deal with in the blueprint, but at what cost?

Looking forward to the next twitch. This is really helpful stuff, thank you!

One more request: In this series is there any you can review the Dynamic Navmesh approach used in Kite Demo for setting up navigation in a large world setting?

Hey all,

would it be interesting to get our guy to choose what food asset to choose to eat base of the stat i.e if he eats a apple it would increase his hunger & health state but then decrease his happiness stat so then he choose to eat like a chocolate bar which then increase his hunger & happiness stat but decrease his health stat for an example :slight_smile:
Then it be interesting to then make it so that a chocolate bar can only be spawned if he collects a certain amount of apples :slight_smile:

It would probably make more sense that the chocolate bar requires currency, which can be collected when he’s not chasing after apples. But I guess that’d be a bit far outside the scope of what’s been planned so far…or is it? :slight_smile:

Let’s hope not. This series could potentially be a hundred part series where and are remaking a sort of Dwarf Fortress in Unreal Engine 4. Joking aside, making AI is really awesome. Love the series guys, I could watch this forever (as long as I have the time of course)!!

Hi,
Would it be possible to upload the current blueprints after a session at www.blueprintue.com for example? Or having some public repository for any version control.

I simple have the same trouble over and over again. Watching you guys on screen and repeating on the stuff on my second. Sometimes of course I miss one or another action from you did. Than I have to browse through the video until I might will find the second you did something I missed, instead of just comparing my blueprints with your result.

The reason your animation didn’t work is because you didn’t retarget the skeletons first, which is why it didn’t show up in the list of compatible skeletons. Come on guys… that is retargeting 101.

On a side note, don’t even bother with any of the animations as they cannot be retargeted “correctly” anyway, simply because the skeletons do not have a root bone at the feet like the UE4 skeletons do. So it is near impossible to get them to work properly.

Hi there - thanks for all the great streams - really enjoying following this!
Im a bit lost tho with the latest changes made? looks very different to what i have from following the streams - i tried to copy what i could see when you looked over them but it got a little tricky!
And with some compile errors im a bit lost.
Sorry im a bit simple when it comes to all this - alternatively can we get a notepad copy of the affected blueprints?

Thanks for all your efforts - this has been a really interesting stream for AI

I was in the middle of moving some assets between folders in the editor while refactoring to matching what you had done… AND THE EDITOR CRASHED!!! I’ve now randomly lost a bunch of my assets and there is no way I’m going back through all the videos to try and recreate them.

Can you please upload the project files somewhere so I can replace my missing ones and refactor like you have so I can continue to follow along. Please!

Hello, one question about the structs and data tables. First I have 1 struct and 3 structs inside it… the idea is… struct like player information… then the sub structs… 1 struct for general things like name, class, etc… second struct for basic stats… like str agi int… and third struct for desires… hunger stamina happiness… from blueprint i can use them ok by calling them from data tables… but when i want to add some values directly from data table it doesnt look so pretty

is there a way connect tables somehow? as we do in sql with keys or something like to have a column that has another table inside? :slight_smile:

Can we have the refactored blueprint on www.blueprintue.com ? For not english people sometime could be hard to look at a minuscle blueprint window and understand what done. I’m talking about what explain from minute 49

[video]Making Game Ready AI | 09 | Live Training | Unreal Engine - YouTube

Hey guys, I might have noticed a possible bug; say you have more than one object variable type in your blackboard, say DesiredObject and Shrine. When you put in a “MoveTo” node in the tree, the node only lists the first added variable. Is this intentional? If so, any particular reason for this?

Hi mdhananjay,
did you set the Key Type of those Blackboard Keys to “Object” *and *the Base Class (you need to expand Key Type) to “Actor” in the Blackboard?

Hey guys, could someone please post a screenshot or something of the AIS_Character ? I haven’t managed to see it entirely and it’s a bit broken at the moment. Would really apreciate it. Thanks !