M28AI Devlog (v157)
-
Perhaps the AI can have a simple logic: let him reserve 50-100 unit cap, and then randomly build experimental units or navy.
-
@zhanghm18 The desire to build an experimental unit is almost identical between the factions, so I'm guessing it was different game-states that led to UEF building lots and Cybran not.
The choice of what experimental to build will vary though. The logic is based on unit categories, and if the desired category isn't available then the AI will switch to building a random experimental. What that means in practice is that if for example you have a mod that adds a bunch of land experimentals to the game, and M28 wants to build a land experimental, it will pick from any of the existing FAF and new modded experimentals.
If instead M28 wants to build say a novax and the mod removes novax but adds a new air experimental, then M28 will switch to building any random experimental (which will include the modded experimental as an option).In terms of the unit cap M28 should already adapt to getting near the unit cap, e.g. it should ctrl-K T1-T2 units, not build more T1-T2 units (with a couple of rare exceptions), and stop building a particular type of unit that it has lots of (regardless of tech level). If it is actually hitting the 1k unit cap consistently I'd need a replay to assess, as adding logic to not build any T3 units at a certain point could have significant drawbacks - for example, if it stopped building asfs it could quickly lose air control and then it wouldn't matter how many land experimentals it built if they'd just die to enemy gunships/strats.
-
@maudlin27 I ran a lot of tests, on different maps. But the cybran AI will always build a large number of T3 land armies and a small number of air forces. And only a handful of experimental units will be built. In contrast, his rival UEF ai builds a large number of random land experimental units. As a result, UEF's AI wins every time
-
@zhanghm18 I'd need a replay to assess, as adding logic to not stop building T3 units at a certain point could have significant drawbacks
-
v22 Update
This update revisited how M28 performs against RNG and DilliDalli following the various updates made to M28. Generally it performed notably better than the last time I tested on a range of matchups against these AI, although it still struggles to not get overwhelmed at the T1-T2 stage, particularly against DilliDalli.48 Updates were made on a map by map basis:
- Cadmonium Green - 3 updates vs RNG (forgot to test for DD)
- Stickleback Ridge - 8 updates vs DilliDalli (no changes for RNG)
- Crash site - 3 updates vs RNG, 3 updates vs DilliDalli
- Forbidden pass - 7 updates vs RNG, 1 update vs DilliDalli
- Open palms - 4 updates vs RNG, 5 updates vs DilliDalli
- Burial Mounds - 3 updates vs RNG, auto-win vs DilliDalli (it suicides its ACU into civilian PD)
- Badlands - 2 updates vs RNG, 9 updates vs DilliDalli
(also tested against RNG on Pelagial, Eye of the swarm, white fire, Setons, and theta passage)
As a summary of some of the changes:
- Increased tank aggression early-game, with tanks being more likely to move defensively to protect expanding engineers
- Various bugfixes to TML targeting logic
- Early ACU build order tweaks
- Adjusting decisions on when to upgrade factories
- Aeon should favour blazes early on instead of obsidians
- Greater use of PD to protect both core and minor land zones
- Adjustments to how transports load engineers to try and increase the speed slightly
- Slightly greater use of MAA from before where the enemy has no bomber/gunship threat but lots of inties/asfs
- Adjustments to T2 arti building logic (fixing a bug that could lead it to be overbuilt while also increasing how early they're built in response to a fatboy threat)
- Fixed bugs with torpedo bomber targeting logic
Acknowledgements
- Balthazar – pointing me towards the :GetCurrentLayer() to determine if an experimental that is in water can be targeted by torpedo bombers
-
v23 Update
This update mostly covered niche scenarios, including certain situations in M1 and M3 of the Seraphim campaign and an issue late game if M28 reaches the unit cap and loses some engineers. Map loading speed has been improved significantly for maps with large amounts of water.- Reworking of pathing related logic for water zones at the start of the map - for a slighty loss in accuracy in calculating travel distances of about 5%, loading time was improved for maps with lots of water zones (on the Seraphim M1 campaign map the relevant logic's time reduced from 71s to under 2s, with overall map time only taking 15s as a result for that map)
- Seraphim mission 1 - 10 changes, mostly around making the ACU more aggressive at the start
- (Seraphim mission 2 - fix made separately to FAF's Nav's navigational mesh - I'm hoping this might feature in the upcoming development update III next week, in which case M28 should start working on this map)
- Seraphim mission 3 - 5 changes, mostly campaign specific (along with a bugfix that could lead to too much PD being built)
- Zhangm18 M28 mirror replay (featuring high AiX) - 3 changes, mostly relating to having engineers more likely to spend mass instead of assisting shields late-game, to reduce the likelihood M28 ends up overflowing mass when it hits the unit cap.
- 3 other minor changes/fixes
Acknowledgements
- Zhangm18 replay – highlighting how M28 could overflow mass if it hit the unit cap and its engineers were all stuck on shield assist duty.
-
v24 update
This update was focused on fine tuning on the map four-leaf clover, pitting it in 1v1s against RNG, DilliDalli and M27, with 39 changes made:- 24 changes made fighting against RNG, including improved initial build order; improvement to the location expanding engineers go to initially, increased ACU aggression, slightly improved air scouting, and expanded logic when deciding whether to attack enemy bombers/gunships to be more accurate in assessing whether it is safe to engage them.
- 3 changes made against DilliDalli, including pausing production to get energy for overcharge, and gunships being used to defend the ACU as a high priority
- 7 changes made against M27, including fixing an issue where land units could go idle if the enemy retreated, and fiing a bug that was causing excessive factories to be built at 'expansion bases' on the same island
- 5 other changes, including adding slightly more variety to very late-game experimental choice (Cybran and Aeon are slightly more likely to build air experimentals, UEF should consider novaxes again if it already has a Mavor), reducing the extent to which T3 combat units get built in unit cap scenarios, and reworking when M28's brain gets setup so the FAF Navigational mesh gets calculated on the playable area instead of the entire map (for non-campaign maps). I.e. this should mean M28 no longer thinks the two southern bases on Dual Gap can attack each other by land.
Acknowledgements
- Jip – highlighting how to get the NavMesh to only consider the playable area on non-campaign maps
- Relent0r – highlighting M28’s sub-par performance on four-leaf clover
-
Hi,
We've encountered an issue yesterday with M28. The two M28 AIs would not do anything upon game start. Here is the relevant replay in case it could help: https://replay.faforever.com/20630807
Do note the same map with M27 instead of M28 was OK (everything else was identical).Another issue we had, that might not be related to M28/M27 at all: all 3 games we ran yesterday (2 with M28, 1 with M27) were laggy with frequent micro-freezes (no apparent connectivity issues between players, same PCs as usual and same group of players as we usually do). Again, this might not be related to your AIs at all, but I thought this was worth mentioning.
Thanks again for your hard work, it is very much appreciated.
-
@v_k M27 is more likely to have micro freezes. Do you have a replay and rough timestamp of an M28 only game with noticeable micro freezes?
-
@maudlin27 Hi,
Sure! This one with M28 had noticeable micro-freezes during litterally the whole game; I have no specific timestamp, it was kinda hard to play from the very beginning to the end. I'm not sure this is something visible in the replay though.
https://replay.faforever.com/20630393Thanks!
-
@v_k said in M28AI Devlog (v24):
20630393
Does the replay stutter for you? I was able to run it smoothly at +10 speed throughout with no obvious stuttering, so I'm assuming the issue was one of the players in the game (e.g. I recall occasionally having a game involving only humans that stutters/goes very slowly due to issues on one of the player's side).
-
@maudlin27 The replay runs smoothly on my end too. I'm not sure micro-freezes would have been noticeable though.
That said, I've started today (with the same version of M28 we used the other day) the same map with 7 AIs + me, and everything runs fine. i'm guessing this was more of an issue with FAF servers.
Again, I was not convinced this had anything to do with your mod (as M27 behaved similarly), but I thought this was worth mentioning as I reported the other issue anyway (pretty sure it is related to M28 this time).
For that other issue, in case it could help, I can reproduce when creating a new game (M28 on any spot of Adaptative Turtle Beach will not do anything).Thanks again, let me know if you need any information.
-
@v_k Thnaks, yes the issue on that map has been fixed so should be working following the next release
-
how i can install m28 ai
-
@baki Go to the Mods tab in the FAF launcher - search for M28 and install it, then if you create a custom game you can enable it as a SIM mod
-
@mattcee233 I have bug on the FAF launcher![Снимок экрана (870).png]
Image removed by Global Moderator magge: You can appeal against your ban via the stated email under the ban message.
-
That's a ban, not a bug. I expect you could get FAF to work offline (by downloading via github) and then download M28 mod via github to play against it offline.
-
v25 Update
24 Mostly minor and campaign specific points. One more widespread change was rewriting how land pathing logic is done which significantly reduces the time at the start of the game on larger land maps, at the cost of accuracy. It's possible this might cause M28 to break on some maps so let me know if it doesn't work at all on a map (I've tested on a few different ones so hopefully have caught most cases).- Seraphim Mission 4 - 5 changes, mostly minor points or bugfixes
- Seraphim Mission 5 - 5 changes, including better SMD defence against a Yolona Oss, and gunships trying to avoid friendly Ahwassa bomb fire
- Coalition Mission 1 - 3 changes, including better late-game power stall handling, and having untis in campaign not try and reinforce zones outside the playable map. Note that even after these changes M28 is unable to complete this mission on easy without cheats (it managed to with AiX 1.2 modifier on easy).
- Coalition Mission 3 - Rewriting of part of the land pathing logic (that was taking c.85s and now only takes 7.5s, bringing the total map loading time down from 95s to 17.5s); 2 other changes (including fixing how 'large' campaign maps are treated for various parts of M28's logic to be based on the final expanded map size instead of the initial playable area)
- Fixed bug causing Adaptive turtle beach to not load
- 7 other changes, including making land experimentals more aggressive when they can't kite, and able to focus down an enemy ACU.
Acknowledgements
- V_k – Replay showing M28 is broken on Adaptive Turtle Beach
- Zhanghm18 – Noting that M28 builds too many experimental shields for mods with such an option enabled
-
v26 Update
30 changes for a 5v5 replay on Xander adaptive, addition of telesnipe logic, and 4 other changes, including:- Greater focus on ecoing for bases in an eco/air slot (i.e. that have teammates between them and the enemy)
- Reduced the extent to which air staging facilities and pre-emptive SMD are built simultaneously by every teammate
- Fixed a bug that was leading to over-building of factories
- ACUs should be less keen on getting expensive upgrades and more likely to assist other units
- Enemy T2 arti should deter building PD and upgrading mexes in its range
- Refined gunship targeting logic to make them less aggressive when they're scattered across the map and reducing the value given to experimental 'gunships' (Czar and soulripper)
- Further work on special shielding logic to try and improve its application (maybe one day it will work smoothly...)
- New Tele-snipe logic - while I expect it will rarely trigger and so won't have been worth the effort required to implement from a competitive perspective, my hope is it leads to some fun surprises occasionally (plus it's something that M27 doesn't do)
Acknowledgements
- Radde - sharing 2 2v2 replays on Xander adaptive (and also using M28 for a separate game that I used as the basis for most of the changes in this update)
- res - for mentioning they played against M28 in a replay for review (which when I chekced highlighted a flaw with M28's build order on that map that led it to a major power stall - only partially fixed in this update since I saw it just as I was about to release M28 so now it just has a moderate power stall)
-
Hello maudlin, I tested your new version and had a few warnings. Here the log. 1922c969-ae39-467e-9586-c01ce48971f0-game_20699863.log unfortunately no replay was generated.