FAForever Forums
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Login
    The current pre-release of the client ("pioneer" in the version) is only compatible to itself. So you can only play with other testers. Please be aware!

    M28AI Devlog (v302)

    Scheduled Pinned Locked Moved AI development
    695 Posts 68 Posters 2.3m Views 5 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • maudlin27M Online
      maudlin27
      last edited by

      v279 Update
      10 minor tweaks and bugfixes, based on 4 1v1s against M27 (one for each faction) on a mapgen map Relent0r highlighted around 76 versions ago as one where M27 would typically beat M28. I was relieved to see that following those c.76 updates M28 won the matches (with its recent raiding logic appearing to be a significant factor in its wins), but on the way I noticed some issues and/or error messages (and it had some very close games).

      • ACUs should be less likely to get reclaim outside their range and more likely to go to an adjacent zone that already has enemies in it (over one that doesnt), while fixing a bug that meant it wasn't having a slight preference to stick with the zone it decided to travel to in the previous cycle.
      • Fixed 2 bugs relating to M28's logic for trying to scout certain units of interest (such as SMD)
      • Land units should be less likely to attack if the enemy has units in an adjacent zone that outrange them, but in such scenarios should instead be more likely to attack if there is an enemy mex nearby

      Acknowledgements

      • Relent0r - providing the mapgen code (around v203) that resulted in M27 beating M28

      M27AI and M28AI developer:
      https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v81-devlog
      https://forum.faforever.com/topic/5331/m28ai-devlog-v294
      M28 trophy holders: Radde, Yew (Radde trophy, v285) and Zwaffel (Sladow trophy, v284)

      1 Reply Last reply Reply Quote 2
      • maudlin27M Online
        maudlin27
        last edited by

        v280 Update
        Mini update fixing 6 error messages that appeared in an M28 vs M28 mirror match. Generally the errors related to niche logic being applied to a dead unit (so these fixes wouldn't be expected to impact things significantly as M28 would normally self-correct for this within a second).

        M27AI and M28AI developer:
        https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v81-devlog
        https://forum.faforever.com/topic/5331/m28ai-devlog-v294
        M28 trophy holders: Radde, Yew (Radde trophy, v285) and Zwaffel (Sladow trophy, v284)

        1 Reply Last reply Reply Quote 3
        • maudlin27M Online
          maudlin27
          last edited by

          v281 Update
          Changes based on one of the M28Easy 1v1 vs M28 AI vs AI tournament games (where M28Easy lost from a 2:1 eco advantage), and some basic testing of high mex low unit cap scenarios to avoid M28 being stuck not building anything.

          • Slight increase in upgraded ACU aggression
          • 2 changes to make it more likely for TMD and/or T2 engineers to be built sooner if the enemy has TML
          • Mass storage shouldn't be paused before land factories (even where there is a nearby enemy threat)
          • Multiple land HQ upgrades at once should be much less likely even in high mass scenarios
          • Limited M28's t1 spam mode in 1v1 once at least 100 t1 tanks have been built
          • Disabled building land scouts to kite with for M28Easy (since it doesnt kite with them so they die easily)
          • 10 adjustments to unit cap to cover things like ctrl-king T3 mexes, and permitting building SACUs
          • 2 minor bugfixes

          M27AI and M28AI developer:
          https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v81-devlog
          https://forum.faforever.com/topic/5331/m28ai-devlog-v294
          M28 trophy holders: Radde, Yew (Radde trophy, v285) and Zwaffel (Sladow trophy, v284)

          1 Reply Last reply Reply Quote 3
          • SaverS Offline
            Saver
            last edited by

            @maudlin27 Is it possible to add another function to the M28 MOBA function as an option? Specifically, the ability to permanently disable the M28's controls on experimental units if the player requires it.

            auch mal fünf gerade sein lassen

            maudlin27M 1 Reply Last reply Reply Quote 0
            • Z Offline
              zhanghm18
              last edited by zhanghm18

              To be honest, I really hope that M28 can have a simplified mode that allows all micro-operations to be disabled, so I don't have to operate each unit individually. I don't want to see all the army units crowded together and bumping into each other. Moreover, many ASF and fish bombers tend to gather together or hover during attacks. I hope there can be a more simplified mode where M28 can just select these units with a box and issue a unified attack command, avoiding frequent independent operations on each unit.
              The current M28 easy still has too many micro-operations.

              maudlin27M 1 Reply Last reply Reply Quote 0
              • maudlin27M Online
                maudlin27 @Saver
                last edited by

                @Saver If I’ve understood what you want correctly this should largely be possible currently-apply non-moba combined armies, toggle M28 on for any factories your acu builds, and then toggle if there’s an experimental you want to control. Since acu factories outside the first few mins and experimentals are rare events I’m unlikely to want to add a game option and related code to automate this (combination of coding time and adding to game option complexity outweighing the benefits for now)

                M27AI and M28AI developer:
                https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v81-devlog
                https://forum.faforever.com/topic/5331/m28ai-devlog-v294
                M28 trophy holders: Radde, Yew (Radde trophy, v285) and Zwaffel (Sladow trophy, v284)

                SaverS 1 Reply Last reply Reply Quote 1
                • maudlin27M Online
                  maudlin27 @zhanghm18
                  last edited by

                  @zhanghm18 M28Easy shouldn’t use hover micro in its asfs. However units will clump up since it tells units to move to point a individually. Only alternatives would be formation move (slows down units, difficult to get right, would be complicated to code) and manually spreading out move targets (much harder for land units than air units due to potential for terrain blocking, and cpu intensive). Normal M28AI gunships take this approach because they have a good firing arc, no terrain issues, and it helps protect from aoe weapons like flak and sams, but it’d be too hard I think for land units and asfs

                  M27AI and M28AI developer:
                  https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v81-devlog
                  https://forum.faforever.com/topic/5331/m28ai-devlog-v294
                  M28 trophy holders: Radde, Yew (Radde trophy, v285) and Zwaffel (Sladow trophy, v284)

                  Z 1 Reply Last reply Reply Quote 2
                  • SaverS Offline
                    Saver @maudlin27
                    last edited by

                    @maudlin27 Thank you so much for your reply. You're absolutely right. I've been testing your MOBA options for so long that I haven't used the support function in ages. You've improved it tremendously.

                    That's exactly what I want to use ^^ Thanks again for the great work.

                    auch mal fünf gerade sein lassen

                    1 Reply Last reply Reply Quote 1
                    • Z Offline
                      zhanghm18 @maudlin27
                      last edited by

                      @maudlin27 Thank you for your work. Is it possible to enable automatic formation movement for a certain number of land units, such as 10?

                      1 Reply Last reply Reply Quote 0
                      • Z Offline
                        zhanghm18
                        last edited by

                        Another small suggestion: Could the M28easy also be divided into different styles like rush, navy, etc.? I like the rush style of M28, which allows building a large number of low-level units and land units, but I don’t want M28 to use micro-management like hovering.

                        maudlin27M 1 Reply Last reply Reply Quote 0
                        • maudlin27M Online
                          maudlin27 @zhanghm18
                          last edited by

                          @zhanghm18 It'd create too much clutter when selecting an AI personality. Instead you can achieve a similar effect by setting the max number of units that can use dodge micro or hover micro in the game options to 0

                          M27AI and M28AI developer:
                          https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v81-devlog
                          https://forum.faforever.com/topic/5331/m28ai-devlog-v294
                          M28 trophy holders: Radde, Yew (Radde trophy, v285) and Zwaffel (Sladow trophy, v284)

                          1 Reply Last reply Reply Quote 1
                          • B Offline
                            BLAAARGNN
                            last edited by

                            yo great mod, i was just wondering if it would be possible to make it react and perform an action in response to in game chat? like i use it in coop on really hard maps, and it would be cool to just say, engi please! or something and have it share an engi so you have both tech. maybe it already has this and im crazy? xD

                            maudlin27M 1 Reply Last reply Reply Quote 0
                            • maudlin27M Online
                              maudlin27 @BLAAARGNN
                              last edited by

                              @BLAAARGNN Use a text marker to say Engi please

                              M27AI and M28AI developer:
                              https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v81-devlog
                              https://forum.faforever.com/topic/5331/m28ai-devlog-v294
                              M28 trophy holders: Radde, Yew (Radde trophy, v285) and Zwaffel (Sladow trophy, v284)

                              1 Reply Last reply Reply Quote 1
                              • B Offline
                                BLAAARGNN
                                last edited by

                                oh, awesome thank you! i tried using the request engi feature, which i think is a part of score board, and it didnt work so i posted. glad to see this exists though!

                                1 Reply Last reply Reply Quote 0
                                • maudlin27M Online
                                  maudlin27
                                  last edited by

                                  v282 Update
                                  Looks like I forgot to post this at the time (around a month ago)!
                                  12 changes, including:

                                  • ACUs should try and avoid blocking construction of a factory when retreating to their base
                                  • Land units with a direct fire attack and longer ranged indirect fire attack should try kiting with their direct fire range
                                  • Shorter ranged units should no longer be scared off by an enemy ACU when they have large threat (prompted by a scenario where 20 land experimentals tried kiting the enemy due to the presence of an ACU!)
                                  • Expanded logic on coordinated land zone targets to use a similar approach when outranged units decide if they have enough threat to attack alongside any longer ranged units
                                  • Idle engineers part of M28's game-ender templates should consider helping nearby construction (that isnt part of the game-ender logic)

                                  Changes were based mostly on some random live replays I came across

                                  M27AI and M28AI developer:
                                  https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v81-devlog
                                  https://forum.faforever.com/topic/5331/m28ai-devlog-v294
                                  M28 trophy holders: Radde, Yew (Radde trophy, v285) and Zwaffel (Sladow trophy, v284)

                                  1 Reply Last reply Reply Quote 2
                                  • maudlin27M Online
                                    maudlin27
                                    last edited by maudlin27

                                    v283-284 Update:
                                    A somewhat delayed update as I spent a few weeks practicing for a recent 1v1 tournament (by playing lots of games against M28) which payed dividends with me being able to improve my previous 3rd place finish with....another 3rd place finish!

                                    34 changes (including 1 bugfix from a v384 hotfix):

                                    • 4 ACU changes, including having injured ACUs run from destroyers, and M28Easy considering dodging T1 arti fire with just its ACU (since even weak players will be unlikely to leave their ACU stationery facing a bunch of T1 arti)
                                    • 4 Air changes, including fixing an issue where on 7.5km and 15km and similar 'unusual' map sizes M28 could end up ignoring enemy air units, and fixing a bug that could lead M28 to rally its air units in range of enemy cruisers
                                    • 6 Factory changes, including making M28Rush not build skirmisher units, M28Turtle and Tech building even fewer factories, and fixing a bug that meant bombers/gunships wouldn't be built to protect a friendly naval factory under attack
                                    • 8 Engineer changes, including having M28 not try and build mexes in an area where a teammate has a base or forward position (previously they would consider as a low priority), to try and build structures away from the water if taking fire from a nearby enemy navy, and for engineers to be more likely to run onto land to get away from a naval threat (instead of staying in the water)
                                    • 2 land combat changes, fixing a bug that could lead to an island not updating its request for reinforcements after killing all enemies on it
                                    • 9 naval combat changes, including introducing logic to recognise multiple 'zones' attacking the same target at once (so their forces are combined when assessing if there are enough), including hover attacks from land, fixing some major issues with how the tempest was being used so it no longer prioritises ground-firing subs when enemy battleships/similar are in its range and so it considers kiting enemy naval units, and made it more likely units should try and attack a nearby exposed supporting/outranged naval unit if the enemy's supporting naval force is too far away to help
                                    • Redundancy relating to potential messages M28 sends when it thinks it has won the game to try and avoid M28 gloating about winning a game when it was killed

                                    Acknowledgements

                                    • Relent0r - Replay where M28Easy suicided an ACU into T1 arti (by leaving it stationary)
                                    • Radde - Various replays, with the main ones prompting changes being a 1.7/1.7 win against M28 on a naval map, and a 1.4/1.0 win against M28 on Selkie (naval map)
                                    • Fearghal - screenshot showing M28 building a mex in a teammate's base on astro

                                    Trophy award
                                    Double trophy awards for Radde this time:

                                    • Radde trophy - awarded to Radde, Vortex7547, Mhad and kuritew for beating 1.4/1.0 M28 on a mapgen
                                    • Sladow trophy - awarded to Radde for beating 1.7/1.7 (!) AIx on a mapgen

                                    M27AI and M28AI developer:
                                    https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v81-devlog
                                    https://forum.faforever.com/topic/5331/m28ai-devlog-v294
                                    M28 trophy holders: Radde, Yew (Radde trophy, v285) and Zwaffel (Sladow trophy, v284)

                                    1 Reply Last reply Reply Quote 2
                                    • wilson_W Offline
                                      wilson_
                                      last edited by wilson_

                                      Hey @maudlin27,

                                      first of all thank you very much for putting this much effort into the project.

                                      Is there a specific reason why you let the AI build this many long range land units over direct fire units? I'm asking because this is not very realistic at all. If "not", maybe consider adding some sort of lobby setting drop down deciding about the unit mix (e.g. x% direct fire) would make it more realistic. Also maybe consider providing more options in the doding / hover drop down increasing numbers above three, maybe up to five or ten to have more levels than just three or inifinite.

                                      To give you some context:

                                      I do run a training group for beginners within the FAF Dojo three times a week (from 0 and playing the game pretty much for the first time up to 1200-ish rating), and we use the AI for team building (last game of the night all swarm the AI) and for training puposes to learn eco / tech if the peole that have showed up at the very day cannot be properly balanced in a PVP scenario.

                                      maudlin27M 1 Reply Last reply Reply Quote 1
                                      • maudlin27M Online
                                        maudlin27 @wilson_
                                        last edited by

                                        @wilson_ I'd suggest having them fight against M28Easy or M28Rush if you dislike long ranged units (I presume you mean hoplites/mongoose/sniper bots)

                                        M27AI and M28AI developer:
                                        https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v81-devlog
                                        https://forum.faforever.com/topic/5331/m28ai-devlog-v294
                                        M28 trophy holders: Radde, Yew (Radde trophy, v285) and Zwaffel (Sladow trophy, v284)

                                        1 Reply Last reply Reply Quote 0
                                        • wilson_W Offline
                                          wilson_
                                          last edited by wilson_

                                          Thank you for your quick response.
                                          They're beyond the stage, fighting Easy or Rush won't help them evolve at this point.
                                          I mean basically all long range stuff: mml, arty, the ones you mentioned above.
                                          Is there a reason why you let the AI use them instead of using mostly direct fire and e.g. deciding when to go in via scouting?

                                          1 Reply Last reply Reply Quote 0
                                          • maudlin27M Online
                                            maudlin27
                                            last edited by

                                            Because the AI has great apm, so can get more value out of long ranged units compared to a player (where the apm required to micro-manage such units means they're not as good for combat)

                                            In the case of MML and arti, it will also depend on what the opponent builds (e.g. if enemy has sniperbots or PD it'll get more t3 mobile arti), and it seeks to have a small proportion of them in its unit mix both to help if the enemy gets PD, and to punish the enemy if they leave their tanks idle

                                            M27AI and M28AI developer:
                                            https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v81-devlog
                                            https://forum.faforever.com/topic/5331/m28ai-devlog-v294
                                            M28 trophy holders: Radde, Yew (Radde trophy, v285) and Zwaffel (Sladow trophy, v284)

                                            1 Reply Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • First post
                                              Last post