Download

Rama's Multi-Threaded Dynamic Pathing System, Full Physics Support

Really am loving all the updates :slight_smile:
It is a shame I cannot frequent the forums more.
Sooo much eye candy and knowledge in your threads (and others).

-Jeremy-

Food for thought

Hi Rama! :slight_smile:
I’ve been a long time (lurking) watcher of this thread and figured I’d say hi and put in some input on your system thus far :smiley:

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 :smiley:
  • 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 :wink:

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 :wink:

[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 :cool:

Star Citizen now uses their middleware as well :smiley:

Anyhow,
My point to all of this 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:

[HR][/HR]**
P.S.** How’s things going with your AI pathfinding system by the way, I hope all is well?

Sounds like you were able to dive very deep into the engine.

What are the advantages of this over the built in pathfinding using nav meshes?

@Benjaim.Smith

lovely to hear from you Ben!

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.

Rama

awesome__span.jpg&stc=1

Rama’s C++ AI Jumping System

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!

  1. I am using just C++ coding, no helpers in the editor!

  2. 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/watch?v=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 this video is multi-threaded using the UE4 C++ Task Graph system:

UE4 Wiki Link

Enjoy!

Rama

Great stuff as usual!
This would be especially awesome for monster AI, which would make it very challenging for the player to hide or escape. :slight_smile:

Awesome ! :slight_smile:

You gave me a great idea!

I’m going to have the AI simply try to push the player off of ledges!

That’ll be fun!

Hee hee!

:heart:

Rama

Enjoy video of my most entertaining Jumping AI Work so far!

Full description

:slight_smile:

Rama

Hyper Intelligent Golden PhysX Balls

Did you know I trained physics simulating Golden Balls to use the UE4 Pathing system?!

What you see in this video is not programmed via matinee or editor helpers!

It’s all UE4 nav mesh pathing + my PhysX path following component!

In the video I am drawing the UE4 path thet they are following!

Hee hee!

Rama

AI Jumping To Reach Goals

Training PhysX Characters to navigate narrow ledges!

In this video I trained my Physics-simulating AI units to stay on narrow ledges!

My final algorithm to do what you see in this 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 this 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/watch?v=d7mAhStMABo

Enjoy the video!

Rama

PS: Yes I did say **PhysX-y**! You know what I am talking about!

Wow Rama this is some awesome stuff! <3

Been a while since I’ve had a chance to check out your works, awesome as always Rama. Keep it up! =)

Hee hee! great to hear from you CosmicGiant!

Thanks SE_JonF!


**Featured on Epic Twitch Stream Today**

**Epic Twitch Stream Link**
http://www.twitch.tv/unrealengine/b/641812681

Have fun today everyone!

https://www.mediafire.com/convkey/a416/xh2a0w6qocsc9xb6g.jpg

Rama

56ea31df16c7301ec4e385019dadc9711ebacf87.jpeg

Great endeavor here.

PhysX Simulating Characters Pathing Over Dynamically Generated Ledges!

In this 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 this 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

This 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!

As I say in my conclusion to the video:

Yay for UE4 Navigation Rebuild-At-Runtime!

:slight_smile:

Rama

**Rama’s In-Game Level Editor

(bump of above video)**

Enjoy!

Rama

Nice new stuff ! :slight_smile: