M28AI Devlog (v129)

Hi, came here first to say THANK YOU to @maudlin27 for his great work in developing another AI. I almost exclusively play against an AI with a friend, and M28 has made this much, much more interesting again!

Secondly, I noticed that, e.g., on map TeamdefensebyKC, M28 is, after some period of time, just sitting there, doing nothing at all. I just setup a game with just me and a few AI to test just that. If it should be of interest, I do have a game log and a replay saved here.

@hammi Thanks, glad to hear you’re enjoying it! Do you have the replay ID number of the game you’re referring to, roughly when it happened, and a bit more detail on what you mean by it doing nothing (eg acu stood still and it never built anything?)

@maudlin27 Thanks for being willing to look into this. This is the replay: https://replay.faforever.com/22129264

As you can see, the AI plays ok until about an hour into a game. It then completes a Quantum Arch, which apparently stalls its economy in an unforeseen way (can't see any enemy influence causing this). It then appears to build energy gens to compensate for that. Even after economy has recovered, all it appears to do it wait for few units to exit the arch. Further energy gens have been planned, but are not being built.

After 25 mins, I ran out of patience. 😁

@hammi Unfortunately the replay desyncs for me part way through; In the desynced version it didn't seem to have issues with building things, and I can't see an obvious error in the log you provided. It's possible it was using up all its mass on building things of little consequence hence why it didn't seem to be doing anything.

v83 Update

This update is essentially lots of minor tweaks based on replays from Radde. 30 changes made, none of which are expected to be that significant, including:

  • Increased the focus on ACU snipes when an ACU is considered vulnerable
  • Further adjustments to fatboy and megalith to reduce their tendency to attack-move when the enemy has a large nearby threat but a small in-range threat
  • Greater prioritisation of very high reclaim amounts
  • ACUs should be less likely to stand in their base waiting for an approaching experimental to kill them
  • Expanded ACU upgrade choices slightly so shield/nano should be got instead of RAS if the ACU is low health (and also obtained late-game where it wouldn't replace RAS)
  • Fixed some bugs with tracking overcharge shots (which led to ACUs not dodging t1 arti shots as much); working out how many t3 arti/gameenders are already under construction (which led to t3 arti being built at the same time as a mavor); TMD being massively overbuilt

Acknowledgements

  • Radde – Numerous replays which formed the basis of almost all the changes in this release (and I’ve only been through half the replays so far).

I just came from 2 incredibly strange games, not sure what happened. It's the vodoo map with air enabled, t4 nuke/T3T4Arty/Satelite disabled. I played like 10 straight games with this settings and won them all. Now lost 2 in a row. But the reason is really simple - AI's on my team play differently than AI's on opposite sides. My AI's make practicaly no ASFs, while the enemy makes 100's and 100's of them. Now, crappy as i play, we would be ok if we each made 1/3 of the airforce. But basicaly we are 1 hour into the game, getting bombarded with 4 or 5 experimental bombers and i am the only one making ASFs, while 1 player is making fatboy and the other chicken. I attached a replay link and log, pardon my language in the replay.

22161531-goblinsly2.zip

https://replay.faforever.com/22161531

@goblinsly2 Checking the replay there were no obvious errors with it's logic. The likely causes of your M28 teammates having fewer asfs than the enemy team were:

  • Enemy units near their base - hence more likely to build gunships instead of asfs
  • Relied on you as the air player (hence why they gifted asfs to you)
  • Worse eco than each opposing team AI (enemy team controlled most of the map)
  • only 2 M28 (vs 3 M28 on the enemy team)

They were still building asfs though (e.g. 39m into the replay some asfs were still being built)

Granted i don't know how to play air player, but even if i did i don't know if i can make enough ASF's to counter 3 enemies each having ASF's. Previous games i hit 1000/1000 unit limit with 500 ASF's and whenever we engaged in neutral territory, it wasn't even close, i guess you did some good programming since they seem to combine shots to 1 shot my ASF's like flies.

On this map there are some things i need to do. First 1 mega to each entrance and 3 SMD's to cover the whole base. Otherwise my allies will die either to nuke or early experimental. Now if i add ASF's to this, my eco just cant do it.

Yes, they were building ASF's but absolute numbers its a huge difference. They donated 6 ASFs to me and i never saw any of them having more than 10 ASF's. If you look at enemies, they each prolly have 100's of ASF's. Was just wondering what triggered this, it was pretty frustrating.

You could try fighting against M28Easy (with normal M28 as teammates), as the 2 M28 will be at less of an advantage when fighting for map control against 3 AI. Alternatively use AiX for the enemy team and set it to a below 1.0 modifier.

If you send spy planes to scout enemy nukes then your M28 teammtes should also build SMD over their own base.

Tnx. I played another of that type of game but with flying experimentals disabled. Was fun.

This map is wierd. Right from the beginning, even though i go totaly turtle, my team mates always manage to push land 3/4 of the way to the enemy base. Spamming 99% land units. Enemy on the other hand goes hard air right from the start and eventualy kills the advancing units and takes 3/4 of the base. It would appear that when enemy is outside our walls, it will build more land units, presumably it sees them as greater threat. But after an hour or so when we cleared our doorstep and reclaimed killed enemy units (which was my plan from the start), suddenly both allies went heavy air. In the first hour enemy vs our air was 1 to 30 for enemy. All of the sudden it became 50/50 and then we won air. I didnt play air from the start, to see if that will trick allies to go heavy air. Didnt help.

Im wondering. Do AI's respond to chat ? Are there any commands they will recognise? Like, e pls, build smd, etc. ?

@goblinsly2 No, it doesn’t respond to chat or pings

@maudlin27 Just wanted to report that whatever crashes were happening with nukes are gone, played a 4 hour match with no slowdowns and problems.

I wanted to ask you about ASFs, just to make sure my eyes aren't deceiving me. AI is using some strategy, like preventing overkilling in ASF vs ASF battles ? In battles when it seems we both have equal amount of ASFs and i do attack move, my ASF's drop like flies and he seems to keep most of the planes.

It's great for practicing air combat for total air beginner like myself. But just wanted to see if im using attack move wrong, or AI is making air calculations that just arent possible for me. Like AI checks health of a single ASF and then only uses amount of its own ASFs targeting this plane enough to kill it. How do pros do it against this AI in air battles?

@goblinsly2 Attack move is generally a bad option for air fights. Stop micro is probably the best option unless you are a pro; pros will often instead manually move the asf group to try and get then to ‘turn’ to be behind the enemy asf group.

To test, use sandbox and cheats to compare how 100 asfs on attack-move do against 100 asfs on stop micro. I expect the faf training discord could provide more help in this if you need.

AI uses a different approach for simplicity (and to avoid cpu issues) but this approach doesn’t take account of overkill (at least directly) for asf fights IIRC; it’s also likely either fighting over SAMs or has superior numbers if it’s engaging your air force

@maudlin27 Hello, I wanted to ask whether there is possibility of disabling AIs microing on campaign maps, I know it's possible to do that for skirmish. Thanks in advance!

@fumoenjoyer Not currently an option but I've noted it down to add in a future update.

v84 Update
23 changes and fixes. The majority of changes were based on lower priority points from an AI vs AI test replay I ran for v82 relating to early game plateau expansion/defence.

  • Added new M28Easy option for hostile campaign AI
  • Plateaus/islands with some hostile enemies should still be considered for drops where there are a number of available zones (e.g. resolving an issue on Adaptive Tourmaline where civilian PD prevented a drop on the main map area)
  • Inties should be more likely to defend plateau drops from enemy air attack, while the plateau drops should no longer be diverted to reclaim duty if they have yet to build a land factory
  • Improved the ability of engineers to dodge T1 Cybran and UEF bombers by pre-emptively dodging - where previously they would almost always die to the first volley now they have a decent chance of surviving at least 1 bomb.
  • Reduced the tendency of M28 to build T1 arti early on instead of tanks
  • Increased ACU aggressiveness in the late T2/early T3 stage in teamgames.

Acknowledgements

  • Radde – Replays from v82 which provided some more changes
  • Azraeelian Angel – Replays against 1.0 and 1.1 M28AI
  • Fertgl – Replay showing M28 failing to expand on the map Adaptive Tourmaline

Trophies
No change from before:

  • Sladow trophy - won by Radde against 1.5 AiX M28 (v81)
  • Radde trophy - won by Radde, Mhad and GhillieWolf against v59 M28.

Top 🙂

v85 Update
20 more tweaks and fixes, based both on some more minor issues noted from earlier replays, and some improvements to deal with a live replay I saw where M28 threw away a game-winning position on dual gap (by not attacking t2 arti with destroyers, and pausing its SMD when the enemy built a nuke). Changes include:

  • Land units should sometimes try and suicide into enemy mexes instead of retreating
  • Naval units such as destroyers should be much more likely to attack enemy T2 arti and other fortifications if not badly damaged (once they have control of the pond) instead of hanging back to support longer ranged units
  • Fixed a bug that caused SMD to be paused before being loaded when the enemy has a nuke
  • Ythotha should consider focusing down enemy T3 land units to try and reduce the likelihood it change its orders so much that it doesnt fire it's big 'lightning ball' (these changes may also cause it to cancel this attack, but hopefully it will reduce the worst case scenario of it not even killing the t3 land unit before cancelling the lightning ball attack)
  • Slightly improved Novax targeting so if it's relatively near a shield that a friendly T3 arti has just brought down the novax should move to kill the shield (previously this would only happen if the shield was almost in range)

Acknowledgements

  • Fertgl - Pointing out that T3 engineers were being ctrl-k’d for mass in priority to t1 and t2 engineers in a replay.

Trophies
No change from before:

  • Sladow trophy - won by Radde against 1.5 AiX M28 (v81)
  • Radde trophy - won by Radde, Mhad and GhillieWolf against v59 M28.

v86 Update
Hotfix for mostly minor bugs. 14 tweaks and fixes, with the more impactful ones being:

  • Added a fix to take account for FAF changing the categories of the paragon a couple of weeks ago (which meant M28's paragon specific logic was disabled)
  • Engineers should be far less likely to try and reclaim low value wrecks such as trees in their build range (and instead either not reclaim, or look further afield for high value wrecks)
  • Greater prioritisation of air (at the cost of most experimental production) if the enemy has an air experimental and M28 lacks air control

Acknowledgements

  • x17 - Replay where M28 failed to respond properly to being gifted a paragon

I see a few updates were done since i wrote about air. I thought i improved my airplay and started winning because of that, but it might just be because of updates.

I just finished a great game where i sniped a paragon and only when my bugs attacked it i saw 2 coms standing next to it. That looked very dangerous. Just a thought.

I think the only reason i am able to win in this setup is because i build fabs while enemy doesn't, so after a while i just build more units. I remember M27 mass built fabs and ras coms, this seemed to change in M28 ?