M28AI Devlog (v112)

v95 Update
11 changes/fixes; aside from some campaign bugfixes (including fixing an issue where M28 could ctrl-K almost its entire army when the map expanded), many of the changes were to try and improve how M28 deals with restorers, including:

  • Czars should be more likely to build asfs if they're needed
  • M28 should focus on air instead of experimentals if the enemy has air control coupled with a significant air threat
  • Fatboys should seek a larger dedicated MAA escort if the enemy has a significant gunship threat
  • Gunships should be less likely to attack enemies if they have a significant air based AA escort
  • ASFs should be less likely to suicide to protect a friendly experimental in certain cases


  • Radde - Replay showing M28 losing with a 1.3 modifier


  • 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)

Quick question: Any way to enable the overwhelm cheat option for M28? Unless I'm mistaken, this setting has not effect on M28.


@hammi Not at present, as that feature has to be specifically coded into an AI

v96 Update
16 mostly minor tweaks and fixes based on campaign testing, including:

  • Fixed a bug that meant M28 wasn't building factories at expansions when low on mass
  • Land scouts should be built initially in teamgames even if the faction choice would be suboptimal
  • Adjusted T1 build conditions to factor in how many M28 players are on the team (to stop it being built much too early in teamgames)
  • Various adjustments for when M28 is close to the unit cap and overflowing mass (primarily for campaign scenarios where higher end units are restricted)
  • Adjusted how M28 determines zones to factor in the travel distance between mexes close to player start points (to make it less likely M28 incorrectly thinks a mex is its own rather than a teammtes)


  • Fearghal - Replay where M28 reclaimed Fearghal's airgrid

I got an unhandled exception after a long time, prolly played this map 30-40 times without a single crash, and long games, 3+ hours with paragon and tons of units.
The only difference is that i was streaming to my friend this time. Could this be the reason or u see something in logs, maybe recent update to M28 ?


@goblinsly2 Nothing obvious from the log, can you turn on the FAF debugger? That way if you get crashes in the future there's a greater likelihood the log will contain information pointing towards the cause:

I will do that. Also, when the game stopped responding, i waited about 30 seconds, then i alt+tabbed and saw another window opened called unhandled exception. Does it matter which one i close first in order to give game enough time to write into logs, game window or unhandled exception ? The only other thing that comes to mind is that i was streaming a game to a friend, but game was at 0 at that time.

I don't know if it would matter, but if it did I'd guess you should close the unhandled exception first just in case it affects the crash report log.

v97 Update
10 generally minor changes and fixes, including:

  • Fixed a bug with the decision on whether land units should engage an enemy where units that were far away would sometimes be treated as nearby, and made a few other tweaks to make it more likely units will attack if they outnumber the nearby enemy forces
  • ACU should include its current weapon target when deciding if it has nearby enemies (to cover niche cases where it would be at the edge of a zone and so not 'see' a unit in an adjacent zone its firing at)
  • Fire beetles should no longer be built when trying to snipe an ACU (since M28 doesnt have any special code to use them
  • Fixed several issues with land scouts where they could be overbuilt, and/or get build when M28 has AiX omni vision


  • Radde - several 1v1 replays against M28

v98 Update
11 more changes and fixes:

  • Support for absolver (and Cybran equivalent) added - M28 should now build a small number if faced with a nearby enemy shield threat
  • Improved late-game potential on 0 mex high reclaim maps like Forest Nothing (i.e. M28 should be more likely to build mass fabs and RAS SACUs)
  • Fixed an issue where MMLs could ground-fire TMD they didn't have intel of
  • Tweaks to mostly early game logic, including transports being less likely to abort from a far away enemy threat, Selens being slightly more aggressive, and tanks supporting t1 arti being more cautious around an enemy ACU


  • Chucups - mentioning that M28 doesnt get RAS/Fabs on Forest Nothing (a long time ago!)
  • Radde - 3 1v1 replays

No changes to before:

  • Radde trophy (1.4 resource 15km+ mapgen) - Radde and KuhwaKlimakleber beat v86 M28AI
  • Sladow trophy (1.5 AiX, 10km+ map) - Radde beat v81 M28AI

v99 Update

13 changes including:

  • New T1 arti drop logic for transports
  • Guncoms should be more likely to have a land scout nearby to give them intel
  • Delayed upgrades in the first few minutes at higher resource modifiers
  • Adjustments to how units backup to make it more likely (since it appears units have to be stationary for backing up to work now)
  • Decrease in ACU aggressiveness at the start of campaign missions so its less likely to suicide into nearby PD


  • GerJS and Hypoxic – Campaign replays where M28’s ACU is suicidal vs enemy PD near its start position
  • Radde – 1v1 replays


  • Radde trophy - Radde beat M28AI (v98) with a 1.4 resource modifier (albeit it was on a mapgen map that had been played a number of times)
  • Sladow trophy (1.5 AiX, 10km+ map) - no change (Radde beat v81 M28AI)

v100 Update
M28 turns 100! 18 changes and fixes this update, including:

  • New AIx overwhelm mode where M28 can gradually get stronger or weaker over the course of the game - 3 new config settings have been added allowing you to specify the rate of change in the AIx modifier, how frequently it changes, and when it stops changing.
  • Added support for Eye of Rihanne so it will sometimes be built late game (and then used to scout the enemy)
  • Various refinements to unit backup logic, and expansion of preemptive engineer bomber dodging to try and more consitently reverse and/or dodge bombs


  • Zhanghm18 replay where M28 kept trying to build units it was self destructing due to the unit cap
  • Balthazar – providing the game function for determining a unit’s speed

No change from before (Radde trophy - current holder Radde who beat v98 M28AI; Sladow trophy - current holder Radde who beat v81 M28AI)

Using your ais in parched river with ninja drones, offline skirmish.ForgedAlliance_sSRgyYbxqw.jpg

It's the reclaim drones that break it. I'll just disable the drones next time, so, no rush.

@maudlin27 said in M28AI Devlog (v100):

M28 turns 100!

Congratulations to a great anniversary and achievement, and thanks for this great contribution!

  • New AIx overwhelm mode where M28 can gradually get stronger or weaker over the course of the game - 3 new config settings have been added allowing you to specify the rate of change in the AIx modifier, how frequently it changes, and when it stops changing.

THANKS!!! specifically for this one.

°°7 Congratulations

@innomen said in M28AI Devlog (v100):

Using your ais in parched river with ninja drones, offline skirmish.!
It's the reclaim drones that break it. I'll just disable the drones next time, so, no rush.

Have you got a replay ID, and what was the issue specifically? Also do you have the same issue using other AI (e.g. the default AI) with the ninja drones?

I've noticed M28 not attacking when it has loads of Mantis or Thaams and trying to keep them at range (or retreating) when it would be much better charging them in. Haven't got a replay of for you atm though.

@reckless_charger Thanks, I'm aware but it's likely an unresolvable side-effect of how it decides if it thinks it can win a fight. If it doesn't outrange the enemy then it tries to ensure it has a decent advantage over the enemy before committing, in part because when it attacks the units have a tendency to go in a line (making it easier for a smaller concentrated army to kill them). I.e. even with the current thresholds I've seen it lose fights that it picks (even if I'd have expected it to win if it was a human player based on army sizes).

However if it's got an overwhelming force, factoring in mobile enemies that in theory could also join the fight, and still doesnt attack it might be something I could look at to see if it can be tweaked slightly more.

@maudlin27 edit, I've made a mistake, it only fails offline in skirmish, save is 102mb, no replays in skirmish apparently

AI seems to ignore reclaim on hills. Also, it seems it largely undervalues big portions of reclaim.
In general, I think it is quite interesting to see how AI plays on high reclaim mapgen in comparison to human