AI Development Guide and M27AI v70 Devlog

0

Same issue - @maudlin27 maybe the file is too big? ๐Ÿ™‚

A work of art is never finished, merely abandoned

1

@sioloc I've split it out into several documents to reduce the size slightly, let me know if you still have issues accessing.

M27AI developer; Devlog and more general AI development guide:
https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v68-devlog

6

Thank you so much for your work. I'm one of those players who really loves playing against AIs, but I hate AI that is too easy or cheats. It seems to me like you've made the best vanilla (well, vanilla-ish since it's on FaF) AI. It's currently kicking my ass. I'd really love it if you would continue working on it to make it even tougher, and also resistant to all sorts of cheesy tactics used by humans to beat it quickly. I also really like how it's not specialized for a single type of terrain and it can play navy as well. Anyway, just wanted to voice my appreciation.

1

Just came here to say thanks @maudlin27, this is really appreciated. Uveso was kinda challenging when using x1.5 multipliers, M27 is even better without even any multiplier. Can't wait for M28.

3

Latest changes (v67 summary)
No significant changes in this update, just a number of small tweaks and fixes.

13 bugfixes, including:

  • Certain SACUs being considered to have 0 threat
  • Improved build order on some maps that resulted in a power stall due to power and hydrocarbons being built at the same time

25 misc changes, including:

  • Mobile shield and stealth sharing (so cybrans can share the joy when they have non-cybran teammates)
  • Novax targeting adjustments to prioritise lower health instead of higher health units of the same type
  • Slight increase in navy aggressiveness (including a workaround for humans who would constantly dodge aeon destroyer shots with frigates when massively outnumbered)
  • Improved nomads compatibility by building T2 support factories and getting the gun upgrade
  • Increased likelihood of UEF and Seraphim building game-enders in team-game maps

Acknowledgements

  • Relent0r โ€“ highlighting an issue with M27โ€™s build order on theta passage, and with M27โ€™s ACU getting stuck on Air Wars
  • Radde โ€“ Numerous replays
  • SniperbotMeta (now Flordia Man) โ€“ Feedback on issues M27 has with nomads
  • Jip โ€“ Highlighting how using ForkedThreat on a function that returns a value will cause a โ€˜Yield()โ€™ error message

M27AI developer; Devlog and more general AI development guide:
https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v68-devlog

3

V68 summary of changes:
Various small improvements to tml and tmd logic:

  • tmd can now be built on plateaus
  • predictive logic added to estimate if a tml shot will hit the cliff to help with target prioritisation
  • tml are less likely to be paused when stalling

14 other misc changes, including making unupgraded acu scared of all pd and improving plateau expansion speed

16 bugfixes, including:

  • t1 pd shouldnt be ignored by the threat response logic
  • pre-emptive fix for upcoming faf develop changes to veterancy
  • fixed various niche scenarios causing errors and reduced some of the error messages sent to the log

Acknowledgements:

  • Fearghal โ€“ Bug where M27 ignored civilian T1 PD
  • Relent0r โ€“ highlighting a dangerous upgrade decision by M27
  • Sprouto - sharing thoughts on TML missile trajectory that led me to trying to come up with the predictive missile logic

M27AI developer; Devlog and more general AI development guide:
https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v68-devlog

3

v69 Summary of changes
Mini update with 7 bugfixes and 12 misc changes, including:

  • Fixed an issue that could cause a major slowdown when M27 was power stalling late game
  • Better plateau selection in team games (previously sometimes two M27 would each go for the plateau furthest from them but closest to the other M27)
  • Improved SMD/anti-SML logic to handle large enemy AiX modifiers, large enemy nuke numbers, and attempts to edge-nuke M27's ACU
  • Adjustments to naval kiting logic so they take longer to turn around (and therefore less likely to abort a firing sequence after a single shot)

Acknowledgements:

  • Fearghal - Highlighting a significant slowdown in an M27 game that led me to discovering the flaw in M27โ€™s power stall logic.
  • Thacon - Replay highlighting poor plateau selection by M27 on the same team

M27AI developer; Devlog and more general AI development guide:
https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v68-devlog

3

Hi @maudlin27, I've just been reading your development notes and really appreciate how thoroughly you've documented everything. As a programmer myself it's really interesting to see what you learned along the journey ๐Ÿ™‚ I'm also enjoying your M28 blog - looking forward to seeing how that goes!

BTW, I'm still having issues opening the devlog (https://docs.google.com/document/d/1uQlEoN-kti7G2MnhwD60uaaHwVevPNYH/edit?usp=sharing&ouid=100973959280546778272&rtpof=true&sd=true) - maybe that's also grown too big for google drive to show?

1

@Sioloc Just keep the document tab open - It takes several minutes until the doc gets rendered, after that you can/need to download it and open it on your machine. Google Docs can not load more pages than the first one, for whatever reason. They really do not like the .docx format.

2

V70 summary of changes:
Update based primarily on issues spotted from the first weekend of the Rainbow Cup tournament:

  • Fixed a bug that caused MAA to stay way too far back from the ACU when there were nearby enemy tanks (i.e. the MAA would run away from the tanks even if they were needed to protect the ACU from gunships/bombers)
  • Significantly improved the speed at which the AI will try and get T2 PD if the enemy gets a guncom and attacks its base
  • Added new capture logic to capture certain civilian units on the map (e.g. titans on big bang dry) - while this ended up much more work than expected, fortunately the map was picked by the players and featured in the RC finals, meaning I got to see the results of the capture logic feature and have a noticeable impact on the game
  • 6 other bugfixes, and 12 misc changes, mostly relating to ground based anti-air logic, and being a bit more cautious with bombers (including an issue that would cause bombers to be overbuilt, which would then trigger backup logic to make use of the bombers on high risk targets due to there being so many of them, leading the AI to just waste/donate mass).

Acknowledgements:

  • Fearghal - For funding and hosting the Rainbow Cup tournament, which provided valuable replays on AI performance as well as being very entertaining to see AIs pitted against the top FAF players, and having their profile raised.

M27AI developer; Devlog and more general AI development guide:
https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v68-devlog