I’ve been using Maya/Unreal for a few years now for Character Animation and ArchViz. Love the engine, love the community, love the endless possibilities. I’m competent on the visual/audio aspects of design, but am hitting a massive wall on the programming side. Specifically, AI bots.
It seems that I get a few hours into a tutorial only to find they are calling functions that don’t exist in the editor. Either because of updates or what-have-you. I try to find what seems like they’re using, but the function breaks down further down the tree for the same reasons (missing outputs, missing options for classes/functions). The only solution I can come up with is installing earlier versions of the engine to practice those functions, but then I lose out on the lighting and rendering options that come with each engine update. Worse still, when I do move over to a later version eventually, how will I carry over what is essentially going to be out-dated knowledge?
I’m reaching out to the community to see if there is a better way to grind through this. I’m not looking for a one-stop solution. I am going to learn Blueprint Scripting. I just want to stop hitting what seem like project-killing roadblocks at every turn. If anyone can help point me in the right direction (even if its “don’t start with AI, go simpler” or “stop using the latest engine all the time”), it would be massively appreciated. I’ve tried everything from the Unreal Docs to forums to in-depth videos.
tl;dr: Can’t get a single AI controller tutorial to work. Tried a few. Functions missing. Am **** at programming.
Sadly I can’t give much advice on the engine side of things. The engine is object of change and nodes will frankly continue to appear and dissappear. I will also not tell you to “just go simpler and ditch AI”, because it will be a topic, which will appear over and over again. It is also problematic to get a blueprint or C++ programmer to work on your stuff all the time. I understand from where you are coming from.
I created now my fair share of own AI’s and there are things in the default AI system, which it basicly can’t do. Use a navigation mesh on something which is not on the default Z-axis or horizontal? You can forget it. The behaviour tree system is pretty convoluted to work with in combination with blackboards and most of the time people don’t even know, how things work and what they actually do. I am not dragging the engine through the mud (because I frankly love it), but there are severe limitations with the default system. That’s why we have to use it and code in our own logic. The engine is an multi genre engine, which enables people to use the navigation system in many cases. But this multitasking comes with a cost and that’s limiting the AI’s potential in reducing the amount of interactions you can do with it.
To be honest: Dissect the nodes, which are responsible for the logic behind the default AI system. Recreate the functionalities by structuring your nodes to do your bidding in terms of AI. I think learning about, how AI’s actually operate might be much more useful to you then watching randomly tutorials.
Here is a link form a tutorial, where a flying AI (no navmesh) is being made from Peter L. Newton:(It is a two-parter)
It might give you some insight of, how AI’s work in the background.
Sorry that I can’t help with it more. I could create a tutorial based on the default engine’s AI, but it won’t help you, if EPIC updates their engines again. If you would specify, what you actually want to do with the AI, I might think of a different solution, which is more engine independant :).
Thank you for the response! Your statement about this being a “multi genre engine” with limitations is pretty eye opening, and helpful. I never considered the fact that a one-size-fits-all engine would obviously come at the cost of finer details. With this in mind, I’m going to start taking into account what the engine is not designed to do out-of-the-box, and work my way up from there. I’ll also spend more time on BP fundamentals, so I can understand why functions are being called, and possibly find alternate approaches. Peter Newton is VERY informative, by the way. Thank you!
What I was having issues with was getting AI to do ANYTHING, specifically basic path-following. I spent today following Epic’s Live Training videos ( Basics of AI | Live Training | Unreal Engine - YouTube ), and I finally have guys running around the default map!
My ultimate goal for AI is to have creatures roaming around my levels. Birds, animals, etc. Eventually something like a companion bird for the main character, that can carry out specific tasks either on command, or on its own in certain conditions.
I consider Unreal Engine as the ultimate story-telling/experience tool available today. I’m not looking to make the next open world massive-AAA-Sandbox Megalith, I just want to make some thought-provoking surreal environments to roam in, with simple visual/action based puzzles to keep things interesting. Think Silent Hill/BLAME! meets ThatGameCompany/TeamIco style of experience (with a fraction of their talent, obviously). I understand Blueprints (and eventually C++… which terrifies me, lol) are the key to making that happen, so I will focus on that for the next few months!
No problem. I’m glad that I could be of some help. I can very much understand you frustration, because there are tutorials out there, which kind of skip the explaining part, how AI’s function and what their limitations are. I am in the process of making a hack and slash tutorial series from scratch (including the assets from my hack and slash prototype and custom made assets for the tutorial) and while I record I notice frequently that I have to explain some things midway to give some sort of context. I think it might be easy, but I have to constantly remind myself that I might have to deal with people, who are working with the engine on day 1. And just not giving the viewer context and a proper explanation is for me a no-go. I am not so arrogant to believe that I am the best tutorial mentor ever, but a tutorial is for teaching people, how to construct/build functionality and not to showcase my own skill :).
In regards to your bird companion: It is totally possible. This would however require a custom made AI, because navmeshes don’t work in the air. Newton’s tutorial should help you further with your flying companion. And for your ground animals, you could use the characer class, a navigation mesh and the “Move to Location” node or “AI move to” node. Best make a copy of the third person character blueprint and replace the mesh with your animals and customize the character blueprint. For roaming behaviour you could use the “Get random point in navigation radius” and plug it into the “location” pins of either of these 2 nodes mentioned. Just keep in mind that the character blueprint class has a movement component, which updates on tick. Letting loose 40-50 of them will probably start to tackle the system. You might end up needing to create your own swarm AI at some point, but this method might work, if you don’t intend to massively spam animals :).
And if all things go wrong, just ask again for help :).