M28AI Devlog (v102)

@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.

Acknowledgements:

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

Cheers,

Russtymango

@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.

@maudlin27
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

Acknowledgements

  • 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

v12-v13 Release
Almost all these changes were for UEF M3 and M4 of the SC campaign (with 15 changes made for M3 and 26 for M4). Examples of some of the changes:

  • M28 should now support campaign objectives involving reclaiming a unit (such as arnold's black box)
  • Improved logic with high numbers of air units, including a cap on gunship and intie/asf numbers and an increase in air staging (to avoid e.g. inties permanently being low on fuel)
  • Fixed a bug with torp bombers that could prevent units being targeted.
  • Added a workaround for a bug with SC M3 that can make it impossible for the game to end
  • Improved support for unit restrictions that allow a higher tech factory to be built but not engineers of that tech level (e.g. M4 of the campaign)
  • M28 should be more likely to try and attack the enemy base with land experimentals when it's on another island
  • Increased the types of units TML should try and target (and TMD should try and cover)

v13 - Hotfix to disable some testing code that would apply with AiX

v14 Release
More campaign mission support - I've summarised the missions below along with some examples of changes that will be of wider relevance:

  • UEF M5 - 5 Changes (including shrinking starting land zones, and providing a niche strategy to overwhelm the enemy with nukes)
  • UEF M6 - 12 Changes, mostly focused on naval/torpedo bomber usage, including a number of bugfixes
  • Cybran M1 - 6 Changes, focused around use of bombers (only likely to be relevant if playing with unit restrictions or in niche scenarios)
  • Cybran M2 - 28 (!!) changes. This mission was a real pain to get to work, and many of the changes were just campaign specific points, although more general points included improving the accuracy of logic for identifying nearby water zones, and reducing the likelihood of island expansions overbuilding units if on a large island.
  • 8 Misc changes and bugfixes for various niche scenarios (e.g. expansion areas being better at judging whether to build indirect fire units; units in expansion areas being more aggressive if the enemy is almost in range of the last zone to retreat to)

Acknowledgements

  • Sprouto - providing some code to try and mitigate issues where orders weren’t being processed – it didn’t fix the issue I had at the time (a strange one where an engineer would be given a move order nearby yet fail to move), but I’ve left the code in incase it’s of help for a potential future issue.
  • Pedro_Lima – Mentioning that M28’s ACU was being a bit too aggressive and dying on one of the Seraphim campaign maps.

@maudlin27

Hello Mauldin,

I've played games with the M28 and the UVESO mod with a buddy or alone in the last few days, unfortunately 3/4 of them always broke off in the combo. The last test was today because it ran yesterday. Unfortunately, today I only had game breaks after about 1 - 5 minutes. I have a log and an Unhandled Exception report. .. Your AI alone is otherwise stable.Unhandled Exception.txt game_20377122.log
https://replay.faforever.com/20377181

Here's a replay that went really well. https://replay.faforever.com/20378257
same setting, different map

@saver Thanks, there was an error that replay highlighted which will be fixed in the next version. I doubt it was the cause of the crash, but I've not been able to reproduce it (trying twice on that map with only Uveso and M28 mods and once with the same mods you had in the replay), so there's a chance it was connected to that or something else has changed that has fixed it. It's also possible it was linked to the unit restrictions, as there was an incompatibility with the stone age mod (which will be fixed in the next release) so maybe the fix for the cause of that incompatibilty helped in some way.