M28AI Devlog (v162)
-
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). -
I play 1 game against M28 everyday and would like to thank you for your work - u have no idea how much fun i have after a working day, playing against M28
I have a few observations, if u find them useful:
- Occasionaly M28 has problems regarding nukes. Namely, when i launch a nuke and its in the air, often he might go to where the nuke will land. I thought it was to lure the enemy but he sent to many planes there. And sometimes he will launch a nuke a few seconds after i do and target the spot that will be destroyed by my nuke
- when he spots enemy air experimental or gunships, he will often follow them with all their ASF's and get shreded in heavily SAMs fortified town (scouted). When he is fighting ASF vs ASF he will usualy stop, but when its about gunships or air exp he will send them to death often, barely shooting anything down
- sometimes we have a land experimental nearing our base while he goes with tons of gunships killing some very far away scouts and stuff
ps: is there something special with fatboys or UEF in particular ? I find the games with UEF run a lot slower than games without them, particularly when fatboys move around. I did test and fatboys vs fatboys do indeed cause serious lag. Which is funny because ASF fights even consisting of like 1300 ASF's rarely cause more than -1 or -2. When u see fatboys around after 1.5 hours i can drop to -5
-
@croutouze If it was with v104 please could you send me the replay ID?
-
@goblinsly2 said in M28AI Devlog (v104):
I play 1 game against M28 everyday and would like to thank you for your work - u have no idea how much fun i have after a working day, playing against M28
I have a few observations, if u find them useful:
- Occasionaly M28 has problems regarding nukes. Namely, when i launch a nuke and its in the air, often he might go to where the nuke will land. I thought it was to lure the enemy but he sent to many planes there. And sometimes he will launch a nuke a few seconds after i do and target the spot that will be destroyed by my nuke
- when he spots enemy air experimental or gunships, he will often follow them with all their ASF's and get shreded in heavily SAMs fortified town (scouted). When he is fighting ASF vs ASF he will usualy stop, but when its about gunships or air exp he will send them to death often, barely shooting anything down
- sometimes we have a land experimental nearing our base while he goes with tons of gunships killing some very far away scouts and stuff
ps: is there something special with fatboys or UEF in particular ? I find the games with UEF run a lot slower than games without them, particularly when fatboys move around. I did test and fatboys vs fatboys do indeed cause serious lag. Which is funny because ASF fights even consisting of like 1300 ASF's rarely cause more than -1 or -2. When u see fatboys around after 1.5 hours i can drop to -5
Thanks for the comments,
- 1a (air suiciding into nukes) - what air units are going in the nuke radius - gunships, or asfs? I thought I'd added logic for gunships to avoid nukes, but not sure I've done the same for asfs (as it would tax the cpu a lot more)
- 1b (nukes doubling up on human nukes) - It's meant to check for teammate nuke launches, however there will be a 5-10s gap (depending on faction) between a missile launch being queued and actually launching. E.g. if you start firing a missile at target X, 3 seconds later (before the missile launches) M28 thinks target X would be good for it to nuke and launches its missile, then 2 seconds later your missile is released from the launcher, followed a few seconds later by M28's at the same target. If there's a bigger gap between the two (i.e. more than 10s after your missile is released from the silo M28's missile fires) then let me know the replay and timestamp and I can look into further to see if there's a bug
- 2 (asf suicide into air exp) - Could be working as intended depending on the scenario - it will be more aggressive if it thinks it has air control; and if the enemy air experimental is threatening a high value target (like its base, ACU, or a friendly experimental). If it's suiciding into an air experimental that is a long way (e.g. more than a T2 arti firing range) away from high value friendly units, and it's in the first 40m of a game, let me know the replay and rough timestamp and I can see if there are any tweaks I can do.
- 3 (gunships ignoring approaching land exp) - it has an override for land experimentals that get close to its base, although this might vary on map size, if you have a replay and timestamp that's , in the first 40m of a game let me know
(reason for the 40m threshold is there's a good chance time looking at it would be wasted/I conclude it works as intended but it would potentially take a long time to test to confirm if the re play is later on than that, assuming we're talking about large teamgames/large unit counts) - 4 (fatboy slowdown) - It's possible, fatboys have some custom logic, although I wouldn't have expected it to be that intensive as other units have similar logic; if you use the cheat menu to spawn a couple of fatboys for M28s on opposing teams early on in a game do you get the same sort of slowdown? if so I could look into further to figure out if its the fatboy logic and (if so) if there are ways I can optimise without making it significantly weaker
-
@maudlin27 I can't reproduce with v104. Maybe it was just on v103.
-
v105 Hotfix
Hotfix with 8 changes (5 of which are LOUD specific):
- Fixed bug introduced in v104 that meant ACU upgrades would cancel on completion for all players if M28 mod was active
- Fixed a bug with M28's adjacency build logic that meant it was searching much further away than intended when building adjacent to mexes and hydros that hadn't had construction started
- Underwater mexes should be treated as being a very weak submarine unit so M28 builds subs earlier on to try and kill them.
- LOUD specific - added basic support for the new LOUD functionality to allow custom AIs to be selected from the main lobby (which means for the first time M28 and LOUD can play as teammates instead of just opponents); fixed bugs meaning submarines wouldn't be built.
Acknowledgements
- Sprouto – including a pull request I drafted (to allow LOUD to support selection of custom AI in the game lobby) into the LOUD code and the latest update
- Chucups – noting upgrades are cancelled if M28AI mod is active
-
If i spawn like 20 fatboys and have them shoot at eachother, my game will practicaly stop. Though that might just be projectile calculation, not necesarily anything to do with M28, granted im on an old i5 [email protected]. But playing 10s and 10s of games on the same map, i noticed that when there are UEF's, after 1h30m game will progressively become slower and slower. When there are no UEF's it is a lot better. Naturaly i thought of fatboys because otherwise i dont see anything unusual about UEF except fatboys and their strange projectiles (projectiles hitting fatboy when it explodes, u can just feel everything stop)
-
Had another game crashed. I played this map in the very same configuration for 30 times without crash. It crashed only 2 times, both times i was streaming through OBS/youtube. Any idea how OBS could somehow mess the SC or affect its ram usage ?
-
@goblinsly2 Re OBS I don't know, however it does feature in the log which I wasn't expecting, so if the only times its crashing are when you're using it and there are lots of games where it isn't crashing then it sounds like it does impact memory.
One way to test could be to run an M28 vs M28 game as observer for 45m at max game speed with and without OBS, 'afk', making a note of memory usage with and without it, to see if there's a big difference. However even if confirmed I wouldn't know if there was any solution to using OBS with high memory using mods.I also wonder if that was the cause of the replay itself not being available in the FAF replay vault - if you have access to the local version could you send it over as well (there was an error that repeated at the end of the game and reviewing the code it's not clear to me why it occured so I'd need a replay to investigate further)
-
Sadly i don't have a replay even in my replay folder, seems it failed to make one after last crash. I will test stream M28 vs M28 on +10 and see how much ram is used by supreme commander. But for some reason i think it might have to do with audio capture. I use a plugin in obs so that i can stream game audio but not system audio - this is because i am chating with friend on skype while he watches the stream and he hears his echo if i dont disable audio output except sc game
-
Crashed again. I checked both game times since youtube saved my livestream, 1 crashed at 47 min, the other at 49 min. Image is from last game that crashed, showing 1.8GB max
I tried with bots, 6v6, same map, no crash after 1 hour, will try a longer game tomorrow to see if it crashes, one today ended prematurely to see if it would crash. -
v106 Update
33 changes and fixes based on a working through some compatibility issues with LOUD. Although prompted by getting functionality to work for LOUD, 13 of the changes will be of relevance to FAF (in some cases core FAF, in other cases via improved mod compatibility), although they're generally minor changes:- Fixed some unit categorisation bugs with obsidians and mercy following some changes a while ago with FAF's unit categories
- Late-game arti template shields should only have 1 engineer assigned in low power scenarios once a few have been built
- Fixed a bug with AIx overwhelm not working with RAS SACUs and causing them to lose the benefit of the RAS upgrade
- Made M28 much more likely to build navy on larger maps in certain cases, such as if it was in the Setons Air slot with no teammates
- Various LOUD related fixes, including costruction of experimentals (can only be built by SACUs in LOUD), fixing mobile shields, omni over-construction, made use of new per-AI AIx modifiers, fixed AIx overwhelm to work in LOUD, improvements to experimental construction choice to reflect LOUD unit categories and the lack of a novax
Acknowledgements
- Wingflier - running some M28 vs LOUD games to help with testing including highlighting a number of areas where M28's normal logic wasn't working
-
Noticed a strange behavior with some of my custom units.
https://youtu.be/eq6I0jkQV40units BP: ual0108_unit.zip