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.
    • 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
                                      • B Offline
                                        BLAAARGNN
                                        last edited by

                                        just wondering, is there a difference other than version number obv, between the ai's in campaign/coop compared to in PVP? ive been using the bot in coop and it builds random stuff EVERY where, and like wilson stated it seems to over rely on mml, to the point of not being able to def its self. all of that is in coop ofc, which might be party why, since it could be responding to thing i cant see, or because there's actual objectives that it doesn't consider. but while watching old rainbow cup vods the ai's seem more or less... normal... not a big deal i was just curious.

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

                                          @BLAAARGNN It's possible it doesnt play well on campaign due to changes made since I last tested it - I tested the campaigns using v91-96 of M28, and rely on bug reports for if it does something strange.

                                          For example, a common reason it builds lots of MMLs is if the enemy has a firebase near it, in which case it responds aggressively with MMLs. I can't remember when the most recent changes were made with this behaviour, but it's quite possible there are campaign missions where it incorrectly thinks the enemy is getting a firebase (to get t2 arti within range of its core base) and so it spams MMLs to deal with it.

                                          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
                                          • maudlin27M Online
                                            maudlin27
                                            last edited by

                                            v285 Update
                                            19 changes based on 2 replays from zwaffel

                                            • 6 engineer changes, including having engineers more likely to build away from water than before, build t2 arti to fight enemy navy, and naval factories are prioritised early if M28 cant reach the enemy with land
                                            • 5 air changes, including building more torpedo bombers where lacking navy on a naval map, and increased hover-bombing micro on early bombers vs engineers
                                            • 5 land combat and factory changes, including taking into account nearby enemy navy ranges when considering if M28's tanks outrange the enemy, being more likely to upgrade land factories to support factories, and reducing MMLs that get built in response to an enemy building threat in some scenarios
                                            • 2 naval changes, including ignoring ACU's direct fire range if they're underwater
                                            • 1 misc change, fixing an issue where if M28 first detects a unit such as an engineer on a beach that is neither on land, nor on 'proper' water, it wouldn't 'see' the unit - now it gets assigned to a nearby land zone (if there is one very close)

                                            Trophy awards
                                            Double trophy awards for Zwaffel:

                                            • Sladow trophy - Awarded to Zwaffel for beating 1.7 AIx (resource and build rate) M28 on a 5km mapgen
                                            • Radde trophy - Awarded to Zwaffel for beating 1.5/1.0 M28 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 3

                                            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