Planned Asset Store Pack : First-Person Shooter AI Kit

EDIT: Workin’ on something else now! Tactical Shooter AI - Asset Store Pack - Community Showcases - Unity Discussions

awesome news!
im looking for good shooter ai for my project
good luck :slight_smile:

I’d love something that could be dropped in for Nightfall, one request though - can you work with the built-in Unity navmesh (i.e. use NavMeshAgent, etc…). My current AI code abstracts itself from implementation specifics, so anything I’d use would need to be built to the same standard.

Thanks. :slight_smile:

Hmm. Well, the dynamic avoidance and such obviously won’t work. Strafing and dodging might not either. That said, I don’t see why the cover and patrolling and such wouldn’t work with Unity’s navmesh.

The pathfinding is completely separate from the target/goal location selection, so you could just access those variables (cover and patrol waypoints) and feed them to the built-in navigation system.

What features have you implemented? Assuming they’re within the scope of the project, I see no reason why I couldn’t try and include them.

I’ve completely re-written the pathfinding alogrithm. Twice. :slight_smile:

Here’s a screenshot containing some profiler data. As you can see, the framerate is in excess of 600 and it would be higher if it weren’t for rendering. It takes significantly less than a millisecond to find a path. Can anyone guess when I was making a call?

When you felt like it?

Well, you’re not not wrong. :slight_smile:

I suppose you rolled your own path finding solution because you don’t own Unity Pro (?), thought I’d be really interested in a speed comparison of your solution and unity’s navmesh.

Do you plan any features to “customize” the AI? As in a behavior tree like fashion…then again that would probably make two assets for the store. ^^

Right now I’m focusing on the pathfinding aspect. I have a list of stuff I want the AI to do, but I don’t quite know how I want to do it yet.

And yes, I do have Pro… but you can’t generate a Unity navmesh at runtime (which I need for my level editor). I haven’t thought of doing any speed comparison tests; I’ll have to give that a shot soon.

He mentioned that he was using the profiler and the pictures of his work show the dark skinned Unity theme…

Ran a few tests, and I immediately noticed a key difference between my pathfinding and Unity’s built-in pathfinding. Namely, that my dynamic obsticale avoidance actually, well, works. [Bonus: My pathfinding support obstacles that are not cylinders]

The red capsule (powered by Unity’s built-in pathfinding) has just been sitting there, doing nothing. As you can see, it has plotted a path straight through the cube.

A quick stress test.

I had to add 139 individually operating agents before the framerate dipped below 60. Each was making one pathfinding call every half second, so if extended that time to one second, I could theoretically double the number agents. Why you would actually need 278 enemies, I don’t know. :slight_smile:

Science and Explosions. That’s two good reasons.

1 Like

Good reasons? Those are great reasons! (Although if I push it too far, the exploding thing might be my computer…)

Anyways, I did some work on the static cover map. It subdivides the graph into rectangular cells (the maximum size can be determined by the developer). It then places a node in the center of each one. This will allow me to pre-compute the lines of sight, and allow me to improve the performance.

Picture:
1427689--75568--$Cover1.png

In addition, I’ve developed a rudimentary target selection algorithm, which randomly selects an enemy , preferring those within a specified range. I also smoothed the path following. This makes the enemies take wider turns, accelerate and decelerate slower, and make paths that are actually jagged appear straight (See the picture at the top of the thread for an example.)

Sorry for the lack of updates; I’ve been spending most of my time working on level design for my game.

Finally finished the cover map; I spent far too much time writing a massive, convoluted method to detect corners before suddenly realizing how to do it in 10 lines. D’OH!

No to actually make it… do something. :slight_smile:

looks interesting

hopefully at some point be in unity asset store

My team and I are very interested!

Glad to hear it, guys! if you have any feature requests, feel free to throw them my way. :slight_smile:

What I would like to have is a way to have multiple melee attacking and ranged attacking enemies infront of the player. And have them avoid eachother. I believe your dynamic avoidance already covers this to some extend, but they should also have some sort of formation, so perhaps all of them attack in a half-circle infront of the player.
Oh and since you where asking for it… multiplayer support by default would be nice. :smile:

I think I can do that. Will keep you posted when/if it gets implemented. :slight_smile:

Gah! Knew someone would ask for that, lol. I may do it, but, TBH, it’s not likely. I’ve never even made a multiplayer game before, let alone a releasable-able piece of middleware. Still, you never know.