M28AI Devlog (v147)
-
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
-
https://replay.faforever.com/22681440
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 -
v101 Update
13 changes mostly based on a few Yung Dookie replays:- ACU target prioritisation updated so it targets T1 combat units over enemy ACUs (unless trying to kill the ACU)
- Fixed an issue where M28 could tell its ACU to reclaim nearby wrecks despite being surrounded by enemy units
- Transports should commit to a drop once they get close to the target, and consider dropping early if getting low on health
- Fixed a bug that prevented transports from dropping on mex-free plateaus with lots of reclaim
- Improved ACU's ability to dodge notha shots (unlike a player it can't dodge all of them, but in a few sandbox tests dodged a much higher proportion than before)
Acknowledgements
- Yung Dookie for providing several replays against M28 on a 5km (M28 won one lost one) which helped with estimating the rating to give to M28 as well as identifying some issues, along with a replay on the Ditch which highlighted M28's failure to reclaim mex-less plateaus
- Pablo and Ravendel - Ditch replay also highlighting M28 failing to reclaim mexless plateaus, along with a couple of additional replays
- DillyDalli - A separate replay also highlighting M28 failing to reclaim mexless plateaus
Trophies
No change from before (Radde trophy - current holder Radde who beat v98 1.4 resource M28AI; Sladow trophy - current holder Radde who beat v81 1.5 AIx M28AI) -
https://replay.faforever.com/22700574
It seems that AI undervalues it's ACU in 1v1 - I managed to trade with AI that had 1.5 multiplier on 5 km map. Also, it's strange it did not block my path/focused my ACU with everything -
I think 1.4 and 1.5 multipliers is too much for v100+ trophies. I tried it like 5 times and it's really hard:
On 5km map the only chance is too push very early until eco advantage hits you
On 15 km mapgen AI can take really inefficient trades and still be in eco advantage
Just see how hard it was to cheese with aeon gun on 1.3 multiplier:
https://replay.faforever.com/22700773 -
https://replay.faforever.com/22701325
Managed to get map control from 1.4 AI - not sure it's a bug, but interesting. Still lost -
https://replay.faforever.com/22701462
AI does not go t2 navy till min 16 on navy map + undervalues islands with lots of mexes - still beats me as 1.4 mass is enough... (t2 navy countered with t1 subs xd) -
@dillydally said in M28AI Devlog (v101):
I think 1.4 and 1.5 multipliers is too much for v100+ trophies. I tried it like 5 times and it's really hard:
On 5km map the only chance is too push very early until eco advantage hits you
On 15 km mapgen AI can take really inefficient trades and still be in eco advantage
Just see how hard it was to cheese with aeon gun on 1.3 multiplier:
https://replay.faforever.com/22700773Thanks for all the replays! I might consider adjusting the requirements if it goes a long time with no-one able to beat them, but part of the reason for them being so high is because it makes it very likely that M28 will have made a significant blunder costing it the game, and it's not expected that many people would be able to beat it at those levels.
For example, in the first 1.5 resource 5km replay you posted, it largely played as I would have wanted, but was ultimately caught out part-way through its gun upgade when your Aeon half upgraded guncom appeared (but it didn't start its gun upgrade particularly late, hence there's nothing obvious I'd want it to do differently in the future that is feasible - e.g. getting gun sooner would damage its economy and mean fewer tanks; getting T1 PD to cover the upgrading ACU would probably be a mistake more often than it would help). In contrast if it was in that sort of a position despite both a significant resource and build rate advantage then I'd need to rethink the approach as it would have gone beyond unfortunate timing re the upgrade.
That said, with the 1.4 mapgen replay while it wasn't a bug I think it could've got a few more factories early on so I'll tweak to let it get slightly more in future)
In terms of the navy I see it as a grey area whether going T2 earlier or focusing on t1 navy spam is better - the risk if it focuses on T2 earlier is it gets overrun before it can build enough t2 naval units to help it (more likely for an AI since it requires a decent amount of judgement to assess if you think you have enough units to hold off the enemy while getting a T2 upgrade)
-
@maudlin27
I finally managed to beat the AI on 15 km mapgen with 1.4 resource modifier. I think AI just misjudged the map and went into air and navy when land was key factor. Also, it didn't go pd creep when my army with ACU arrived.
And I think it undervalued reclaim and far mexes again.
https://replay.faforever.com/22706131
Edit:
Now I looked through replay.
It goes 2nd air on this map - it's strange, mexes are not that far to rush a transport to drop 1(!) eng...
1st bomber goes without scout and bombs nothing
It is building engies from 2 factories instead of 1, so has no units + is very greedy with t2 mex. I think we are too close for t2 mex.
Then it spams eng from 4 (!!!) factories even when see my units coming
Not sure why it went t2 air at all.
9:20 - it knows I have army and it has a lot of t2 engies - couple of PDs could save the game. Then units just block the PD spot for years
11:00 - it is totally losing, but could probably rush gun and t1 PDs due to good eco + go into water -
@dillydally said in M28AI Devlog (v101):
@maudlin27
I finally managed to beat the AI on 15 km mapgen with 1.4 resource modifier
https://replay.faforever.com/22706131Thanks for the replay and comments, and congrats on beating it at 1.4 resource mod! A few things for me to work on from that for the next update. I think many of the issues were connected to it going for T3 air too early (causing it to stall power, which I expect was the reason it both failed to get T2 PD, and failed to get the gun upgrade on its ACU)
-
v102 Update
13 changes based mostly on replays from DillyDally, including:- A few tweaks to when tanks will come to the aid of M28's ACU to make them slightly more aggressive
- Increased the chance of a second T1 air fac being built at relatively high mass storage levels (since otherwise M28 wouldnt get any more factories)
- Significant increase in priority of building the first air scout if a first bomber has just been built
- Adjusted transport drop prioritisation so a 3+ mex zone on the same plateau will be prioritised over a 1 mex plateau
- When deciding whether to upgrade to a T3 air fac, the AI's resource bonus should be taken into account (to make an upgrade less likely in some cases than before)
- The first T2 PD should have its build location reassessed if construction doesnt start soon and units are blocking the build location
- Absolvers should be more cautious/retreat sooner
- Idle engineers should attack move to an adjacent land zone instead of sitting idle (so they can pick up very low reclaim value props on the way)
Acknowledgements
- DillyDally - various replays which formed the basis of the majority of the changes this update
Trophies
- Radde trophy - Awarded to DillyDally for beating v101 M28 at 1.4 resource on a 15km mapgen
-
@maudlin27 I had a crash today and it seems that it has to do with OBS which i use for streaming. Do you have any more insight as to what is wrong or how to solve it ?
-
@goblinsly2 My expectation is it went over the 2GB memory threshold given this line was in the log:
ACCESS_VIOLATION: Write to 0x0389F000 Out of memory/Alloc errorIn which case a couple of options you could try to avoid a repeat would be to reduce the number of AI players and/or the unit cap
-
Ok, so this is not OBS problem then ? I am asking because this never happened when i played, but had a crash 2 times when using OBS. And i wasn't even far into the game, probably about 1 hour, while other games i played for 3-4 hours ingame time
-
It's possible observer mode results in a higher memory usage; for example when I tested a while ago, staying zoomed out at default used less memory than when zooming in, so I'd guess it's possible that as a player fewer assets are loaded into memory (because they're not visible) vs if you were an observer
-
v103 Update
The main change this update was adding basic compatibility with LOUD - although M28 won't be able to play LOUD well (with parts of its logic broken or relying on redundancies) it is now compatible with LOUD enough to play somewhat competitively.
Note there’s currently an issue with getting M28 to work on the latest release of LOUD which I’ll be looking into shortly - currently it only works with v7.0 of LOUD
- 9 general changes and fixes, including fixing a bug that meant M28Easy would try and dodge T1 arti and MML shots
- Basic LOUD compatibility added (i.e. M28 can play LOUD, and some configuration options are provided to specify to what extent) - Copy M28 mod folder to the LOUD usermods folder and enable it in the mod manager, then reload LOUD to see the M28 game options that allow you to play with M28 instead of or as well as LOUD. Note that the option to specify what team M28 applies to gives inconsistent results based on the map (i.e. the teams per the game settings don't align with how the teams are recorded for the map, so applying M28 to 'odd' teams might actually end up applying it to even teams) - this is only relevant for mixed M28 and LOUD AI games though.
- 6 changes made from an initial test of M28 on a LOUD map of wider relevance, covering some refinements to when it will upgrade a t1 mex to t2, and reworking how it draws the core base land zone if there are no mexes very close to spawn but are some much further away (which seems to be the case for almost every LOUD map)
Acknowledgements:
- GerJS – Replays highlighting how M28Easy would try and dodge MML and T1 arti fire
- Goblinsly – Log which included an error with M28’s land logic
- Sprouto – splitting out a function in LOUD to facilitate it being hooked
- Jip – Confirming I could copy the code to get the navigational mesh he wrote into M28/ M27Mini (with appropriate copyright notice) which made it feasible to get these mods working outside of FAF, and for creating the Navmesh in the first place!
-
v104 Hotfix
- Fixed a bug introduced in v103 for co-op maps that could cause a bunch of error messages to appear
- Updated LOUD related initialization to switch compatibility to v7.02 from v7.0
- One other niche bugfix/redundancy
Acknowledgements
- greenkiller56 - highlighting a bug with M28 on coop
- j.w.w - noting M28 didnt work on latest LOUD release
-
There might be a bug with v103 or v104 regarding shields => https://imgur.com/a/ONbRhwe
The shield cannot be destroyed (building yes but shield itself no) and projectiles get stuck in it causing the game to progressively slow down. We got it twice and couldn't reproduce without M28AI, and another player described the same problem in #aeolus (also with M28AI enabled).