AI and Auto-Combat Balance Discussion (SP and MP)

We’ve moved over to the paradox forums. Please come visit us there to discuss:
You can still read the collective wisdom - and lolz - of the community here, but posting is no longer possible.

Home Forums Age of Wonders 3 Discussions AI and Auto-Combat Balance Discussion (SP and MP)

This topic contains 31 replies, has 12 voices, and was last updated by  Gloweye 8 years ago.

Viewing 30 posts - 1 through 30 (of 32 total)
  • Author
    Posts
  • #115600

    ExNihil
    Member

    OK Fellas,

    I know I am not the first to discuss these issues – I’m sure it was done in many forms and by many ppl before. That being said, I would like to have a discussion with you guys about how to improve the AI in auto-resolve situations.

    I think a major components of the game’s imbalance in MP games is the way the game resolves auto-combat. I don’t exactly know what calculations are done and in what manner (please tell us if you know!), but form my impression it is fairly safe to say that the strategy underlining these is simply a direct charge at the enemy – thus Cavalry units get pulverized unless you have a lot of heal on your site, and t3 units can die on t1 units in battles you would’ve never got to 50% health on manual.

    I think it is really necessary to make auto-resolve more intelligent by introducing several general formations of strategies that can be picked up. These could either be limited to 3-4 options that are universal or be class specific. They could be also subject of research, which will unlock new formations and so forth. This way the player could tell the game to charge his cavalry units or take a more ranged approach and so forth, and this will effect the results.

    Such a scheme could become rather complex, like the battle cards system in Endless Space for instance, but at first it could be more rudimentary and simply help with this pressing matter.

    #115603

    Dr_K
    Member

    I think a major components of the game’s imbalance in MP games is the way the game resolves auto-combat. I don’t exactly know what calculations are done and in what manner (please tell us if you know!)

    I’m pretty sure the calculations are just a standard AI vs AI fight if you were to watch on the tactical map. There is an option to watch what happened after the auto-combat, but I doubt it is really used in MP, time-constrained situations.

    Everything I’ve seen is mostly in line with what you’ve mentioned. Most units just charge, healing is used, spells are cast. One thing to keep in mind is that the AI does not know how to use all abilities so some units lose mobility and certain tactics (think Phase on Unicorn riders).

    I think it is really necessary to make auto-resolve more intelligent by introducing several general formations of strategies that can be picked up.

    I vaguely remember BBB mentioning something about the devs are looking into different play styles for the AI on the Strategic Map, but I don’t know if giving the AI different playstyles in Tactical was included. It would be nice to have different ones as to change things up and be able to not lose cavalry all the time. Obviously, this will be quite complex unless the existing AI can be tweaked to get different (but still effective) behaviors.

    They could be also subject of research, which will unlock new formations and so forth.

    The only way this should be implemented is as a game option, and even then it seems a bit silly. Cluttering up the randomized research with more spells/upgrades would be stupid for single player and some multi-player games. And the other problem is that most players, I think, would want the auto-combat options to be available from the beginning when clearing is more important as opposed to having to find the research option, dedicate the research to it, and then put it to use. By then it would probably not be worth the investment, when that research could be put towards actual techs.

    #115616

    I vaguely remember BBB mentioning something about the devs are looking into different play styles for the AI on the Strategic Map,

    That was me wishing for stuff lol.

    @ Ex, if you want to know what the ai algorithm for combat is, just start a fight and instead of controlling everything yourself, put it on auto combat, whilst in the fight. It does exactly the same stuff as it would do in full auto combat.

    For something like this, I think the simpler the rule the better. I’d favour simply finding a way to tell the ai to

      1. keep Cavalry and non Cavalry together, until opportunities for flanking etc come up;

      2. Keep ranged behind meatshields.

      3. Keep heroes safe.

    Doing that alone will solve 90% of the issues right now

    #115617

    Sadist1
    Member

    Even just a simple check of

    “Do these neutrals have a unit with polearm?”
    If yes – attack it with ranged units before cavalry.
    Otherwise – Charge like usual.

    Would solve 80% of the issues. It really is mostly cav just dying to a single pikeman. I’m pretty sure AI doesn’t risk heroes in stupid charges as much.

    This is also why getting a firstborn for creeping lets you clear eveything for free and its so easy to gold medal it. It’s simply too slow to charge and get isolated. Another one of those small dwarf advantages that’s actually kinda huge 😛

    #115646

    shifted
    Member

    Improving auto combat goes hand in hand with improving tactical AI since it’s just fighting against itself with your troops. The best way to make it better would be to let us set a priority for each unit. Priorities would include Target Ranged, Target Hero, Target Nearest, Flank, Defend Ranged, Target Weakest, etc. That’s not going to happen though so all we can do is avoid units the AI is retarded with, and hope the AI eventually stops being retarded with certain units.

    By the way, what’s with all the balance discussions in general? I saw you bite someone’s head off for doing the same thing. I guess you’re a ~special snowflake~

    #115668

    terrahero
    Member

    My biggest problems with autocombat, which i dont often use i might add, is that certain squishy units die far to easily. As the AI doesnt keep them safe enough, while at the same time absolutely loves focussing them.

    Worst is probably the Engineer, the AI has no problem trying to run these close to enemy troops to use their short-range attack. And then focussing them with the other team as they are squishy and are easily killed.
    I can only imagine getting an Engineer to Elite in MP is an achievement in and of itself.

    Cavalry the AI just runs headlong into the enemy, as a result its the most prominent target compared to the rest of your not-so-mobile army. And gets one or two turns of almost exclusive attention from the enemy.
    The tier2 cavalry as a result have a very high mortality rate.

    #115698

    ExNihil
    Member

    For something like this, I think the simpler the rule the better. I’d favour simply finding a way to tell the ai to

    1. keep Cavalry and non Cavalry together, until opportunities for flanking etc come up;
    2. Keep ranged behind meatshields.

    3. Keep heroes safe.

    Yes, the idea is this basically. When I speak of 3-4 formations I mean 3-4 presets for how AI will engage in autocombat. I think this is highly feasible and will solve a lot of problems right now and is thus necessary.

    Improving auto combat goes hand in hand with improving tactical AI since it’s just fighting against itself with your troops. The best way to make it better would be to let us set a priority for each unit. Priorities would include Target Ranged, Target Hero, Target Nearest, Flank, Defend Ranged, Target Weakest, etc. That’s not going to happen though so all we can do is avoid units the AI is retarded with, and hope the AI eventually stops being retarded with certain units.

    You are probably right but I don’t think the devs should be waiting for a serious overhaul of the AI – this will take a lot of time. As for setting priority for each unit- this is an interesting idea, but I don’t think the mechanics or play-style of the game really fits this. I do think, as I wrote in the previous paragraph, that a simple solution of several preset formations in the autocombat dialogue is completely feasible and we can hope it will happen – this is a huge problem in MP, and the solution isn’t very difficult.

    My biggest problems with autocombat, which i dont often use i might add, is that certain squishy units die far to easily. As the AI doesnt keep them safe enough, while at the same time absolutely loves focussing them.
    Worst is probably the Engineer, the AI has no problem trying to run these close to enemy troops to use their short-range attack. And then focussing them with the other team as they are squishy and are easily killed.
    I can only imagine getting an Engineer to Elite in MP is an achievement in and of itself.

    Cavalry the AI just runs headlong into the enemy, as a result its the most prominent target compared to the rest of your not-so-mobile army. And gets one or two turns of almost exclusive attention from the enemy.
    The tier2 cavalry as a result have a very high mortality rate.

    Absolutely. Engineers, Scoundrels, Martyrs, GOBLINS, Cavalry units, Crossbowman all die rather quickly, and all of ’em are more difficult to level. Engineers on gold are unheard of basically :).

    #115832

    I don’t mean presets Ex and Shifted, because then the player needs to set them for the ai, and you get a quasi manual fight then anyway. I meant a change to the core a.i.

    If you start putting in pre-sets or priority targets, might be nice, but like I said, I favour the simplest possible solution, and currently imo there are 2 outstanding issues with the auto combat, which are that faster units charge in unsupported and are then cut down (you get around this by keeping your stacks with the same speed) and that the ai is more interested in dealing damage than survivability.

    Hence making the ai keep it’s faster units together with the slower ones, until blood is spilt, will solve most of the issues straight away.

    Also, squishy units tend to be squishy for a reason, and even in manual combat, you usua;y expect to lose some…

    #115848

    Gloweye
    Member

    AI is very suicidal. He will take mulitple attacks of oppertunity to get a flank off, while opening himself to more flanks. He should do a calculation of damage dealt/recieved for everything regarding flanks and attacks of oppertunity. Also, keeping cavalry close the the main force until melee attacks have been used sounds like a very good idea.

    further more, certain units like supports and archers should be considered of higher value(I.E., taking damage with them is even less attractive than taking damage on infantry/cavalry), and he should use his melee troops as meatshields for them. Currently, he never spares units to protect his archery, like forcing me to take attacks of oppertunity if i wanted to charge them.

    #116165

    ExNihil
    Member

    I don’t mean presets Ex and Shifted, because then the player needs to set them for the ai, and you get a quasi manual fight then anyway. I meant a change to the core a.i.

    If you start putting in pre-sets or priority targets, might be nice, but like I said, I favour the simplest possible solution, and currently imo there are 2 outstanding issues with the auto combat, which are that faster units charge in unsupported and are then cut down (you get around this by keeping your stacks with the same speed) and that the ai is more interested in dealing damage than survivability.

    Hence making the ai keep it’s faster units together with the slower ones, until blood is spilt, will solve most of the issues straight away.

    Also, squishy units tend to be squishy for a reason, and even in manual combat, you usua;y expect to lose some…

    I’m all for a fundamental reworking of the AI combat programming, but… that is a very serious overhaul and what I propose is a solution that will solve the current problem with minimal intervention I think. Furthermore, formations or presets (as you call them) will also boost whatever reworking of the AI is done as it will give more control to the player regarding the possible outcomes of an automated combat.

    Saying all of this, I would like us to engage in a discussion of what changes need to occur to the AI combat programming to make it better. I know for instance that there is a wide range of abilities that the AI doesn’t utilize apparently – Absorb Pain, Spring, Phase and others (so I’ve heard). If you guys could point at current issues like this it would be very beneficial, I for one have no idea as I almost never find myself fighting the AI in manual combat.

    AI is very suicidal. He will take mulitple attacks of oppertunity to get a flank off, while opening himself to more flanks. He should do a calculation of damage dealt/recieved for everything regarding flanks and attacks of oppertunity. Also, keeping cavalry close the the main force until melee attacks have been used sounds like a very good idea.

    Thats a good start! If i can change this into a list form:

    1. AI leaves flanks exposed
    2. AI disregards attack of oppurtunity damage
    3. AI allows his cavalry units to be cut off due to charge

    Suggestions:

    1. AI will not spread the forces over the battle-field but will move them as a group
    2. AI should calculate actions according to maximal damage to enemy / minimal damage to self

    Is this correct?

    further more, certain units like supports and archers should be considered of higher value(I.E., taking damage with them is even less attractive than taking damage on infantry/cavalry), and he should use his melee troops as meatshields for them. Currently, he never spares units to protect his archery, like forcing me to take attacks of oppertunity if i wanted to charge them.

    I’m not completely sure how the AI calculates the worth of units if at all, but there certainly should be some hierarchy here. The danger though is creating an overly defensive AI. I would like a more thorough discussion if possible of these issues.

    #116166

    Gloweye
    Member

    Well, i only play SP and I almost never use auto-combat, so I got pretty good at abusing AI mechanics..

    For example, when you’re dread, the AI has a tendency to stack his units close together behind his ranged units. By firing at the wall, your cannons will stay out archer range, and be able to completely decimate his troops with their AoE attacks – especially since he replaces dead units, completely maxing out your damage. Since he’ll stay behind his walls as long as he has ranged troops, AND when your range cant reach him, you got all the time in the world.(He somehow doesn’t count the collateral damage you deal with cannons to troops behind the first. This also helps you level your engineers with reloading, even though its only 3 EXP per time.)

    Think I can get some more exploits with some time…but he should take AoE damage in account. a less important variation can be done with draconian flamers, where he will stand on the walls and take a ranged penalty, while you hit 3 units at the same time without any penalties. Also, he has a tendency of grouping behind ranged units/city gates, making Fire Bomb really strong.

    #116178

    ExNihil
    Member

    Good! I assume this is also true of other types of AoE attacks such as spells, breath attacks (including items and fire-tank), Call Lightning and Mortar, yes?

    Anyhow I’ll update the list:

    1. AI leaves flanks exposed
    2. AI disregards attack of opportunity damage
    3. AI allows his cavalry units to be cut off due to charge
    4. AI disregards AoE attacks and keeps his units in tight formations

    Suggestions:

    1. AI should calculate actions according to maximal damage to enemy / minimal damage to self
    2. AI should guard flanks and avoid attacks of opportunity unless there is a distinct advantage in doing otherwise
    3. AI will move in formation and will not over-extend
    4. AI will react to AoE attack possibility by dispersing its units in accordance with the AoE attack type.

    I think these indicate that the AI needs to distinguish between Siege defense and Pitched combat a bit better. Tell me, what does the AI do when it attacks a city with an army that includes a substantial amount of melee based units and cavalry?

    #116559

    ExNihil
    Member

    Anyone else?

    #116588

    madmac
    Member

    I would be cautious about making the AI too defensive, but certainly it could try and preserve ranged units a little better.

    One thing to keep in mind is that the AI is designed primarily for player vs AI scenarios. For example, a typical creeping engagement where it’s 3 AI units vs a full player stack.

    The AI is not capable of winning this fight, and as such it’s only focused on killing one or more player units if possible. The seemingly suicidal tactics of ignoring opportunity attacks to dogpile a single unit is actually (generally) the most effective approach on it’s part, and this should be preserved.

    This of course is a larger problem in autocombat, where you have two AI’s both launching suicidal attacks on each other.

    It’s tricky to solve, perhaps just a separate AI routine that can trigger it into playing defensively when it has a ranged advantage, along the lines of how it handles sieges presently. (The Siege AI could use some work, but it will stay behind the walls when it has a ranged advantage and rush forward when it doesn’t.)

    Similarly, a way of making it keep units of different speeds together instead of sending it’s Cav and Flyers far out in front to be decimated would be beneficial to both singleplayer and multiplayer.

    #116633

    Gloweye
    Member

    The Siege AI could use some work, but it will stay behind the walls when it has a ranged advantage and rush forward when it doesn’t.)

    This is one of the most easy mechanics to abuse in combat. This specific case might work miracles in Auto-combat, but it allows you to pick his units off one at a time. It works with both trebuchets and stone giants, though even cannon will do fine You put 4(dependent on your forces, could be less) units clos together, so that the AI’s normal ranged units can hit the front one from the extended part of the wall. Right now, all 4 of your hurl boulder units can hit that unit. So for ever attack/3 attacks depending on the enemy, you get in 4 boulders. ouch.

    Also, I’ve had cases where the AI kept behind the walls as long as it had a single ranged unit, while I had like 10 longbowman standing. It should make a better calculation of a situation where only the ranged units trade attacks, and if to negative, rush from the walls. I’ve begun sieges where any Humans would have abandoned the walls and slaughtered my army, but just picking them off at long range.

    Heck, I’ve had sieges where I just parked my army out of town and waited till Chaos Rift killed all defenders. I siege like 3 full stacks of T3’s, and win without taking damage. if AI is unable to disjuct spells like Chaos Rift(He could…3 times. Age of Magic + 400 CP OP.), he should abandon walls.

    above example was agianst some AI on large map. When i had the last opponent, I had almost the entire map in my domain, and a grand palace as first building goal in every city i got my hands on, income getting 3k gold per turn.

    #116644

    madmac
    Member

    Right. This is one of the reasons I’m saying to be careful about making the AI defensive. A dumb passive AI is even easier to abuse then a dumb aggressive one.

    Also, part of the problem is that the AI doesn’t include spellcasting in their calculations for when they’re outgunned.

    I’m not actually sure how the range/power calculation works presently…I’ve seen the AI rush outside while still having a few range units, and I’ve had it sit tight while obviously outgunned.

    #116647

    ExNihil
    Member

    Well, I think we should discuss ways to remedy the problems with the AI – I’m sure the Dev team will make a good job, so lets give them some input.

    #117655

    ExNihil
    Member

    well all of you magnificent SP fellas, give us some input! Whats wrong with the AI and how to fix it?

    #117690

    Gloweye
    Member

    I gave a few… Still looking for more exploits though, I always am. can’t help myself.

    #117695

    ExNihil
    Member

    Well, we can also discuss how to improve it.

    I think it needs to be able to set objectives. Now it seems to have two modes from what I gather – to try and win or to try and make the opponent bleed, based on the calculated chances of winning. I think though it should prioretize units in a way that will have a psychological impact on the player as well, like it has in PvP battles.

    I also think it should have different balancing for each class, as different classes have different play styles. I think this should manifest in general strategic playing modes. Just an example:

    Harrasment mode – the AI attacks players, either human or AI in order to weaken their economy, taking infrastructure and razing it. Killing scouts, hunting down builders and in general forcing the player to tank up. This should scale with difficulty ofc, but it should exist.

    Scouting mode – it should use scouts like human players do, aggressively. Scouting the map, positioning in strategic locations and waiting. This should be tied to a general calculation of war – if a human player is moving forces towards the AI, and the AI can scout it, he should bunker up fast and will try to be ready.

    For sure a Rogue AI should Harrasment mode a lot more then a a Warlord AI.

    I would like some suggestions along these lines if you or anyone else has ’em.

    #117698

    Gloweye
    Member

    uhm…thats on the strategic map AI? i thought the main focus here would be that of combat AI…

    That said, strategic AI could use some more focus on taking out scouts. Its quite bad at that. They also ignore a doom stack following their leader around while you got another one staying in 1-turn range of his throne. The double assassination the turn after breaking peace is quite….effective. And every human would have seen it coming.

    #117731

    Dr_K
    Member

    well all of you magnificent SP fellas, give us some input! Whats wrong with the AI and how to fix it?

    Lots of things. Although I think the Tactical AI is the more important one to look at since it greatly affects the early game in MP, unless you are manually combating independents. I know there were supposed to be some fixes for the Strategic AI’s problems coming out in one of the next patches (things like tresspassing, scorched earth policy, etc).

    Besides the Cavalry charging too far ahead of slower units, the biggest problem with the Tactical AI is that it does not know how to use certain abilities, and it might even overuse some abilities.

    I will post more on this when I have time, but the 3 primary abilities that it does not use are Phase, Absorb Pain, and Sprint. There might be situations where is uses the latter two, but I consistently do not encounter them.

    #117745

    ArcaneSeraph
    Member

    A couple of comments.

    One of the main problems is the AI (either in auto resolve or manual) doesn’t seem to want to use certain abilities, as Dr_K mentioned. It either doesn’t use them at all or puts them on extremely low priority. Stunning touch, entangle, etc are almost never chosen (if at all) vs just a default ranged attack. Self buffs are used fairly well but de-buffs tend not to be either. Part of the reason for this will be the method of AI programming, I suspect, but I’ll dive into that shortly.

    On the subject of exploits or weaknesses, city defense has many problems as does special terrain & condition defense.

    City Defense:

    As has been noted it does not have a good sense of when to defend the walls and when to abandon them. A third option, as opposed to abandoning the walls or charging out, would be to retreat further inside the city until the attacking force is drawn in closer. This could be used when the enemy has long range siege equipment, for example. Though any strict rule will result in exploits, unfortunately.

    It also doesn’t have a good sense of where to position itself on the walls. For example in a multi stack battle, the AI will leave most of its units where they start while the player can shift his units to one side. Then when the player does charge the wall, the AI spends most of its time repositioning and is in poor position to use its ranged units for defense. This should be fixable if the AI could be able to track the “center of mass” of its opposition.

    You can also place a unit right in front of the door and get the AI to attack it. Even if that unit is virtually immune to damage (think steadfast ward or sphere of protection).

    Special Terrain & Condition:

    What I mean by this is those terrains that have big gaps in them (quarries) or ruins that have obstruction obstacles. The AI tends to split its units all over the place to just get to their target as soon as possible. This is extremely easy to exploit as it leaves their units very vulnerable.

    Also you can get the AI to split its units up by attacking from multiple hexes on the strategic map. Main force in front, single scout from rear. The AI will usually throw units at the scout, who can just retreat, and thus you’ve managed to split their forces again.

    Incidentally, unless the AI is changed, I don’t want the AI using sprint / phase much as it will no doubt just become a new cavalry like problem: those units will “warp” forward and get themselves mobbed.

    Donning my programmer cap for a moment, the problem with the AI IMO is it is written using “individual think.” Every unit decides, at the start of their turn, what is the best thing it can do by itself. It is like a chess player who only thinks 1 move ahead and chooses the best possible action for itself within that limited time frame. It is a greedy, low depth algorithm. It is one of the simpler algos to implement and get working right, within its limited capabilities. I’m not criticizing the devs as I know how hard it is first hand to program a good AI.

    To really beef up the AI it needs to use “group think.” Ideally the units should move as a group… doing what is best for the group. However that is much harder to program as you generally then need to have the units place themselves in certain “roles” within the group (defender, charger, ranged, support, healer, etc) and also allow those roles to change as situations demand. The decision tree for those situations would grow insanely large and processor intensive quickly. It could be done but would mean an overhaul.

    Alternately I would try the chess AI route. Instead of analyzing one turn ahead analyze multiple turns ahead. Each unit still uses the same AI as present. It chooses individually to attack, defend, buff, etc. It also needs added to that list of choices “stick with group.” Meaning sometimes its best choice is merely to stick with the rest of its units as best as possible. So every variant for each unit would be explored, up to several turns ahead, and the best option would be chosen based on a weighting of damage inflicted vs damage received. The more turns ahead, the better. Unfortunately the more turns, the slower to compute. So it depends on implementation speed really and that’s hard to gauge. Also this process would need to be repeated each turn to adjust for enemy actions. If it were me, in manual combat this would be ideal algo to run during the player’s turn which is mostly sitting around and waiting for us slow humans to move anyway!

    Assuming some sort of group think is implemented, to fix the use of phasing would require modification of the A* algorithm (or whatever similar path finding algo is being used). The easiest approach would be to add destination nodes at key points where the phasing can reach: inside the walls, at flanking positions beside enemies, at escape positions for retreat phase usage, etc. As I mentioned though without fixing other aspects of the AI I’d rather it not use phase as it would just be reckless right now.

    #117840

    Gloweye
    Member

    I’ve never tried programming any AI before, but i wanted to put my noob instinct in anyways. If its plain bad, just plz ignore me.

    I think the AI should decide objectives it wants to accomplish. Like taking out ranged opponents, taking down your single T4, whichever it can most likely achieve, and that in order of importance. High on this list would be units much stronger than your others, siege weapons and other units capable of dealing huge damage at range. or huge damage anyway. However, it should compare the value to the propability that it could take it.

    After deciding the “Masterplan”, it should post units to A) damage that unit/target, B) Protect its own damage dealers.

    #117855

    Garresh
    Member

    Gloweye, its easier said than done. You could do such a thing but it essentially involves coding multiple new AIs from scratch. Even a single one is hard enough. But yeah AI is probably the hardest problem in computing right now, even for simple games. In AOW the AI will be pretty hopeless honestly, no matter how good it is coded. I mean it took how many years to develop an AI that could win even at chess?

    #117869

    Dr_K
    Member

    Warning: Some AI ramblings to follow. They should be relatively cohesive thoughts.

    On the unused abilities,

    Phase: This is the most prevalent ability that the AI seems to not use. All units with it become much less mobile, and the usual multiple flanking attacks cannot happen. It also makes AI sorcerers use other units for sieges besides units that can just phase past the walls.

    I don’t really have a solution for this since I think that if you just give the AI the ability to phase in its current state it will just use it quite stupidly and get lucky every now and again (think like cavalry). It could also be the case that the necessary conditions to use phase relatively effectively is just too much to check and would actually slow combat down with the processing time.

    Sprint: This is probably more of a problem than phase since it nerfs units that can use it very effectively, specifically scoundrels.

    This could have the same issue that phase might have: too much procesing time required in most situations. I believe that this one might be able to be fixed though. Where Phase gives you a large radius of hexes, sprint gives you two more to move. It might be simple enough to have a check to see if Sprint puts you in range of a flanking attack, which would be even more useful with backstab. If this is implemented the scoundrel might be able to more effectively be used for clearing.

    Absorb Pain: I think that this ability is unused, not due to complexity, but due to the reduced immediate damage output it produces, it might be passed over so that the martyr can immediately fight instead of letting something else fight longer.

    I think it might be hard to implement the optimal situation to use this ability though. When the forces are pretty evenly matched, you can sacrifice the martyr or use him to engage one of the other units. It could be used to keep certain units alive in situations where the force that the martyr is part of has a slight advantage.

    I’m sure there are strategies using it on the Theocrat hero, but I tend to use the heroes spells and other skills instead of absorb pain. So I don’t know how heroes would use it if some conditions can be created to use it. I think it should just not be allowed to be used by the AI when the hero is absorbing the pain since this seems even more reckless than it already is with heroes.

    @arcaneseraph
    I have never seen the behavior you describe with the disabling abilities (stunning touch, etc.), except maybe on heroes. Most units usually put that on high priority. More often than not, the first thing a Spider unit will do is use webbing touch. The support units usually will use ranged attacks until they can reach a unit that can’t be immediately killed and use the disabling ability on that unit (with healing on highest priority if they have it).

    Some buff/debuff abilities are frequently used well, like throw curse and weakening touch. Others aren’t used probably because they aren’t actually worth it to the AI like Touch of Faith.

    I don’t remember what priority the AI uses weakening touch on the field, but if it uses it, then it could mainly be the cause of Blight Doctors inability to clear well. I think changing the range of Weakening “touch” might fix this problem and keep them farther away from the actual fight (although it doesn’t really fix their squishiness).

    As for the type of algorithms and style of AI, I think that analyzing multiple turns ahead is just not possible due to the fact that it doesn’t scale very well and major pruning must be done to make it anywhere near effecient. Also keep in mind that the process also has to deal with all of the other necesities of a game and is not guaranteed to be running on a machine with sufficient resources.

    My best guess as to how the AI is actually implemented at the moment is like an emergent AI system. Think of ant colonies and pheremone trails. So basically each unit makes decisions and behaves individually, but the overall behavior looks relatively intelligent. I also think that the roles that you’ve mentioned, but only on an individual level which are defined by a units abilities.

    There also might be a bit of thinking at a higher level, but it does not show very frequently or clearly in how the Tactical AI performs. I think if there is anything that will fix it, it will be a higher level “group think” as you mentioned that suppresses the reactive/optimal individual behavior. The stay together strategy won’t work well against AoE attacks, so there does need to be some sort of decision to spread units out a bit, but this makes things more complex obviously.

    If we knew what type of AI they used (probably a reactive/hybrid system), it would make it easier (albeit still hard depending on the type) to consider how to think about common AI problems like some of the above.

    I think that’s enough rambling it for now.

    #117870

    ArcaneSeraph
    Member

    I have never seen the behavior you describe with the disabling abilities (stunning touch, etc.), except maybe on heroes. Most units usually put that on high priority. More often than not, the first thing a Spider unit will do is use webbing touch. The support units usually will use ranged attacks until they can reach a unit that can’t be immediately killed and use the disabling ability on that unit (with healing on highest priority if they have it).

    You could be right. It may just be my experiences thus far. I think only very rarely have I ever seen a storm sister run up and use stunning touch or a succubus use black curse when it was in range to seduce. That may just be due to some quirk of how I play (or failing memory :)).

    Game AIs are a bit of a pet peeve of mine. Yes they are hard to write. So, too, is a good anti-aliasing algo… subsurface/fresnel scatting… normal + parallax mapping… mesh deformation algo (of which AoW 3 needs a bit of work in some instances but that’s minor). The problem is most people seem to care a lot more about what the game looks like than any other consideration. Part of the reason, of course, is there are prepackaged solutions to the other algos. There is no pre-programmed “Age of Wonders 3 AI” library out there. Anyways…

    Humans use experience to make their decisions. For AIs there are 2 choices. Either program the experience in or simulate the combat and use that as experience.

    The former is a lot of work and has a lot of drawbacks. It is fast (relatively speaking). It’s deterministic (unless it is programmed to be fuzzy) and hence is predictable and exploitable. It can only adapt to situations that have programmed in it. Imagine trying to write down a set of rules for every decision you could make while playing.

    The latter is adaptable. It can be used to beat chess masters at their own game. It is deterministic but not to the point of being easily exploitable (i.e., stuff like you can count on an archer shooting you but that knowledge doesn’t really help you). The problem is it is slower. How much slower depends on the game really. For chess it is extremely fast but AoW3 isn’t chess (though it is actually comparable in many ways).

    Anyway I’ll shut up now as this is only loosely correlated to the topic at hand. Sorry for the rant 🙂

    #117874

    Ericridge
    Member

    I’ve gotten Stunning touch and Entangling touch used on my Golems and Musketeers ALOT during the campaign where I played as commmonwealth against the elven court. Julia was quite fond of them. Lost more musketeers and golems than I should’ve.

    Although I once had a Golem resist six entangling touches in a row once. xD

    #117878

    Gloweye
    Member

    the Touches are used, most often from the spiders, maybe less from supports, but that could be cause I usually have them dead by that time.

    Throw Curse – I’ve never seen AI use it.

    #117901

    Ricminator
    Member

    Storm Sisters use their stunning touch very often. I rewatched a couple of those autocombat fights and I saw it commonly happen that a stormsister would run up to a manticore to try and stun it(failes of course), instead of using her ranged attack. Netto result a dead stormsister.

    Also in ai if a unit can kill another unit with melee that unit will always do that even when it can kill it with a ranged shot( or two or after repositioning to set up a flanking attack) even when it is an archer/support.

    But it is complex. I always like those spiders when they try a webbing touch.(Especcially a t3) That way you might be unable to use a unit, but in that turn the spiders won’t do damage either. We could ask to add poison damage to a webbed unit, but I have a feeling we will shoot ourselves in the foot when we actually do that(Think of Frodo versus Shelob).

Viewing 30 posts - 1 through 30 (of 32 total)

You must be logged in to reply to this topic.