Hey sorry it has been a while, but really love the progress you have made on your system! Also congrats on becoming ‘Elite’ with your 1000th post!
Have you done any analysis on the performance difference between using the nav system and your implementation, with your code only I mean, not slowing it down for so you can see how the AI is deciding it’s path (I think I read you had to slow it down for showing in video a while ago, correct me if I am wrong though)? If you are able to compare it, your system may be too advanced for a real comparison!
Actually my current implementation is a hybrid of my own systems + UE4 nav mesh system, I am basically extending the UE4 system to do fancier things!
By subclassing and extending the base UE4 nav components I can use all of their functions and the nav mesh functions as tools to build my own complex AI systems!
It’s going very very well actually!
I even got the UE4 nav system to work for the AI units in my game that is a physics-based multiplayer game, where the AI unit is always simulating physics! I had to also use a custom character movement component for that though
is a very sophisticated high tech demo of ranged AI units using a very special mesh provided to me by forum member !
After the first round of Sheer Intensity, you will see 's animation skills at work to animate the co…I mean ranged unit!
Many thanks to for the ranged unit model, you can find a download link to it earlier in thread!
Thanks !
**Gameplay Balance**
**Please be aware, I've carefully balanced unit, though it may require a bit more testing.**
Team Based Area of Effect Explosions
video also is a demonstration of Team-based AOE damage, where the melee allies of the ranged unit dont take damage, but opposing units are sent flying in all directions if they are not out right returned to their natural Tree-dom.
For those of you new to thread, video below and the description explains one of the core aspects of what I’ve been doing with AI in UE4, which is setting up targeting system and completely automated behavior where a human player is not even involved!
Here below you see my RTS units going and attacking RTS buildings, picking paths and spreading out to cover more surface area!
@ - sounds like you have everything needed to make a truly dynamic character controller. All that’s left mainly is making the character “walk on raycasts” (use two per foot IMO) to determine when they are falling/in air, and also a center of gravity calculation. If the COG is not over the feet, make the character fall/ragdoll in the direction of the COG. It’s possible to do some extremely awesome stuff with a truly dynamic character like that. You’d want to use the PhAT collision rather than a capsule in that case as well, to get even more out of it.
Actually these characters are simulating physics already so they are using PhAT collision, you are talking about the rolling spheres or something else?
[FONT=Comic Sans MS]Dynamic AI Jumping For Shortcuts
In video I am demonstrating the use of Navigation Mesh Point Projection to identify shortcuts for the navigation path that require jumping!
When you see my AI jump to take shortcuts to their goal in video, it is not pre-determined!
I am dynamically calculating whether the AI should take a shortcut by jumping, and then overriding their normal pathing system so that they pursue the shortcut instead.
Toward the end of the video you will see them jumping pretty high to reach their goal that is on higher ground!
I did all the coding for in C++ in my custom navigation component classes and the character class
When the AI unit is following the jumping shortcut I do the code in the character class, and turn normal pathing off.
While in normal pathing, I am running my own custom navigation point project line tests to check for shortcuts, which is what those lines of dots are!
I stop as soon as higher ground is found that has pathing on it, and redirect the AI to use shortcut!
**Navigation Point Projection**
involves taking a 3D world space point, and using a volume extent to check if there are any nearby points in the navigation mesh that are within the z value of the extent.
In way I can check if higher or lower ground has pathing, and is thus viable to path to via a jump!
Finding the best shortcuts and telling the AI to use them involved a loooot of C++ coding on my part hee hee!
Thank you to Epic for USTRUCTS so I could expose all of to Blueprints and keep the data organized in code without creating additional classes!
is impressive, nothing else would I expect from you ^^
As I assume it’s fit for your client needs and will be only available to him/her (at least is what I assume), I do wonder if it worked with custom movement like double jumps or dashing or more accurate how hard would it be to implement?
But as I said: impressive work, keep it up!
Hey how much C++ code have you had to parse thru and write to get all stuff working? I’m probably about to go down a similar route and am glad to see that it’s not impossibly difficult to go deep down into the pathfinding system and override stuff in C++. Any advice on what classes and functions to look out for on that journey? I’m also running into the need for weird pathfinding on dynamically generated terrain with agents that will need to find jump points and such. I thought I was going to have to dynamically generate nav link proxies, but it seems your solution is equally robust as a different option.
**Video Of 's Jump Pathing AI**
In video, my AI is dynamically finding jumping routes without any help from nav links, runtime-created or placed in the editor!
I could make a whole new level setup in about 5 min and they would perform in the same way they do in video!
/0GX-1x-wACI
:)