Hi !
I’ve been a long time (lurking) watcher of thread and figured I’d say hi and put in some input on your system thus far
I think one of the next steps to truly level-up your AI system would be to add cooperative AI goals for AI to accomplish certain tasks they could not do by themselves. You can for example have:
Have 2 AI work together to push up the other AI to a previously inaccessible ledge.
Detection that a fellow AI is in trouble than seek out & protect it using a swarm/hive-mind type behaviour e.g. a medieval game where all the AI with shields lock into each other when a arrow-storm is upon them
A physics based object is blocking the path to an objective and the AI can work together in numbers to move the obstacle.
And much much more
I believe another improvement you could make and which would be pretty straightforward to implement, would be the ability for AI to recognise edges of an object when path-finding and depending on whether it is above or below, decide whether to climb up the ledge or drop down the ledge/hole to the level below.
Just for giggles you could perhaps make an ant colony AI path-finding system to allow AI to allign themselves into structures to get to previously inaccessible heights e.g. making a human pyramid/ladder/slop.
Food for thought
[HR][/HR]
Moreover,
Have you heard of Kythera AI? I’ve been following them since Umbra was first announced as a showcase piece on Crydev.net back in the day
Star Citizen now uses their middleware as well
Anyhow,
My point to all of is that you might be able to gain some new ideas for your own AI path-finding system and perhaps also work out ways to make improved versions of features within Kythera AI for Unreal Engine 4.
Some interesting Case Studies you should consider reading:
I am uploading my latest AI Jump Pathing video right now!
I’ve used both, UE4 pathfinding / navmeshes are awesome!
My Custom Support for Huuuge AI Creatures and Terrains!
In the project for my book on UE4 C++ I use both UE4 pathing and my own nav mesh generation system + pathfinding C++ system (multi threaded of course) because the creatures in my game are huge and I wrote my own nav mesh generation algorithm to support huuuuge areas of terrain.
Here’s my latest video of my C++ AI Jump Pathing system!
I prove to you in the video that I am using just multi-threaded C++ to dynamically calculate AI Jump pathsfor my AI units to follow the player through many complex jumping sequences!
I am using just C++ coding, no helpers in the editor!
Listen to me make lots of funny noises as my AI jumps all over the place!
3. Watch my AI do things that amaze me!
**Video**
https://youtube.com/sMMSQdnyt6o
Once again, I am doing all the jumping calculations **dynamically via C++** using the nav areas and my custom path following component!
Mult-Threaded
The code I use in video is multi-threaded using the UE4 C++ Task Graph system:
Training PhysX Characters to navigate narrow ledges!
In video I trained my Physics-simulating AI units to stay on narrow ledges!
My final algorithm to do what you see in video ended up being only about 3 lines of code!
I show before and after video segments so you see what I achieved!
I did all of with a C++ custom UE4 path following component, using the UE4 navigation system.
**My Goals**
**Goal 1: **To enable PhysX-simulating characters to use UE4 Navigation system
**Goal 2: **To enable such PhysX-simulating characters to not fall off of every ledge as they try to path along narrow ledges to get to the player, without cheating / using Editor helpers or making it look artificial/clunky! The final movement still needs to look natural and PhysX-y !
**All goals achieved by end of video!**
https://youtube.com/d7mAhStMABo
Enjoy the video!
PS: Yes I did say **PhysX-y**! You know what I am talking about!
In video you get to watch as I construct a section of level using my in-game level editor tools!
Then my physX-simulating ball characters are able to path over the ledges using the ledge-path AI I developed and demo in a prior video!
**In-Game Editor Tools**
Again video is a fun demonstration of my in-game editor tools that are used to build levels while the UE4 Editor is closed!
Watch my AI units easily path over and through these **runtime user-generated** sections of level!
UE4 Nav Mesh Rebuild At Runtime
video shows off how good UE4 rebuild at runtime is, as you watch the AI find my player unit amongst dynamically generated pieces of level that you watch me build during the video!