[RELEASED] Node AI 3 -New Update!

Asset Store

Video Guides

UFPS Demo
https://gamebucket.io/game/6cdf93f6-5df8-4365-84d7-88823686ec34

Gameplay Demo
https://gamebucket.io/game/9bd0294d-f1e8-48ae-a9e9-a92ce89f6d7d

If you have any questions, please leave them below. Thanks for checking out Node AI!

1 Like

No, not even close to the sims, right now it is definitely action/shooter/stealth orientated. I was just throwing out ideas for the future :slight_smile:

But I can say if I do include a sim style example, it would probably be more along the lines of a simple real time strategy game, rather then “The Sims”. I made a rough draft awhile back where NPCs had needs, for example if an npc was hungry it would goto the kitchen to eat, or a miner NPC would go and collect gold until its meter was full, guards would go fight enemies, etc… even had actions triggered by time of day, sleep cycles and stuff like that.

But that was pretty early on with development and for the older system, so it would take some significant time to update for the new system.

So to be clear, there are no sim examples included in Node AI 3, but if there is interest in something like this I will consider adding it in the future. but no promises :slight_smile:

Node AI 3 is out! To celebrate, I have put it on sale for the first time ever, $10 off! :smile:

Thanks for checking out Node AI!

Can you run me through how to set this up with UFPS? A video would be great too :slight_smile:

Hi There,

I don’t have any video tutorials for UFPS integration, but I do have step by step instructions in the manual. You can check that out here:

https://www.dropbox.com/s/6632cna805i3h8i/Node_AI_3_Guide.pdf?dl=0

it is towards the bottom of the manual.

thanks for checking out Node AI, if you have any other questions feel free to ask.

Hi there,
just wanted to chime in an say thank you for making Node Ai 3, don’t know why i didn’t picked it up earlier :(, damn i should have#!$%&!
… It is/was the only Ai Solution that worked without hiccups and most importantly without adding stuff that one just does not really need, a real time saver!

Am using UFPS as Base and… let me say just thank you for adding the gunsound script, it adds a lot to the atmosphere.
Anyways there are some questions/suggestions if you want that are on my mind.

1, What about Melee Agents, is it possible to make those.
2, Can A Agent use more then One Weapon/Attack and if - how? Lets say for long range Enemy uses a Gun and at closer Range it switches to its arms or a knife and trys to hit the Player.

3,a. UFPS - Could we get a script that detects the Surface sounds, like the gunsound script - make the enemys aware that something is near by when they hear footsteps. (Add optional possibility for the enemy to investigate Surface sound).
3,b. UFPS - Add Functionality for VP_Surface_ to the Enemys - so they can leave footprints/footstep sounds…

4, Are Neutral Enemys possible? - A good Example would be instead of Attacking the Player they should choose between flee and alert or just flee and hide/take cover.

Any news about a future update? would love to hear about it…
Now am not sure if the stuff above is like asking to much but since you made those nice videos and the documentation is not making my eyes sore… if something is doable in the form of adjusting some parmeters, would love to see a video about that or a additional Documentation entry :wink: Thanks

Hi j0linar,

thanks for purchasing Node AI, I appreciate it! :slight_smile:

I’d be happy to answer your questions.

So melee support and the update are tied together, as I do plan on adding official melee support with the next update. But there is good news, and bad news:

Bad news, I have been extremely busy lately, and not had a ton of time to dedicate to the node AI update and I don’t have a release date to announce.

Good news, to compensate for the lack of melee and the slow update, I am going to keep the price at $20 until the next update comes out. I am still very active on customer support, and that is not going to change any time soon, I always try to get back to customers in a day or two. When the update does come out, the price will rise back up to $30 and probably never go on sale again :slight_smile:

Updates on Node AI can be slow, but they are always major, and the next update is no different. I do have some ideas about what is going to be in there, and I think everyone will like them, but I don’t want to set anything in stone just yet… except melee, that will be in there for sure.

the quick and dirty way to do it for now is to just set the attack distance low, and swap out the shooting animation for a melee animation. This will get the job done, but won’t look as nice as you may like.

Ok, now I’ll get the other questions.

UFPS - Could we get a script that detects the Surface sounds, like the gunsound script

You can do that already, well sort of. There are two options for this “personal awareness distance” which will alert the AI within a certain distance, regardless if it can see the player or not, and “omnivision” which instead of detecting only the player in front, it will detect the player 360 around the AI.

UFPS - Add Functionality for VP_Surface_ to the Enemys - so they can leave footprints/footstep sounds…

Hmm, I will look into this. I think If I added footsteps I would use my own script though, that way people who don’t use UFPS would be able to use it.

Are Neutral Enemys possible? - A good Example would be instead of Attacking the Player they should choose between flee and alert or just flee and hide/take cover.

You can make any enemy ignore the player by just leaving the player layer of the enemies interaction layers. You can’t make the enemies flee, but I have been getting the request more and more recently, not as much as melee, but close. So I would say that is a pretty good candidate for the next update :wink:

Anyways, I hope that helps answers some questions. I apologize for anyone waiting for the next update, but I hope it will be worth the wait!

-Curtis

Hi.

I noticed that, 95% of the time, while chasing the player, the enemies always look at the player, even when changing direction in order to make a turn. Is there a simple way to correct that behavior?

Here’s an example of what I’m talking about (slightly NSFW).

Hi Dorumeka,

Yes, there is an easy way to prevent this as a matter of fact. The reason that the enemies rotate towards the player at all times kind of just comes down towards personal preference, whatever looks best for your game. In the future I will add a little option in the editor to disable this kind of rotation.

In the meantime, open up the aiMovement script, and search for

lookAtPlayer();

There should be 2 instances of this. just comment them out, change it to

// lookAtPlayer();

and that will prevent that type of rotation from happening.

Cheers,
-Curtis

Thanks, it works, but there is one issue as consequence. On arrival, the enemies stop looking at the player. Sometimes, the player moves out of their vision cones and they go back to their previous behaviors. I’d like to have the enemies not look at the player when chasing, but go back to looking at the player once arrived. Is there too a simple way of fixing that?

Also, there’s another thing, I think unrelated. Maybe 5-10% of the time, the enemies ignore the stopping distance and keep walking toward the player, even to the point of physically pushing the player (the minimum and maximum stopping distance is correctly set).
Edit: The cause of this was that the “Eyes” game object was physically inside of the enemy’s collider.

Here’s another gfycat that shows both issues. Again, NSFW-ish.

Yeah the rotation thing is kind of a pain, when I was writing the code originally I remember being a little underwhelmed by the the way the navmesh agent handles rotation.

one thing you can try, instead of

lookAtPlayer();

try

if(agent.speed == 0){
lookAtPlayer();
}

I don’t have access to node AI to test at the moment, but what that should do is make the agent rotate towards the player only when it is stopped. keep in mind they will be rotating while standing idle, so that might look a little odd, eventually you would probably want to find a good idle turn animation and put that in somehow (not sure how you would go about that, but just giving you a heads up)

The stopping distance problem, I don’t see anything obvious, that feels more like a “double check everything” type of situation. One thing I noticed is that the agent did stop running into the player after the player moved, and usually if its a stopping distance setting they just keep running into the player… so this is kind of a wild hunch, but what is your advanced settings/player update interval setting? I wonder if it isn’t updating the players position often enough… then again, that might be completely wrong… it also kind of looks like she is stopping pretty close, so you might want to increase the stopping distance a little bit just to test.

I don’t see anything obvious going on though, just looks like the stopping distance is too small or the players position isn’t being updated often enough.

Hope that helps! If you have any other questions feel free to post them.

-Curtis

Hello there!
I’m in search for an AI system capable of making complex behaviors for animals in my game.
Got interested in Node AI, for the up to date integration with unity 5.6’s dynamic navmesh.
But I would like to know for sure that how big the range of AI styles Node AI can achieve?
Most of the AI systems I found on asset store are focused on land animals alike AIs.
But I’ll need aquatic animal’s AI which will collide with terrain and avoid shore but can “fly” underwater going to a waypoint defined with 3 dimensions (which should be generated under the water surface and upper to the terrains)
And flying AIs which will need to determine whether they are grounded to use a grounded behavior or in air to use a flying behavior with faster moving speed and the ability to reach certain height.
Then there also will be animals can both swim underwater or on surface of water then walk on ground and also fly in sky(actually it’s a common duck :wink: )
Would like to know if Node AI can achieve these AIs and how much work will there be to achieve them, I can expect a great work load but still need to know if I can achieve them mainly by Node AI’s editor or a lot scripting.
Thank you for your time and hear you soon :slight_smile:

Hi there, thanks for checking out Node AI. Node AI uses the navmesh system, therefore it only supports land animals. I am pretty sure if you want flying/floating creatures you are going to have to break away from the navmesh system, and use something else for navigation.

So I can’t recommend Node AI 3, I don’t think flying/floating AI is possible with it.

Thank you for your reply!
I’ll seek other AI systems in this case, but still Node AI enlightened me with unity 5.6’s dynamic navmesh, didn’t know it before… :wink:

@cmart_1
As i was experimenting, with a lot failure :confused: i came to the idea that the following would be very well possible (if someone with enough knowledge) would incorporate it into Node AI.
Regarding Melee and Ranged Weapon Attacks … actually Attacks in general.

It all has to do with the Animation Controller, my suggestion would be to let the AI switch Substate Machines, so when AI is in a 20feet distance it can shoot with lets say a rifle and if/ when the ai gets closer lets say 5-10feet from the player it should switch to another Substate Machine one - that holds lets say pistol animations and when the AI gets 1-2feet close to the player let it switch to a third Substate Machine that holds Melee Animations.
I know this reads pretty crude but i think you get the idea, another thing to complement this would be a checkbox
like can AI perform Melee, can AI perform Ranged, can AI perform Long Range - Attacks along with the checkbox there should be a Object Slot for the Weapon Object/ Particle Slot/ Sound Slot…

Hi there,

Sorry I somehow missed this post until now. That is basically how it will work, basically you want to pause navigation movement, and if the attack animation uses root motion enabled that, let the animation play, then turn back on navigation movement. To send damage you would probably want to use animation events.

The nice thing about this is that you can use any animation you want, for any type of action your want… so you could have the character stop and open a door, for example. I’ll have examples and videos that go over how to pause movement, use root motion, and use animation events… with that combo you can do alot of stuff.

Thanks for the answer. This solutions works for me, but there’s one consequence. The NavMeshAgent’s rotation doesn’t update when LookAtPlayer is called, so when the characters move after stopping and looking at the player they turn around once more, resulting in them running but looking in the wrong direction again.

This is something that I can fix, but maybe not as well as the dev, since I’m not that good of a programmer and my solution will probably not be as elegant. So I thought I’d let you know that. Thanks!

Edit: I solved it by editing the LookAtPlayer method.

myBody.transform.rotation = Quaternion.LookRotation(newDir);

to

transform.rotation = Quaternion.LookRotation(newDir);

That’s just removing the myBody obect. I don’t know if that will screw something up, but works fine at the moment.

Is there any way we could adjust the enemies’ vision angle?

Hi,
Sorry for the late reply, I don’t always get sent notifications of new posts on this thread for some reason. The best way to contact me is at nodeaiunity@gmail.com I check that much more often.

Anyways, wanted to let you know that the next update is in the works, and its going to be a good one. It will probably be ready in a few weeks. I haven’t 100% confirmed everything that is going to be in there, but I can say I am going to give rotation a closer look, and I can add in some more vision angle options.

How well would this work in a procedural map where you can also move and throw objects?