Maybe 2 versions? One which uses all the annoying ranged units and kites alot (like it does presently) and one which is more human-like and restricts that behaviour to auroras, hoplites, bricks etc? And builds less MML (noticed this in particular for Seraphim).
M28AI Devlog (v129)
@stormlantern thanks for the feedback, in terms of the levels being excessive I’d need replays to consider further, but it’s intended that it spams MMLs in response to a potential firebase threat (other reasons for lots of t1 arti include a nearby enemy building; wanting a mix of them to reduce vulnerability to cliffs that block tank shots; and for t1-2 land facs to build later in the game to mix with t3 units built by the t3 land facs).
@Reckless_Charger re the two versions it has something close to that with M28Easy which disables all such microing. One planned feature though is to allow users to adjust M28’s ‘go slow’ mode which could provide something very similar, where instead of considering orders every second you could specify how long it should wait inbetween for its more general land/navy/air unit management logic (it already uses this functionality for games with lots of units to avoid too big a slowdown) . This would make microing much weaker but also make general responsiveness weaker, and would effectively provide a further alternative to M28Easy (eg certain microing like dodging shots and overcharging units manually would be unchanged, while things like kiting would be much weaker albeit still present to some extent)
M27AI and M28AI developer; Devlogs and more general AI development guide:
https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v71-devlog
https://forum.faforever.com/topic/5331/m28ai-devlog-v112
Can a feature be added so that a custom unit is ignored if it contains a specified Category?
I ask as I often use / abuse helper units for various tasks. (Example: holograms, and Drones) The AI will active issue commands to these units, despite not being selectable or visible to the player.
Thanks!
Resin
Kykhu Oss https://youtu.be/JUgyGTgeZb8
Unit Thrower https://youtu.be/iV8YBXVxxeI
Beam Tentacle https://youtu.be/le5SNwHvC4c
Blackhole https://www.youtube.com/watch?v=D9NGQC5rr0c
Resurection https://www.youtube.com/watch?v=WdbIQ4vHkMs
@resin_smoker If you assign them the category INSIGNIFICANTUNIT then they ought to be ignored (that said, I can't remember what game functionality that category might impact)
M27AI and M28AI developer; Devlogs and more general AI development guide:
https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v71-devlog
https://forum.faforever.com/topic/5331/m28ai-devlog-v112
@maudlin27 Will try that out... Though I hope it doesn't prevent units from activity targeting them.
Kykhu Oss https://youtu.be/JUgyGTgeZb8
Unit Thrower https://youtu.be/iV8YBXVxxeI
Beam Tentacle https://youtu.be/le5SNwHvC4c
Blackhole https://www.youtube.com/watch?v=D9NGQC5rr0c
Resurection https://www.youtube.com/watch?v=WdbIQ4vHkMs
Ok just took a look at my units (4DFAF URA0106) Categories to discover that it already has the INSIGNIFICANTUNIT set.
Categories = {
'AIR',
'ANTIAIR',
'CANNOTUSEAIRSTAGING',
'CYBRAN',
'DRONE',
'HIGHALTAIR',
'INSIGNIFICANTUNIT',
'MOBILE',
'RECLAIMABLE',
'TECH3',
'VISIBLETORECON',
},
Will try removing the TECH3 from the unit to see if this changes the behavior.
Resin
Kykhu Oss https://youtu.be/JUgyGTgeZb8
Unit Thrower https://youtu.be/iV8YBXVxxeI
Beam Tentacle https://youtu.be/le5SNwHvC4c
Blackhole https://www.youtube.com/watch?v=D9NGQC5rr0c
Resurection https://www.youtube.com/watch?v=WdbIQ4vHkMs
If M28 is giving it orders it’s likely an oversight/bug but I’d need a replay (along with the mod being used) to fix
M27AI and M28AI developer; Devlogs and more general AI development guide:
https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v71-devlog
https://forum.faforever.com/topic/5331/m28ai-devlog-v112
v107 Update
23 changes and fixes, including:
- New option to effectively set the level of M28's micro by specifying how frequently it considers orders for units (default is every second, it can be increased to up to once every 10 seconds). This will affect things like its kiting behaviour, but won't impact all of its microing capabilities.
- Changed use of SACUs so normal SACUs are built and upgraded to RAS SACUs
- Fixed bugs that could cause M28 to break with unit restrictions (introduced in v103)
- 10 LOUD specific changes and fixes (including initial build order tweaks and fixing experimental construction)
Acknowledgements
- WingFlier – running some test games on LOUD and noting M28's failure to build experimentals
M27AI and M28AI developer; Devlogs and more general AI development guide:
https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v71-devlog
https://forum.faforever.com/topic/5331/m28ai-devlog-v112
v108 Update
23 more changes/fixes (11 of which are FAF related), mostly with a focus on later game scenarios, including:
- Fixed a bug with M28’s late-game logic that could lead to only 1 t3 arti/game-ender unit being built
- Made it less likely for large amounts of battleships and/or aircraft carriers to be built
- Increased the number of fatboys to be built once a mavor has been constructed
- Fixed various LOUD related issues, such as restorers and czars not having an AirAA threat, T2 PGens not creating wrecks (so M28 no longer reclaims them), no experimentals being built if it’s early on and M28 wants a nuke launcher; battleships not being able to ground-fire subs; and paragon not providing near-infinite resources.
M27AI and M28AI developer; Devlogs and more general AI development guide:
https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v71-devlog
https://forum.faforever.com/topic/5331/m28ai-devlog-v112
v109 Update
14 small changes, including:
- Fixed a bug where underwater mexes weren't taken into account when deciding whether to go navy
- T1 bombers that force an attacking ACU to retreat should consider retargeting if the ACU still has high health
- M28Easy should prefer tanks over skirmishers (since it doesnt kite with skirmishers)
- T2 upgrades should be less likely on 5km 1v1 maps
- Improved build order on maps like Canis River (so M28 goes 3 mex instead of 4, as 4 causes it to stall power before the hydro completes)
- Fixed a bug where M28 would get the opposite result when checking if it had visual of a unit in some cases (which e.g. could lead to it suiciding units in an attempt to gain visual of a unit it could already see)
- Naval units should make use of their backup distance to retreat (so e.g. Cybran destroyers should be capable of kiting the enemy)
Acknowledgements
- Recon/OneCoolPuppy – Posting replay against M28Easy that helped me identify a few of the tweaks
M27AI and M28AI developer; Devlogs and more general AI development guide:
https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v71-devlog
https://forum.faforever.com/topic/5331/m28ai-devlog-v112
v110 Update
16 changes and fixes including:
- Improved response to enemy T3 air/early strat rush threat if M28 lacks T3 air (i.e. it will get more ground based AA as a last resort)
- M28 should try and rely on its own gun ACU instead of rushing T2 to stop an appraoching enemy gun-ACU (if M28's ACU is close enough to help)
- Engineers from different M28 players on the same team should be gifted to get around the issue where they try and help a teammate's engineer and as a result prevent construction starting (due to blocking the build location)
- Ahwassa should consider if it's bomb is likely to hit a cliff when trying to fire at a unit, and (if so) adjust its targeting.
- Torpedo bombers should be much less likely to suicide into enemy AA just because they have large numbers, but should take into account how much damage they would do by suiciding.
Acknowledgements
- SolUmbrae – Replay crushing M28 with an early strat
M27AI and M28AI developer; Devlogs and more general AI development guide:
https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v71-devlog
https://forum.faforever.com/topic/5331/m28ai-devlog-v112
v111 Update
This version adds steam compatibility to M28AI (along with 1 minor backend change relating to the application of AIx modifiers). Hopefully there should be no impact on how it plays in FAF (or LOUD), but if anything has broken please let me know!
Connected with its steam compatibility, a listing has also been made on ModDB. However, the FAF vault and/or Github will still be the best locations for getting the latest release (since they will be updated more regularly), while this forum thread will similarly be kept updated with details of future releases.
M27AI and M28AI developer; Devlogs and more general AI development guide:
https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v71-devlog
https://forum.faforever.com/topic/5331/m28ai-devlog-v112
v112 Update
26 Changes and fixes, including:
- Co-op - Celene should now switch to using M28AI when changing her allegience in Dawn if M28 is set to apply to allies only; similarly, Fletcher should switch to using M28AI when becoming hostile if M28 is set to apply to enemies only
- LOUD - Increased ecoing, adjustments to gunship attack logic to reflect how gunships dont fire unless facing enemies, better support for modded ACU upgrades
- FAF and general - Significant improvement in speed for an 'Air slot' M28 to get T3 air (although still slower than a human player); improved AA production vs enemy early strat; Fixed some issues if unit restrictions disabled air factories
Acknowledgements
- Azraeel – a couple of LOUD replays
- Wingflier – noting M28 was building experimental transports
- Ecthelon – Coop replay where Celene didn’t use M28AI logic when switching sides on Dawn
- SolUmbrae - Posting replay of rushing strat vs M28
M27AI and M28AI developer; Devlogs and more general AI development guide:
https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v71-devlog
https://forum.faforever.com/topic/5331/m28ai-devlog-v112
Switched to new map, adaptive turtle beach. I notice M28 progressing and its great fun, everytime a new trick hits me
Just a few things, sadly no replay because everytime this happens its over minute 50:
- SMD - M28 still gets surprised by nuke, perfect scouting is never possible. Me personaly i play it safe and go straight SMD after i build T3 power. Better safe than sorry
- Ally had tons of T3 gunships die to my nuke again
- When experimental is nearing the enemy base, their coms dont seem to adjust their actions, sometimes even moving towards the experimental. Wouldnt it make more sense that when they notice an experimental and have no adequate defences, they would run in the opposite direction of the experimental ? That way at least com would survive. Even if they have tons of gunships its a hit miss, since they first kill AA and that often draws them far away from experimental
Great work !
@goblinsly2 Getting to past 50 minutes with M28 not having built an smd is unusual, it's meant to build one pre-emptively. If you send the replay of that I can try and have a look at some point as sounds like either a bug or it just never becomes a high enough priority for it.
I'll see if I can recreate allied gunships dying to a nuke in sandbox as I thought I'd already got logic to avoid that (but it's possible it was only for M28 allied nukes).
M27AI and M28AI developer; Devlogs and more general AI development guide:
https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v71-devlog
https://forum.faforever.com/topic/5331/m28ai-devlog-v112
@goblinsly2 On the gunship issue, recreating in sandbox I realised there was a bug with how it was tracking nuke targets for gunships to avoid - i.e. it'd avoid friendly nukes when choosing its own nuke targets (including non-M28 teammtes), but was only avoiding M28 teammate nukes for its gunships. Will be fixed in the next release.
M27AI and M28AI developer; Devlogs and more general AI development guide:
https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v71-devlog
https://forum.faforever.com/topic/5331/m28ai-devlog-v112
v113 Update
22 changes, including:
- Dedicated land scouts to support sniperbots/similar units that lack intel
- Refinement to land rally points to make it less likely units retreating will advance towards the enemy
New flag to prioritise production over ecoing where the enemy has a significant ground attack force approaching M28's base[Edit: To be added in v114]- Enemy shields should be taken into account when deciding if a location has too much anti-air for gunships to attack it
- More TMD should be built for areas with some TMD that are under missile fire
- Coop - Added a workaround for an issue where M28 building things (like mexes) wouldn't count towards an objective, which could prevent progression on the supcom 1st missions, and fixed a bug with M28's ACU not building a naval factory on Aeon M1
- LOUD - Significantly reduced error messages such as those relating to being unable to build units where mod are enabled that remove T1+T2 energy and mass storage options; fixed a bug preventing nuke launchers from firing, while making it much less likely nuke launchers are built in the first place; reduced the land:air factory target ratio significantly in some cases.
Acknowledgements
- GrandpaSawyer - highlighting the function responsible for AI teammates not having their units counted towards a campaign objective
- Goblinsly - mentioning M28's gunships still die to friendly nukes
- Azraeel - 3 LOUD replays (which prompted the rally point and 'production focus mode' changes amongst others)
(Other notes - I forgot to look into the LOUD tele-SACU bug before release so will add that to the list for v114)
M27AI and M28AI developer; Devlogs and more general AI development guide:
https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v71-devlog
https://forum.faforever.com/topic/5331/m28ai-devlog-v112
v114 Update
22 changes, including:
- Hopefully fixed the intended 113 feature for prioritising production
- Various changes to reduce M28's likelihood to stall energy early on (not building factories or air staging when stalling E, prioritising part-complete additional hydros more)
- Fixed a bug where Thaams would act like LABs and try and micro-dodge enemy tank fire (leading them to not firing any shots)
- Fixed a bug where part-complete friendly units were treated as full health fully constructed units when determining anti-air threat (which e.g. could mean you could bomb M28's naval factory and it wouldn't respond if that factory was building a cruiser)
- ACU should be less likely to return to it's base to attack a land experimental that is destroying the base
- LOUD specific - support for upgradable T3 pgens added; Fixed bug that meant teleport didn't work; Greater focus on ecoing in mass stalls
Acknowledgements
- SolUmbrae – posting replay beating M28 on TwinRivers which provided the source of the majority of changes.
- DeHeerser – mentioning teleport not working in a LOUD game
- Tematus – noting M28 wasn’t making use of upgradable T3 pgens in LOUD.
M27AI and M28AI developer; Devlogs and more general AI development guide:
https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v71-devlog
https://forum.faforever.com/topic/5331/m28ai-devlog-v112
v115 Update
Smaller update, with 14 mostly minor changes:
- Reduced the build power assigned to naval factories to both take into account how many naval factories the team has in total, and to reduce the engineers assisting if M28 is stalling
- One of the factories on any plateau or island with significant mexes should never be paused when M28 is stalling mass
- If M28 has paused a mex upgrade (due to stalling mass) and completes a mex upgrade, it should immediately unpause one of the paused mexes (albeit it may then pause it again if it is still significantly stalling mass)
- LOUD - M28 should no longer build strats (since they're semi-broken in LOUD); General reduction in the number of engineers to be built (roughly 20% where M28 doesnt have much mass); Fixed a bug where Seraphim destroyers wouldn't be given any orders.
M27AI and M28AI developer; Devlogs and more general AI development guide:
https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v71-devlog
https://forum.faforever.com/topic/5331/m28ai-devlog-v112
v116 Update
30 changes, the majority of which were based on testing M28 Seraphim vs LOUD on a '4-island' type map.
- SACUs should get build power upgrades when overflowing mass, and pro-actively build experimentals to use up the mass
- Fixed an issue that could arise on larger maps if the area surrounding a mex appeared impathable (resulting in the mex being ignored by M28 for the game)
- M28 should now (similarly to a player) infer that if a previously scouted mex or factory shows as dead, it means the factory has been upgraded (not that the factory is dead)
- Various adjustments to Yolona targeting to help close out the game where there aren't any high value targets remaining
- 15 LOUD specific adjustments (including not building ahwassa, experimental land transports or experimental counterintelligence units, being less likely to pause land factories, not treating experimental mobile aeon arti as a scathis, being more likely to upgrade T3 mexes and pgens to T4, building more t3 mass fabs, upgrading t3 mass fabs to t4, adding a workaround for an issue relating to Seraphim buildings that would cause shields to be built on repeat, and a few other changes).
Acknowledgements
- Azraeel - Testing on LOUD and highlighting a few bugs/issues, including noting T3 mass fabs can upgrade; that barrage artillery were being treated similarly to strategic artillery; and a bug with the Aeon mobile experimental arti
- umbrasolis - Posting another 1v1 replay vs M28
M27AI and M28AI developer; Devlogs and more general AI development guide:
https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v71-devlog
https://forum.faforever.com/topic/5331/m28ai-devlog-v112