Suggested AI Improvements

Ask, comment, read.
Galith
Cadet
Posts: 2
Joined: Sat Jan 30, 2021 9:04 pm

Suggested AI Improvements

Unread postby Galith » Sat Feb 13, 2021 3:52 pm

I want to say up front I love this game and that I think the AI is actually quite good at keeping me honest and exploiting any errors in my play as long as it can achieve its objective in a single turn. However, there are five areas where I think it could be improved, some of which I think should be straight forward (like #1), some of which are less so. I'm not sure how much AI behavior changes at different difficulty levels, but I play almost entirely on Hard so my experiences should reflect the strongest play on the AI's part.

Note that I'm suggesting these from the perspective of how the AI can best oppose the player's goals, its possible that some of these "weaknesses" are intentional to better model how real divisions would behave in the field. Hopefully this feedback is useful.

(1) Oppose River Crossings, especially Pontoon Bridges: My troops drive up to a river, the AI holds the bridges on the other side, so I drop a pontoon bridge to give me an alternative crossing point. In my experience, the AI frequently fails to react and allows me to just cross that bridge the following turn, even when it has units in range who are not guarding other crossing points or objectives. This is particularly important when it happens at a major river, which would require me to have the appropriate HQ ability unlocked and spend command points to cross (adding this behavior would also make these high-tier and at the moment rarely used abilities more important).

(2) Retreat out of supply units, even if fortified: In my experience, it is not uncommon for me to breakthrough a front line and put some of the units on the front line out of supply without completely closing the encirclement. These units will frequently remain where they are, even though the area they are holding is no longer important and they could do a whole lot more good trying to prevent the encirclement or sometimes even escaping the pocket to fight another day. I even see units stay put and remain out of supply when they could shift one or two hexes to get back in supply and there seems to be no disadvantage to do so.

(3) More aggressive breakout attempts by surrounded units: In my experience, the AI is quite timid in trying to break out of pockets. Unless I either leave a unit on the outside who can be hit with a Odds #6+ attack or put a supply dump somewhere on the pocket edge, it frequently does nothing with the units inside. This lets them go from 1 turn out of supply (where they are still dangerous) to 2 turns out of supply (where they can no longer attack, and become free experience for my units). It does this even when it has plenty of room to maneuver in the pocket and could break out by attacking a single point with several of its trapped units in turn. Note that this is one of those areas where lack of aggression may be more realistic: from a game perspective the surrounded units are effectively dead already, so it is better that they take some opposing soldiers with them, but in real life the tens of thousands of men these units represent would prefer to sit tight and surrender after they run out of ammunition.

(4) Multi-turn raids on supply lines with weak units: The AI is very good at spotting opportunities to send its units into rear areas where it can cut supply (particularly to an HQ), but it only seems to do so when it can achieve its supply cutting objective THAT TURN. In my experience, bypassed units which could be quite a nuisance by charging around rear areas will remain in place and just wait to die. The AI could also disrupt my plans by sending one- or two- step units through gaps in my line in a way which doesn't cut supply immediately, but which would force me to react and pull other valuable units out of position.

(5) Preservation of a mobile reserve: The most challenging part of several scenarios (e.g., Overlord) is hunting down and killing the enemies powerful tank units so that relatively vulnerable infantry can advance safely. The AI often makes this much easier than it needs to be by parking its valuable tank units on the front lines, where they are vulnerable to airstrikes (sometimes even to naval strikes!) and are easily killed by friendly armor. The AI would do better to put its infantry on the front line and use its armor as a mobile reserve which can counter-attacks any breakthrough. In my experience, the AI also doesn’t properly utilize hit and run tactics: when it sends tanks forward to attack it often leaves those units on the front lines where they are vulnerable to counter attack instead of retreating them a hex or two to a point where they would be safer.

funky_trader
Major
Posts: 62
Joined: Sat Oct 17, 2015 4:35 pm

Re: Suggested AI Improvements

Unread postby funky_trader » Sun Feb 14, 2021 3:55 pm

Lots of valid points. The AI is indeed pretty good at offering a retreating defense, but fails on those crucial points. My two cents:

  1. Oppose River Crossings. The issue may stem from the AI being unable to "see" the pontoon. As in, there are no checks in the AI logic for newly created pontoons such that it moves a unit to block it around crucial points (it does not "see" that there is a new way across the river). There is definitely a check to blow pontoons up, but that would be a different part of the script I believe. Obviously just speculating, but I have seen the same behaviour.
  2. Retreat out of supply units, even if fotified. I believe the issue with this one is that most fortified units that don't retreat on breakthrough are under a special AI hint not to move. The AI is known for shuffling around its units for no reason, and in order to preserve some defensive lines with unit fortification, it requires this hint to never move that unit in that hexagon. I think this one might be hard to solve: there are instances where even if out of supply, you might not want the AI to iniate a general retreat. So a simple set of rules would likely not work, and complexity may simply bog down the AI.
  3. More aggressive breakout attemps by surrounded units. Fully agree on that one. Creating a pocket generally means those units are dead within 2 turns. The only breakout attempts I've seen happen under two scenarios. First, when there is a path back to supplied territory without any of my units having ZOC in the way. Second, when my units garding the pockets are so depleted that the AI attacks. The AI in general is extremely timid on the offensive, refusing to attack unless it has an overwhelming advantage. So this is likely linked. Perhaps run a "hopeless" check: if units are surrounded, and the AI doesn't see any chance of getting them out, unleash indescriminate attack mode. Doing massive damage to my units, even if it ends up causing the destruction to its units, would likely be quite a challenge for the player.
  4. Multi-turn raids on supply liens with weak units. The ability to plan ahead is perhaps the hardest thing to write in an AI script. I've done those raids on supply lines against humans, but I don't see how you could teach the AI the same logic. It would really change the dynamic though. When playing against humans, I find our lines of units are much more closely knit, move in tandem, and often have a unit or two in the back to prevent deep breakthroughs. Againts AI, it's usually a mess, but the AI doesn't see how to exploit.
  5. Preservation of a mobile reserves. The AI does build up reserves, there are hints for that. However, it uses them fully the second one of your units gets close to that hint area, and they are not replenished. I don't think I would change anything on the matter given the complexity of the variables that need to be evaluated for such high level actions. On the second point, hit and run tactics, I think this could be improved. As you say, the AI often leaves its tanks on the front lines after attacking, while it should retreat behind friendly units or to a more defensive locations. I think this could be easily done with an additional check at the end of the attack move: does the tank still has unspent movement points? If yes, run the defensive position script (or something similar).

User avatar
Tomislav Uzelac
2x2 Games
Posts: 2211
Joined: Mon Apr 04, 2011 11:24 pm
Location: Zagreb, Croatia

Re: Suggested AI Improvements

Unread postby Tomislav Uzelac » Tue Feb 16, 2021 8:14 am

Thanks for the detailed feedback!

We agree with a lot of the points made, but none of these are super easy to add plus there is always the potential to unbalance the existing scenarios.

I hope that we will be able to make at least some improvements, we'll see...

User avatar
Danielefc
2x2 Games
Posts: 1142
Joined: Thu Nov 24, 2011 10:03 pm

Re: Suggested AI Improvements

Unread postby Danielefc » Wed Feb 17, 2021 9:35 pm

RE: AI opposing player built pontoons

I need to check up on if the AI really does not recognize that a pontoon has been built. (As mentioned is does react to them in regards to blowing them up.) In general, the AI calculates "player movement options" in regards to supply hubs, objectives and chokepoints - and as such it should react to a pontoon bridge if it can. Note the "can" - an issue here could be that the AI simply does not have enough units to react - which is often the case when speaking of the base game campaign.

RE: Retreat out of supply fortified units and more efficient break outs of encirclements

Be careful what you wish for ;) During development I learned that the biggest challenge for creating an "enjoyable" AI was to NOT make it react in a 100% efficient manner in every situation. AIs are masters at exploits and cheese. A good example of this would be the HQs: we actually had to "dumb down" the AI to not persistently exploit HQs as a "movement blocker". (It still happens at times... Norway I'm looking at you here!). Anyway I agree that the current solution where the AI will very rarely even move a unit that is fortified is not ideal. But the number of factors that would have to be taken into account to create a more flexible system that still preserves fortified lines was a sort of white elephant we chased during development.

RE: Mobile Reserves

THIS is my biggest wish personally. It is something we have discussed internally and hope to have time to implement at some point (no promises).

----------------

Finally: Tom already hinted at this, but it cannot be underlined enough: Any drastic changes made to the general behaviour of the AI will affect 75+ scenarios... Soon to be more... And testing them all is simply just not possible for us. As such any AI changes will have to be through things that we can turn on/off on a per scenario basis and we are not quite sure if this is doable.... yet

Cheers!

Galith
Cadet
Posts: 2
Joined: Sat Jan 30, 2021 9:04 pm

Re: Suggested AI Improvements

Unread postby Galith » Thu Feb 18, 2021 9:37 am

Thanks for the response and for making such a great game. A few more thoughts to add to the AI wish-list items (with the understanding that most of these won't happen):

(6) Avoid Traps: If the player clears an objective square with no armor canceling objective bonus, the AI should not drive its strongest unit in to try to "defend" the objective. There are a number of scenarios where the player can park one or more units with substantial artillery right next to an objective square and use suppressive fire to suppress and then (in coordination with a tank unit) kill a strong unit each turn. It would be great if the AI did not reliably fall for this.

(7) Interfere with Artillery: If the player moves a unit with two artillery specialist next to a unit which is not defending an objective or in artillery proof terrain, it would be nice if AI either made an attack on the advancing unit to try to get it to retreat (if possible a coordinated attack using several units) or, if no such attack is reasonable, backed any high-value targets up one space so they would be out of range.

Also, I would love it if there was some way to turn on an AI who can play as efficiently as possible and which is unpredictably aggressive. It seems like the AI needs an Odds Number of 6+ to make an attack, it would be great if there was a way to turn that down to 3+, or even 1+ for units which are already surrounded. Maybe the AI could randomly select where it's break point is ever turn; this adds more randomness but increases replay ability and makes the AI harder to predict. This would make the game more swingy and would cause some players to feel like they were getting "bad luck," but it would also rewards contingency planning and adaptability. It would also be nice to have the AI use things like suppressive fire and feint to create more frequent opportunities to maul the player's units (especially since those abilities don't break entrenchment).