M28AI Devlog (v102)

The AI seems great but I'm not sure if I'm setting them up wrong or what.

Using all default settings in a 2v2 scenario, the enemy AI will spam T2 MMLs, but once this force is overwhelmed they're pretty easy to beat. Seems like a great AI early-game for smaller battles, but larger 4v4 battles the AI seems very confused and doesn't really know what to do.

Definitely the best AI available though, so cheers for that!

As mentioned before, I do agree that this is by far the best AI there is for FAF.

Let me just try to follow up the other message that I sent above on M28AI playing the Seraphim. Because in the many games that I've meanwhile played, it seems that the Seraphim come with a bit of a challenge of their own for the AI, making it a much less challenging opponent. Energy management appears to be an issue, possibly in conjunction with the Quantum Rift Archways. After it has built a QRA (and it always builds multiple), it struggles with energy for quite some time and is keeping shields down etc. Also, it's typical for the AI to run into unit cap issues later, also complaining about it in the chat, while it keeps piling up all units in its base.

https://replay.faforever.com/22323052 is an example for this. It is having energy issues before, but after completing its 4th Quantum Rift Archway at 1:25, it takes until 2:09 (almost 45 minutes) to get it's energy handling back up and the shields stable.

Also, what the AI never tries as a Seraphim is building (their unique) nuke launchers for nuke spamming, or mass attacks with air units. Also experimental unit attacks as such are very rare, but that might just be because of the energy problems caused by the Quantum Rift Archways.

This is not intended as a complaint, but just as hopefully helpful feedback to improve this AI even further!

@koral If it’s spamming mmls that suggests you’ve built a firebase near enough that it sees it as a threat.

For 4v4s if you’re easily beating it with a team of lower rating than the AI send me the replay and I can see if there are any obvious issues, as it should be compatible with virtually all maps and settings

@hammi Is the QRA the modded experimental unit that builds t3 land units quickly? I can probably reduce the chance it gets built slightly depending on how the unit’s blueprint is defined

I’d expect the Yolona Oss to be built in high eco games, but it’s also possible that the mods used interfere with the normal logic for building this.

Yes, the QRA stems from the Blackops FAF: Unleashed or the Total Mayhem mod. Not sure if the issue is (only) how often it is built. Energy management gets out of control, and the units are essentially just kept in the base. The first issue renders all shields useless, and the second causes all this investment to be essentially invain. But I guess it's not easy/possible to fix energy management?

If it's low on energy such that it is pausing shields it should be building T3 pgens as a high priority, and late game I'd only really expect it to happen if it's trying to build an experimental with a high E cost like a yolona (where it ends up going into cycles of bulding it; stalling E; pausing units/shields; resuming production); if it isn't building more T3 pgens over several minutes and it looks like it has plenty of build space then if you send me the replay and time stamp I can check if there's anything else going on.

The link to the replay is the one I posted above: https://replay.faforever.com/22323052
As mentioned above, from about 1:24 energy is crappy until about 2:09.

If you need anything else, please let me know!

v89 Update
28 changes and fixes, including:

  • Units should no longer be given a stop order when changing an existing move order
  • Added tele-defence logic
  • LABs should be built early game
  • Fixed a bug with the ahwassa targeting units right by it, while ASFs should try to get much closer to a friendly ahwassa to support it when idling
  • T3 arti should no longer target off-map units in campaigns (which could sometimes break the mission)


  • Jip – Pointing me towards navigator funtions that allow the AI to change move orders ‘on the fly’ without having to stop the unit; until then I'd thought it wasn't possible for the AI to mimic human behaviour (e.g. having an ACU move in a circle to dodge bombs)
  • Radde - various replays on both land and naval maps
  • Hammi – Replay showing M28’s poor energy management with the quantim rift
  • Ash - replay on dawn (Campaign FA M2) where the map wouldn't expand (which I expect was due to M28's T3 arti killing off-map units which prevented the map from expanding)

v90 Update
28 mostly very minor changes and fixes; however there's a chance one of the changes (re reclaim) could make M28 run much slower so let me know if things are significantly slower (testing suggested it's mostly just the start of the game that will take a bit longer, e.g. +10s on an 80km map)

Also if anyone knows of a map with plateaus that have significant reclaim but no mexes on them let me know and I can test if one of the changes added this version works as I'd expect.

  • Transports should consider dropping to plateaus with no mexes if they have significant reclaim on them, and do a more precise calculation when deciding if a location is too dangerous to drop.
  • Reclaim should be updated more consistently for zones, particularly at the start of the game (previously only some of the reclaim in a zone at the start of the game was being properly recorded, and wouldn't update until the reclaim position changed)
  • Various chat related changes, including adding a few very niche voice messages, and increasing the use of taunts in campaign games
  • Subs should move towards units that outrange it such as a destroyer instead of attack-moving (so they are less vulnerable to being kited)
  • Mass fabs and quantum gateways are more likely to be built late-game if the enemy is also getting them (to stop scenarios where a turtler could slowly win the game by gradually scaling up their late game eco)
  • High value units (e.g. experimantsl, ACU) should stay away from the blast area of a friendly nuke.


  • Sladow - mentioning how M28 lost a GC to a friendly nuke in a game
  • Relent0r – asking whether I factor in reclaim when picking somewhere to drop for transports (which prompted me to look at adding such logic)

I tested AI in a few games and can confirm that it spams RAS commanders and its a lot more challenging in the late game. There is still an occasional issue with experimentals where it cant decide what to shoot at when being attacked and ends up dying with barely doing any damage. But mostly its ok.

I have a question. When playing 3v3 vs Cybran, Aeon and Seraphim, when enemy builds a paragon, i see that for instance Cybran player suddenly owns an experimental bomber. So Seraphim must have donated either enginner, factory or the bomber itself to Cybran. How does that happen ? I was never donated anything, apart from few planes early on. Also Aeon player will usualy build more than 1 paragon, yet i never see him donate that to team players. That might be a good idea since Aeon player will soon hit unit limit or be limited by build power.

@goblinsly2 Re the engineers I don't know, the only case I'd expect an engineer to be donated is if a paragon got built (in which case the M28 teammates should gift some of their engineers and factories to the M28 that built the paragon).

It's generally not meant to build more than one paragon which is why I've not added logic to gift over a second although I could add something basic for that to cover rarer scenarios like if it queues up a second paragon while building the first (if it's queing up the second after the first has been constructed then that will be a bug though).

If you have a replay where it doesn't attack targets I could have a look as it's not meant to do that in most cases so could be a bug.

v91 Update
19 generally small tweaks and fixes, including:

  • More cautious use of bombers (meaning they're less likely to suicide in the campaign missions and more likely to target ground AA units of the enemy inbetween them and their target)
  • Nukes should no longer be launched by a hostile M28 campaign AI until the timer for its attack logic to commence has passed (meaning on Forge UEF Mission 5 it is no longer an auto-loss at the start of the game!)
  • LABs should be more aggressive
  • Expanded M28's snipe logic so it can trigger in more cases where its ACU isnt near the enemy ACU
  • Reworked most land logic to determine the nearest enemy unit by reference to the closest M28 base instead of the zone's midpoint.


  • Radde – replays vs 1.2 resource M28
  • Saltanis – mentioning that M28 nukes players at the start of UEF M5 (as a hostile AI), making the mission impossible
  • Goblinsly – Issue with M28 not gifting its second+ paragon to teammate
  • Zhanghm – Mentioning M28 would build multiple paragon type units where they’re modded ‘non-Aeon’ paragons.

No change from before (Radde trophy - Radde and KuhwaKlimakleber vs v86 1.4 resource M28 on mapgen; Sladow trophy - Radde vs v81 1.5 AiX M28 on a 10km map)

v92 Update
23 changes and fixes, of which just over half can be summarised as 'making it harder to kill a team of M28s with a novax'.

  • Fixed a bug that could crash the game in some rare scenarios when trying to build PD (such as UEF campaign mission 1)
  • Submarines should consider attacking even if outmatched if they think they can kill a vulnerable unit that is away from the main naval force
  • Similar 'use closest unit to base instead of zone midpoint' change to naval logic that was added to land units in the last update
  • Several adjustments and fixes to mobile shields (likely caused by switching the basis for assigning the shields in recent updates)
  • Numerous changes to try and make it harder to snipe M28 with a novax, mostly focused around use of mobile shields, the ACU assisting a fixed shield it is sheltering around, and making health type ACU upgrades more likely
  • Expanded the 'factions'/players that the M28Allies campaign logic will apply to, so it will now apply the maxim 'the enemy of my enemy must be my friend' (to treat a non-hostile faction as being an ally). This means for example it will now take over the UEF mission 1 research base.


  • Radde - Several replays, including one where 2 novaxes wiped out the entire M28 team just as they were about to win (hence the reason for the majority of changes this update!)
  • Colonel Arnold – Mentioning how M28 doesn’t take control of the research base in UEF Mission 1 (if told to be used for allies)

On Operation Trident M28 Reclams the base you're supposed to defend meaning you loose the mission. Not sure if this is fixable on your side. Perhaspe a toggle for reclaming nutral buildings?

Another minor nit-pick, some missions already divide troops amoungst players. Then you AI divides it again in favor for you AI to you end up wil hal you starting army .

Operation Trident is such a mission.

@savinguptobebrok I tried just now but M28 didnt reclaim the civilians (I had 1 M28AI buddy and had M28 applying to allied units).
Could you send me the replay number for the game where it did reclaim them?


At around the 15 minute mark. if you need anything else le tme know.

v93 Update
Hotfix, with 15 bugfixes and other changes

  • Fixed bug that could break M28's land combat unit manager
  • Fixed major bug with M28's naval logic that would break if its units were outranged
  • Operation trident civilians should no longer be reclaimed
  • Aeon M6 control centre should be fortified more once captured
  • Increased the amount of MAA to be built in some cases


  • Savinguptobebrok – Replay where M28 reclaimed the civilians to be protected
  • (Chidori – trying to help with resolving a suicidal Campaign M28 ACU, but ultimately I couldn’t find the cause due to the replays desyncing).

Tnx. Im still playing on that fortress map. Just 3 quick things.

  1. when i go and snipe paragon, i always kill 1 or 2 commanders along with it.
  2. even when para is built by aeon, it's com is still pretty stock, so killing him is easy. It would be harder if he had shield and some hp boosting upgrades. Same for other coms.
  3. Cybran i think is to confident in its T3 gunships and bugs. He will go around the map without any ASF's even when enemy has tons of ASF's and it's an easy prey due to neglible AA on those 2 types of gunships. It's prolly depending on me protecting the flock since im an air dominant player ?


  1. It's intentional, as that will be the most heavily shielded part of M28's base, and there's a good chance if it loses that then it would have lost anyway. However it's on my longer term todo list to look at trying to avoid having 3+ ACUs all sheltering in the same place.
  2. I'd expect UEF and Sera to already get shield/nano respectively, is this not happening? Cybran and Aeon would need special logic as they won't get the health upgrades if they've gone the RAS route.
  3. If M28 gifts you any asfs then yes it will assume you will be covering its air units and will be more aggressive with them if it thinks you have air control (or are roughly even on air).

v94 Update
18 changes and (mostly campaign related) fixes, including:

  • Added a fix for a change to Cybran M6 that caused M28's asfs to not engage the czar
  • Improved the avoidance logic for Cybran M4 to make it far less likely that units damage the mainframe base (and cause the mission to fail)
  • ACUs should be more likely to remove RAS upgrade and get health based upgrades at high eco levels
  • Reduced likelihood of Aeon building a T3 arti when it hasn't tried building a Czar or lots of GCs


  • Radde - Various replays
  • goblinsly2 - noting how M28 isn't getting shield/similar upgrades when a paragon is built

No changes to trophies from before