Jump to content
  • Advertisement
Jman2

Tactical Circle System

Recommended Posts

Hello,

Games like Assassin's creed and various others position enemies around the player in a meaningful way, I have been wondering how this problem is generally solved. The way i solved it in a previous project was to use UE4 EQS with a Backend system to register attackers into a List. They each would request an attack each tick until the system returned a "token" stating they are now able to attack, this was to reduce the number of attackers to say 2 at a time each with there own offset. The attacker would enter an attack radius defined by there min and max attack distance and perform there attack then back off to an appropriate approach radius signifying they were no longer an active attacker.

However im wondering how other programmers have approached this and weather there are any suggestions to improve this system such as maybe using attack weighting to define which enemy gets an attack as opposed to just handing them out in a first come first serve basis. Also the expensive path finding each time the player moves all the AI's have to re-evaluate the EQS points and create a new path to them.

Note: UE4 and EQS are not specific to the question just a background of my exerpeince as this type of system could be implemented in a custom engine or unity etc.

Thanks!

Share this post


Link to post
Share on other sites
Advertisement

One common way is to have a specific set of position locations that automatically surround the player. These can be marked as "reserved" when a future combatant claims them. They then move to that position. That handles the creation and maintenance of the "kung fu circle" as it is often called. Anything else can then be used for determining who in that circle attacks. Often, one person enters and stays until they are downed (thus summoning the next one in) but other times, they will do an attack or 2 and back out allowing someone else to enter. This way feels a bit more natural and also has the game mechanic of keeping the player searching the circle for who is coming next. Much of that is design-dependent, though.

I've used another way using my influence map system where people won't close that last X meters if the is already too much of a crowd right next to the player. Also, since I use my Imap system for spacing, this has the effect of automatically spreading folks in a circle around the player. That is, they are finding a place that is 1) close to the player, 2) away from allies, 3) close to them. The Imap system streamlines all of this easily. Additionally, it has the effect of being far more scalable in that enemies will space roughly equally apart no matter how many there are. If everyone was just picking a nearby slot in the template, they may stand closer together in some cases and leave gaping holes on the other side. Also, if there are more enemies than can fit in a single perimeter, they end up stacking up deeper away from the target.

I give these as ideas rather than solutions since my Imap system is a huge, well-polished system. I don't expect people to recreate it out of nowhere.

Share this post


Link to post
Share on other sites

Yes i watched your GDC GW2 video which was very interesting. The solution i ended up with uses fixed points of influence so if an enemy is standing on-top of a points it will drop to a score of 0 and distance to other points depending on how close will be slightly less favorable. I feel the EQS/Tactical Positioning points work well to some extent. However it has weaknesses when compared to your influence map especially the infinite resolution method which can provide quite big benefits for things like your example of where to throw a grenade etc.

Share this post


Link to post
Share on other sites

Note that my full Imap system was not covered in the GW2 video. I spoke a full hour on that at the last AI Summit though. (4 days before I was almost killed.) That one is not available for free on the Vault yet.

Share this post


Link to post
Share on other sites

Im very sorry to hear about that, glad your okay though. It would be great to see that talk drop on the vault at some point in the future! 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!