M28AI Devlog (v111)

v5 Release

Main focus was on getting M28 to work ok on FAF mission 3 and some improvements to mission 1 objectives

  • 15 Bugfixes
  • 11 Misc changes, including a cap on the number of RAS SACUs, and making gunships more aggressive in campaign
  • Objectives to repair a damage building (such as the optional one on FAF mission 1) can now be completed by M28
  • M28 should treat civilian targets that need to be protected as relatively high priorities for its gunship and asf defence logic
  • Resolved an issue on FAF mission 3 where M28 wouldn't build navy until the 2nd objective (the reason was due to it wanting to build its naval factory in part of the map that hadn't yet been revealed)
  • Added a unit cap override option in game settings (so M28 can e.g. be given a 1k unit cap) and made 3 improvements to its decisions when near the unit cap.

v6 Release
A small release (which doesn't reflect any issues/improvements highlighted the past week as I was away):

  • Sniperbots should be less likely to move in range of an enemy fatboy
  • T1 mobile arti and T2 MML should be more aggressive
  • ACU should cancel its upgrade if hit by a TML (such that it is about to die), and should avoid upgrading in range of an enemy TML (that it has identified) unless under TMD coverage
  • Added counter to cloaked enemy ACU/SACU that is outside omni coverage
  • Increased the amount of SAMs M28 builds both in its base and across the map
  • Increased the MAA production by basing the decision on whether there is sufficient MAA on the amount of MAA only (previously SAMs were taken into account)
  • 2 Bugfixes, the main one preventing size 1 buildings being built (which meant T1 and hence T2 PD wouldn't get built)


  • Azraeelian Angel – Multiple player vs M28 replays, which resulted in most of the changes made this release
  • Relent0r – highlighting M28’s ACU could be killed by a single TML firing multiple missiles, and a replay where M28’s ACU would upgrade while taking damage and almost dead.

v7 Release
Various small changes from replays and points people have highlighted in the past week (4 bugfixes and 9 misc changes), including:

  • ACU should be less suicidal around PD @savinguptobebrok this should hopefully fix the issue you highlighted)
  • Fixed an issue with large numbers of M28 on the same team where too few factories would get built (in turn leading to overflowing mass at the T2-T3 transition stage)
  • Monkeylord should be more aggressive (instead of trying to kite with its bolters)
  • ASFs should no longer suicide to defend a friendly novax satellite!


  • QAI300 – Replay highlighting bug with land units not moving (caused by the logic that triggers when engineers are to build a game ender).
  • Radde – 4 human v 4 M28AI replay highlighting mass overflow issues at the T2-T3 stage
  • Azraeelian Angel – More human vs AI replays

V8 Release
32 Changes made, largely based on replays and testing on M5 and M6 of the FA campaign. The more significant of these changes are:

  • Improved how M28 handles missions 5 and 6 of the campaign (mission 5 - it should no longer try and target invulnerable civilian buildings; mission 6 - it should build things despite not having an ACU and is less likely to have a bunch of GCs sitting underwater taking damage from enemy subs)
  • Early game improvement in teamgame scenarios - previously M28's ACUs and engineers would consider moving to a nearby zone with unclaimed mexes even if that zone had another M28 ACU/base in it (now they will prioritise other nearby locations first)
  • Increased the likelihood of T2 arti being built in response to certain enemy threats (such as an enemy firebase)
  • Units should move instead of attack-move when they think they should easily crush the enemy (to avoid e.g. a GC inching forwards on attack move due to t1 engineers or land scouts)
  • Reduction in the land zone size of start positions as on some mapgen maps they ended up reaching to the midpoint of the map
  • Fixed a resource sharing bug that could lead M28 to think it was mass stalling when it wasnt
  • Improved late-game so it's less likely that multiple game enders will be started at once
  • Improved mass storage logic (it now gets more accurately factored into income, and is more likely to be built around T3 mexes in priority to T2)

Radde and Azraeelian Angel for each providing a number of human vs AI teamgame replays (that formed the basis of most of the changes made this update)

@maudlin27 - Hello maudlin27, first of all I have the greatest respect for your work. The AI ​​is incredible and makes AI games super exciting. Since I like playing against an AI, I appreciate your AI. As the level of difficulty increases, it does not exceed it, like an AXI AI. I have two unit mods in the vault (SAVERS FATBOY & SAVERS RAMROD) in both cases your AI is telling me to contact you so they can be used in the game. I just notice that the AI ​​still uses them. Does your AI still need a note or does the AI ​​act better with these mods then? Greeting Saver

@saver Hi, the note's just meant to flag the greater risk of errors if mods are used as depending on what the mod does there could be unexpected scenarios. I.e. in theory it should be compatible with mods, but if you come across any really strange/obviously bugged behaviour (or, if you have the Log window [F9] displaying, if you see loads of lua error messages) then send me a DM on discord with the details and replay and I can check.

v9 Release
Main changes were reworking how Ahwassas target units (including a bugfix that stopped them targeting buildings) and replay based changes (12 tweaks and bugfixes in addition to the Ahwassa changes), including:

  • Ahwassas should be more aggressive, particularly in larger numbers, while also being slightly better at avoiding ground AA fire
  • MMLs should be slightly more likely to try and overwhelm a TMD defended positon
  • ACU should be more aggressive (by factoring in the threat of allied units approaching its current position)
  • Fixed some bugs with gunship targeting logic
  • Adjusted experimental behaviour slightly so they're less likely to attack-move if an enemy experimental is attacking them just outside their range.

Also implemented logic provided by Jip to make M28 compatible with the upcoming FAF develop release.


  • Jip - Providing voice chat and code for the upcoming FAF develop changes (that introduce a new brain class for each AI)
  • Azraeelian Angel - Human vs AI replay
  • Radde - Human vs AI replays

Hello @maudlin27 , my brother and I have been heavily playing your M28 mod and we love it. Just wanted to put it out there that if there is any specific feedback you wanted from us we would be willing to help test and provide feedback for you.



@russtymango Thanks for the offer! At the moment I've no shortage of things to look at, but in the medium term one area that would be useful to get more information on is human vs AI naval gameplay.

Navy is an area that AI struggles with generally, while most replays I get sent will be for maps where navy plays no role, and as a player it's also the weakest part of my game/playstyle, so I expect it to be the weakest part of M28.

In particular, replays of human vs M28AI games on both naval maps, and maps which have a naval component (but also work with land/air) would be useful. If you're able to do it beating an AiX version (e.g. 1.2 modifier or better) even better as that makes it easier to highlight major mistakes the AI is making that cost it the game.

Many thanks for another great AI!

Just tried a match with M28 on the map concord lake, but it seems M28 doesn't like the map and decides not to play it 😉
The ACU spawns but doesnt initiate any activity.
Noticed that there was a bug like this earlier on maps with water, so perhaps this is another variant of it?

FYI It's an original map, so it's not in the map vault

@j_w_w Could you send me a DM on discord with a copy of the map? I’ve recently had a similar issue flagged on another map so it’s likely the same problem but I’d need to be able to test on the map to confirm.

Alternatively you could retest it after the next update which may have fixed the issue.

Think you already have it; should probably have said that it's a vanilla map of the base game.
If needed i can send it.

Thanks, yes I misunderstood your post, will have a look at it ahead of the next release.

Great, really looking forward on how M28 plays this map!

@maudlin27 Yeah will do that! We actually played a navy game last night with 5 humans vs 2x m28 and 1x m27.

m27 manages to actually play the game, but around tech 2/3, the m28 just kinda stalls and does nothing for the remainder of the game.

I will attach the reply here in my next reply when I get home.

Going further, we will try and play against an AiX version of m28 as well sometime this week.

See replay mentioned above here: https://replay.faforever.com/20168373

Frequent lack of anti-nukes?... I've noticed that quite often in games M28 doesn't seem to be building anti-nukes. When I've had M28 allies, the game has often very easily ended by either my M28 allies or M28 opponents getting nuked my an opposing M28 AI and having zero anti-nuke defenses; because it is the opposing M28 sending the nukes it is not the case of the nukes being too fast for the AI to build defenses, it just seems like the AI isn't building defenses. Here's an example of a replay: https://replay.faforever.com/20218155

@tyne141 Thanks, yes it's a known bug that'll be fixed in the next release

v10 Release

  • Special active shielding logic - in theory it allows M28 to survive a mavor. In practice, the few times it works it will probably just give it 6 more seconds before it dies
  • Adjustments to zone creation so on maps like adaptive dark card the central island isn't treated as part of the start zone
  • Optimisation of the experimental bomber logic including spreading it over different ticks where there are large numbers, along with a bugfix so it doesnt target land scouts
  • Support for SC UEF Mission 1 of the campaign (M28 is now able to beat it on hard with no assistance)
  • Improved support for FA Mission 6 - M28 is now capable of capturing the control centre, and should no longer reclaim it if the enemy captures it
  • MML shot synchronisation to help overwhelm TMD
  • Various ecoing adjustments to try and make M28 spend more mass upgrading mexes
  • 6 other changes and fixes, including stopping ACUs suiciding near PD that is near the start (e.g. civilian PD on adaptive dark card, or campaign missions which start with nearby enemy PD), fixing a bug that meant it didnt work on a couple of maps (e.g. Abhor and Concord Lake), and fixing a bug that prevented SMD being built


  • Fearghal (highlighting issue with SMDs not being built; also later confirmed by tyne141)
  • Radde – several replays against a 1.5 resource mod M28
  • J_W_W and Relent0r – errors where M28 wouldn’t work on a couple of maps
  • Pedro_Lima – highlighting FA Mission 6 issues with capturing the control centre
  • Unknown – I made a note that someone had highlighted one of the custom campaigns where M28 attacks PD at the start, but can’t find the comment now (I recall it was an issue either with golden crystals or raid. Since golden crystals has PD near the start I’m assuming it was that map, and a bugfix made more generally looks like it’s solved that issue).
  • Russtymango Naval replay
    (sorry if I missed anyone out – I had some rl issues so wasn’t able to look at a number of points for a while)

v11 Release
These changes were mostly based on the UEF M2 of the SC campaign, along with optimising the map pathing at the start of the game.

  • Significant reduction in the time taken to generate pathing on certain maps. One improvement was for maps with islands, where for example on Selkie Isle the time taken reduced from 172s to 21s. Another improvement was for maps with lots of mexes. For example on Strip mine this reduced the time taken from 80s to 42s.
  • M28 can now use transports to drop engineers at far away locations on the same island. For example, it may try a transport drop on maps usch as strip mine.
  • Added 'first land second air' transport rush build order for certain maps
  • Added partial support for M2 of the UEF SC campaign. In particular, M28 will now try and drop an engineer at the objective, repair it, and build up a base to defend it from the attacks (although it will get overrun on hard difficulty).
  • More than 30 adjustments to try and improve M28's combat performance on M2, including better handling of the unit cap when higher tech units aren't available, greater use of MMLs (which should also be used more aggressively), an increased limit on the number of gunships to be built, and a few other refinements to air targeting and production logic. Following these, M28 is able to complete M2 on easy provided the human player handles the 'send x tanks, AA and gunships to this location and then send civilians away' objective.
  • Reduced the amount of mexes M28 should try and upgrade at once