Jump to content

Kiting enemies or "How not to do AI"


Recommended Posts

Kiting is what happens where you design AI to ONLY attack targets. Basically, they have one priority: to try and kill you.

 

When AI is designed in this way, they do not "know" how to disengage, switch targets, run away or use advanced tactics to counter your attempts to kite.

 

Kiting specifically can only happen when you have an attack with sufficient range and you can perform this attack in tandem with walking away from your opponent, either while using a ranged weapon like a bow, or while swinging a melee weapon and walking backwards (with enough reach that your opponent cannot counter attack). Kiting happens A LOT in games where movement speed differences can be large, or can be created to be large using spells that slow or hasten movement.

 

But really, kiting is the really the lack of AI, because 'intelligent' things quickly realize they aren't going anywhere by letting someone kite them. In any online game where you can kite intelligent human players, they tend to take cover and force a situation, retreat, or simply try to preserve their life against an unbeatable foe. All of these responses should be programmed into a game where kiting might be a possible strategy. At the very least, you would hope enemies would have a "survival instinct" of some kind which would imply their animal-intelligence. Not that I personally like it when all my foes cower and run in fear when I fight them - that's usually boring - but they should be more intelligent than an animal with rabies (who have suffered the degeneration of their ****ing brain).

Edited by anubite

I made a 2 hour rant video about dragon age 2. It's not the greatest... but if you want to watch it, here ya go:

Link to comment
Share on other sites

If every combat scenario had them calling out for buddies, then eventually that would get predictably boring (to me) too.

 

I think when taking to extreme, the end result of calling for help could end up looking very similar to those rediculous "mob trains". (For those who played the first Everquest, one of the most terrifying word you can see in the chat window is, "TRAINNNN"

 

Back on topic. Part of the problem is that there is no reason for a range guy not to kite. They should have implement a penalty for poorer aim while firing on the move or give more combat moves if the range character is stationary like aimed shot for bows or option to overcharge spell if the wizard doesn't move.

Link to comment
Share on other sites

Another think I definately DO NOT WANT is aggro mechanics.

 

Don't mistake MMO AI with SP AI. But I get what you are saying.

 

Aggro = Aggression

 

I think it makes sense if my Wizard would throw a Spell that kills the enemy team Healer, that the entire enemy team would focus and be more aggressive against my Wizard because they both appreciated the Healer as a valued member and because it was a vital figure taken down by an equal vital figure.

 

Chess can have aggressive tactics. But yes ultimately I'm with you, no MMO Aggression (I should be able to intercept an enemy tthat gets "annoyed" at my tactic). When a Developer makes an AI do they play it and record it or do they just add values, code/script?

Link to comment
Share on other sites

AI and pathfinding in IE games is literally the worst thing I have ever seen

 

Either you don't know what the word "literally" means or you've never seen what happens when you start you car with a cat sleeping under the hood.

 

Oh, but on the subject of kiting, it does seem like a pretty cheap tactic, I feel like if I was a guard and saw one of my coworkers go running off with his sword drawn or just suddenly fall over with a bunch of arrows in him I'd be a little concerned.

 

I don't see how it's "cheap," it's more a function of AI stupidity than anything. It's less cheap than the alternative, like in Dragon Age: Origins where kiting is impossible. i.e. You're given control to move a character freely, but if you move that character out of the path of a charging ogre (they make it rather obvious that they're preparing to charge,) they'll still get hit and knocked down even if they're well out of the path of the charge as it happens, arrows turn midflight and home in on you, etc. If you move out of the range of an AOE spell before its been cast, you'll still get hit by it in DAO because you were in the AOE when the AI chose the target, even if the character you're controlling wasn't the target (not surprisingly, the AI there couldn't cast AOE spells without specifying a character to cast it on, rather than an area,) Some people complained about being able to kite in DA2 on the grounds that it made the game too easy, but kiting is a choice, not an inevitability, and it's more fair and more believable than homing arrows and melee attacks that fly 50 feet through a rock wall to hit a character.

 

 

Another think I definately DO NOT WANT is aggro mechanics.

 

Don't mistake MMO AI with SP AI. But I get what you are saying.

 

Aggro = Aggression

 

I think it makes sense if my Wizard would throw a Spell that kills the enemy team Healer, that the entire enemy team would focus and be more aggressive against my Wizard because they both appreciated the Healer as a valued member and because it was a vital figure taken down by an equal vital figure.

 

Chess can have aggressive tactics. But yes ultimately I'm with you, no MMO Aggression (I should be able to intercept an enemy tthat gets "annoyed" at my tactic). When a Developer makes an AI do they play it and record it or do they just add values, code/script?

 

If the AI were realistic, all aggro would always be focused on healers and offensive spellcasters as long as they're alive, unless you somehow made it impossible for them to reach/hit that character (unlikely.) So actual realism (the enemy AI acting the same way an experienced human player would in a given circumstance,) isn't necessarily the ideal direction if the game is to be any fun.

Edited by AGX-17
Link to comment
Share on other sites

If the AI were realistic, all aggro would always be focused on healers and offensive spellcasters as long as they're alive, unless you somehow made it impossible for them to reach/hit that character (unlikely.)

 

That's if AI was clever, which is not quite the same thing.

If it's something like a berserk ogre, realistic might be just attacking the nearest opponent, or even the nearest ally if the nearest enemy is too far.

Edited by Jarmo
Link to comment
Share on other sites

We seem to be reverting to "kiting" when the OP appears to have intended "pulling" to be the topic of discussion, and something that I was (at the time) shameslessly guilty of during my original playthroughs of IE systems. It is kind of ludicrous that I can recall pulling single enemies out of a group of 10 to their impending doom. This is certainly something I would like to avoid in PE. I do not believe however, that finding clever ways to single out individuals should be entirely avoided. I believe the term to use here is "as intended". Rather than exploiting an antiquated aggro system (for lack of a better term), I feel there should be a way for individuals to be drawn away from the group, ambushed, or otherwise singled out....as the devs intended. These could be through numerous means....stealth, distractions (Mark of the Ninja comes to mind), traps.

 

Video games have evolved in the past decade that isometric RPGs have been absent. Let the game mechanics reflect that please?

Do not criticize a fish for being a turtle when it is, in fact, a fish.

Link to comment
Share on other sites

Following along in this discussion, I'd really like different enemies to have varying levels of AI, dependent upon a stat like their intelligence. I don't mind pulling or kiting one or two enemy types, but I don't want it to be a playstyle for the whole game. Similarly, I don' think anyone here would disagree that having varying levels of difficulty when dealing with enemies can always be fun. Having to change strategies because of a different AI is fun.

  • Like 3

My blog is where I'm keeping a record of all of my suggestions and bug mentions.

http://hormalakh.blogspot.com/  UPDATED 9/26/2014

My DXdiag:

http://hormalakh.blogspot.com/2014/08/beta-begins-v257.html

Link to comment
Share on other sites

Combat-wise Im kinda casual player, but from my experience, probably biggest complain I want to point out was that extremely easy way how to dispatch Trias, by simply hiding Morte in corner, use his taunting and then simply make meelee wall through which our enraged Deva cannot pass but ignores the damage he takes in futile atempt to squeeze through to slap that skull.

"Have you ever spoken with the dead? Called to them from this side? Called them from their silent rest? Do you know what it is that they feel?

Pain. Pain, when torn into this wakefulness, this reminder of the chaos from which they had escaped. Pain of having to live! There will be no more pain. There will be... no more chaos."

 

 

Kerghan the Terrible,

first of the Necromancers,

voyager in the Lands of the Dead.

Link to comment
Share on other sites

Combat-wise Im kinda casual player, but from my experience, probably biggest complain I want to point out was that extremely easy way how to dispatch Trias, by simply hiding Morte in corner, use his taunting and then simply make meelee wall through which our enraged Deva cannot pass but ignores the damage he takes in futile atempt to squeeze through to slap that skull.

 

As someone who quotes Kerghan, I have respect for you already :) But yeah, I agree. I don't necessarily care much to force "difficult" battles on other players, but I would like a variety of AI for the enemy, just so players have to think more than trying the same old strategy over and over again during combat. Combat isn't supposed to be grindy in this game, so it'll be nice to try more AIs.

My blog is where I'm keeping a record of all of my suggestions and bug mentions.

http://hormalakh.blogspot.com/  UPDATED 9/26/2014

My DXdiag:

http://hormalakh.blogspot.com/2014/08/beta-begins-v257.html

Link to comment
Share on other sites

I used to start off BG1 with just PC and Imoen and we would kite the ogre with the belts and/or any other foe that was too strong to take on toe to toe at those low levels - I never considered this cheap - the ogre in particular would break off from our "rabbit" to attack the archer and we would just switch and the archer then became the rabbit and the rabbit became the archer I always thought it was good strategy in taking down a strong single melee oriented foe.

 

The lousy pathfinding may have contributed somewhat to our success but enemy pathfinding was no worse than party pathfinding so I'd consider that an even field of play. :yes:

 

I would not want to see all instances of either kiting or pulling removed - nor the option to retreat for that matter when you run across a foe you have no chance to conquer...

Nomadic Wayfarer of the Obsidian Order


 

Not all those that wander are lost...

Link to comment
Share on other sites

I used to start off BG1 with just PC and Imoen and we would kite the ogre with the belts and/or any other foe that was too strong to take on toe to toe at those low levels - I never considered this cheap - the ogre in particular would break off from our "rabbit" to attack the archer and we would just switch and the archer then became the rabbit and the rabbit became the archer I always thought it was good strategy in taking down a strong single melee oriented foe.

 

The lousy pathfinding may have contributed somewhat to our success but enemy pathfinding was no worse than party pathfinding so I'd consider that an even field of play. :yes:

 

I would not want to see all instances of either kiting or pulling removed - nor the option to retreat for that matter when you run across a foe you have no chance to conquer...

 

Yeah I agree. I don't think dumb ogres should be able to understand the fact that they're being kited. Or maybe they do, but they aren't sure what to do about it. Ultimately you probably could kite them even if they kept changing their targets. But a dragon or something smarter should know better than to keep kiting you.

 

similarly, a moronic goblin might not know to call his friends while patrolling down the hallway, but I would hope a hobgoblin would know that it shouldn't ever attack a party all by his lonesome.

 

Zelda did this with its goblins in skyward sword... see 4:30.

http://www.youtube.com/watch?v=ZbeoRK9r07Y&feature=youtu.be&t=4m30s

Edited by Hormalakh

My blog is where I'm keeping a record of all of my suggestions and bug mentions.

http://hormalakh.blogspot.com/  UPDATED 9/26/2014

My DXdiag:

http://hormalakh.blogspot.com/2014/08/beta-begins-v257.html

Link to comment
Share on other sites

Again it's not Kiting or pulling in general that we are against. It's the exploitation of the games mechanics to achieve something that just isn't plausable. A dragon is not going to sit there wondering where all of it's lackies are going as they wander off one by one followed by their blood curdling screams. A troupe of Kobolds, or goblins...sure! But it should not be applicable to most enemies and most certainly not intelligent/sentient ones.

  • Like 1

Do not criticize a fish for being a turtle when it is, in fact, a fish.

Link to comment
Share on other sites

Well, I'm kind of against kiting in general. I mean, basic dance micro to get a vulnerable character to safety is cool and all, but **** kiting-based fights.

 

Aside from attacks of opportunity and better pathfinding and AI, different movement speeds for different creature types can really help (or hurt) there. No reason every giant or bear or whatever the **** has to run at the speed of PC.

  • Like 1
jcod0.png

Link to comment
Share on other sites

But really, kiting is the really the lack of AI, because 'intelligent' things quickly realize they aren't going anywhere by letting someone kite them. In any online game where you can kite intelligent human players, they tend to take cover and force a situation, retreat, or simply try to preserve their life against an unbeatable foe. All of these responses should be programmed into a game where kiting might be a possible strategy. At the very least, you would hope enemies would have a "survival instinct" of some kind which would imply their animal-intelligence. Not that I personally like it when all my foes cower and run in fear when I fight them - that's usually boring - but they should be more intelligent than an animal with rabies (who have suffered the degeneration of their ****ing brain).

 

I'd argue that kiting is actually the end result of RT implementations. The AI has to compete with player input, game state checks, some degree of sound/graphics processing* for a slice of each second. Each unit representing it's own AI.

 

AI requires complicated algorithms to achieve good results, complicated algorithms require time and horsepower. So the AI in any RT system is going to end up with deficiencies simply because it's severely resource limited. Tossing some more processors at it helps, but ultimately, you end up bound by the amount of processing that can occur in around 1 second. Which isn't nearly as much as people think it is with AI, since AI generally consists of NP-complete problems.

 

*While GPU's and hardware sound chips handle most of the processing on their own, the CPU still needs to process the triggers for the graphics at the bare minimum and depending on the implementation may process part of the job as well, older GPU's and on-board sound often require CPU resources during processing.

Link to comment
Share on other sites

Of all games, Skyrim: in how the bandit chief would go "bah, it was probably just rats" and go back to doing his stuf if you managed to stay hidden, nevermind the arrow stuck deep in the back of his skull.

 

lol @ this. I recall a point in the game where there were 4 people sitting at a table. I snuck in, slit 1 of their throats and immediately hid as my victim's face fell into his spagetti. The other 3 stood up, saying "WTF?!?! Hmm, must be rats, and sat back down with the dead guy." Then I slit the second one's throat, and so on. Ended up getting all 4 with neck cuts, but I gotta say, it was pretty hilarious seeing the last guy sit back down at the table with 3 dead guys saying, "must be rats."

 

If situations like this MUST exist, please introduce neck-cutting ninja rats into the lore of the world.

Edited by BetrayTheWorld
  • Like 3

"When a true genius appears, you can know him by this sign: that all the dunces are in a confederacy against him." - Jonathan Swift

Link to comment
Share on other sites

But really, kiting is the really the lack of AI, because 'intelligent' things quickly realize they aren't going anywhere by letting someone kite them. In any online game where you can kite intelligent human players, they tend to take cover and force a situation, retreat, or simply try to preserve their life against an unbeatable foe. All of these responses should be programmed into a game where kiting might be a possible strategy. At the very least, you would hope enemies would have a "survival instinct" of some kind which would imply their animal-intelligence. Not that I personally like it when all my foes cower and run in fear when I fight them - that's usually boring - but they should be more intelligent than an animal with rabies (who have suffered the degeneration of their ****ing brain).

 

I'd argue that kiting is actually the end result of RT implementations. The AI has to compete with player input, game state checks, some degree of sound/graphics processing* for a slice of each second. Each unit representing it's own AI.

 

AI requires complicated algorithms to achieve good results, complicated algorithms require time and horsepower. So the AI in any RT system is going to end up with deficiencies simply because it's severely resource limited. Tossing some more processors at it helps, but ultimately, you end up bound by the amount of processing that can occur in around 1 second. Which isn't nearly as much as people think it is with AI, since AI generally consists of NP-complete problems.

 

*While GPU's and hardware sound chips handle most of the processing on their own, the CPU still needs to process the triggers for the graphics at the bare minimum and depending on the implementation may process part of the job as well, older GPU's and on-board sound often require CPU resources during processing.

 

That's absurd. Why is it then that other games like RTSs can employ effective AIs (at least better than these older games)? Those games are also RT. There has to be an AI in the first place for the processor to ... process it. Without a strong AI, you get these situations occuring. With a more robust AI, the game wouldn't allow for kiting. If the processor couldn't work fast enough, the game would slow down, but AI still wouldn't be as ridiculous as it is.

Edited by Hormalakh

My blog is where I'm keeping a record of all of my suggestions and bug mentions.

http://hormalakh.blogspot.com/  UPDATED 9/26/2014

My DXdiag:

http://hormalakh.blogspot.com/2014/08/beta-begins-v257.html

Link to comment
Share on other sites

Kiting is as much a matter of unit design as it is of AI. Kiting is huge in RTS'. It's not a matter of AI ineffectiveness - I'm talking about player-vs-player here - but instead is because some units have more micromanagement potential than others. Vultures (grenade-launching hoverbikes) kite zealots (dudes with swords) into oblivion because zealots have shorter range and can neither catch the vultures nor run away from them. It's ****ing painful if you're the victim because there's usually **** all you can do about it, and taxing for the person doing the kiting because every click going towards the kiting micro is a click not going towards macromanagement or whatever else you need to get done. One of the absolute best games of Brood War I ever saw was based entirely on a player micromanaging a single dragoon against wave upon wave of slightly-shorter-range enemies pouring in to his base.

 

A slow moving melee enemy is inherently kiteable, and no amount of improvements to its AI can change that.

jcod0.png

Link to comment
Share on other sites

Seeing as this thread keeps slipping into the issue of actual kiting I'll bite and personally I disagree Tamerlane. We're not talking about a RTS with basic unit commands. This game is ultimately a RPG and so all enemies should feel like they are part of a living breathing world, meaning they should be able to assess a situation and make tactical decisions based on what they can determine about the enemy. Even wild animals use basic "tactics" though we describe them as isntinct. For example, a lion stalking a herd of zebras doesn't immediately attack the fastest and most physically menacing target it sees. Instead it focuses it's efforts on the lame/sick/young.

 

I'm bringing this up because in application to RPG combat an enemy should not mindlessly chase after the plate covered juggernaut in Boots of Speed +2 simply based on the fact that he has "aggro". They should instead be able to ascertain not only who the largest threat currently is but also who the weakest is, the most opportune target, as well as which enemy their skill set is most optimal for. Granted (and this goes back to my previous post) not all enemies are going to have as developed of "targeting" skills and will still follow the kill nearest threat approach, but even a stupid goblin should be able to understand "I can't catch this guy...let's try someone else.". Of course AGAIN...the difficulty level of actually implementing that into a video game is something I have no knowledge of and could be a huge factor. I'm simply stating an ideal end result.

Do not criticize a fish for being a turtle when it is, in fact, a fish.

Link to comment
Share on other sites

Some of it relates to what the enemy AI is programmed to react to (and how) and I'm not seeing where discovering this and then designing tactics to exploit a weakness is a bad thing.

 

IIRC NWN2 had many enemies reacting by attacking any foe that caused them damage. This lead to scenarios where you could play tag with one by having two different archers attacking from different sides - each time an arrow would hit the enemy it would turn and run towards the archer that hit it but before he got there he would be hit from the other side and change directions and go for the other one until he died without ever reaching either one.

 

Your party members often did the same thing IIRC unless you took control of them and forced them to attack a single foe.

 

Now I'm no programmer but it seems to me that no matter what sort of AI gets programmed for the enemy that as a functional thinking human (well on a good day maybe) I am eventually going to see that enemy A seems to always act in a certain way under certain circumstances which means he may have a weakness to tactic B or C.

 

The question is when I figure this out am I abusing the AI or just paying attention and forming good tactics to counter a weakness I have seen in the way this enemy operates?

 

The AI is never going to be so robust that you can't find a solution but isn't that the whole point of the game - to find solutions to defeat your enemies in order to stay alive and complete the story?

 

Now I get it that finding a corner or something that the enemy can't figure out how to get around and then attacking from that place until he dies is a glitch in the game you are exploiting but just finding weaknesses in the manner in which your enemies operate seems more like good tactics to me - just like choosing to take out your enemies spellcasters first or sending a heavily armored melee fighter to disrupt a group of archers or blocking a doorway.... or kiting a boss with a nimble tough to hit rogue type while the rest of the party focuses ranged attacks on him... :yes:

Edited by wanderon
  • Like 1

Nomadic Wayfarer of the Obsidian Order


 

Not all those that wander are lost...

Link to comment
Share on other sites

Seeing as this thread keeps slipping into the issue of actual kiting I'll bite and personally I disagree Tamerlane. We're not talking about a RTS with basic unit commands. This game is ultimately a RPG and so all enemies should feel like they are part of a living breathing world, meaning they should be able to assess a situation and make tactical decisions based on what they can determine about the enemy. Even wild animals use basic "tactics" though we describe them as isntinct. For example, a lion stalking a herd of zebras doesn't immediately attack the fastest and most physically menacing target it sees. Instead it focuses it's efforts on the lame/sick/young.

 

I'm bringing this up because in application to RPG combat an enemy should not mindlessly chase after the plate covered juggernaut in Boots of Speed +2 simply based on the fact that he has "aggro". They should instead be able to ascertain not only who the largest threat currently is but also who the weakest is, the most opportune target, as well as which enemy their skill set is most optimal for. Granted (and this goes back to my previous post) not all enemies are going to have as developed of "targeting" skills and will still follow the kill nearest threat approach, but even a stupid goblin should be able to understand "I can't catch this guy...let's try someone else.". Of course AGAIN...the difficulty level of actually implementing that into a video game is something I have no knowledge of and could be a huge factor. I'm simply stating an ideal end result.

I think you missed my point with the RTS stuff.

 

I play RTS' sometimes. I'm better at making in-game decisions than the AI is. So are all the people I play against .We do assess the situation and we do make decisions based on what we can determine about the enemy. And sometimes, my units - and/or the units of my enemies - get kited into ****ing oblivion. Because that's how the units are designed.

 

Units that go after "the weakest, most opportune target" are nice and all, but take BG2. How many enemies there can actually catch up to any of your characters? And if they do manage to catch up, can they actually pin them down for more than just a single attack (which forces them to stand still, falling behind again)? These are failings not of the AI - I mean, the AI was pretty limited, but that's not the issue - these are failings of the basic design of the enemy.

 

What I'm saying is that smart AI applied to incapable NPCs doesn't really help them at all. If it's not faster than you or doesn't have a greater range than you or some other extenuating circumstance, all the AI in the world will not help it.

jcod0.png

Link to comment
Share on other sites

Yea i get what you're saying and how it could apply to the game. I guess I wasn't really factoring in that you were considering all party members to be lightning fast or otherwise unreachable. To the extent that you are presenting it I do agree with you. NPCs should not be handicapped by mechanic flaws that are inherent with RTS combat and that is something we will have to rely on the devs to take into account as well. Picking up on how you mentioned that attacking will cause a character to stop any movement that would certainly cause an issue regardless of speed though so I don't think that the solution is as linear as "make the enemy faster". In reality most (if not all) of us are entirely out of our league concerning mechanics issues and the necessary steps to relieve them and I don't think this concern is nearly as simple as "Do X to fix Y" but more of a "We are worried about this being an issue and we THINK this is why it is".

 

You definitely have a point however that you could give the computer an actual human brain and the NPCs would still be limited by their "physical" stats. The question is how do you fix this when the computer's opponent is an omnipotent and omniscient being with no adherence to the rules of time?

Do not criticize a fish for being a turtle when it is, in fact, a fish.

Link to comment
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
×
×
  • Create New...