FAForever Forums
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Login

    M28AI Devlog (v228)

    Scheduled Pinned Locked Moved AI development
    575 Posts 56 Posters 1.7m Views
    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
      maudlin27
      last edited by

      v106 Update
      33 changes and fixes based on a working through some compatibility issues with LOUD. Although prompted by getting functionality to work for LOUD, 13 of the changes will be of relevance to FAF (in some cases core FAF, in other cases via improved mod compatibility), although they're generally minor changes:

      • Fixed some unit categorisation bugs with obsidians and mercy following some changes a while ago with FAF's unit categories
      • Late-game arti template shields should only have 1 engineer assigned in low power scenarios once a few have been built
      • Fixed a bug with AIx overwhelm not working with RAS SACUs and causing them to lose the benefit of the RAS upgrade
      • Made M28 much more likely to build navy on larger maps in certain cases, such as if it was in the Setons Air slot with no teammates
      • Various LOUD related fixes, including costruction of experimentals (can only be built by SACUs in LOUD), fixing mobile shields, omni over-construction, made use of new per-AI AIx modifiers, fixed AIx overwhelm to work in LOUD, improvements to experimental construction choice to reflect LOUD unit categories and the lack of a novax

      Acknowledgements

      • Wingflier - running some M28 vs LOUD games to help with testing including highlighting a number of areas where M28's normal logic wasn't working

      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-v150

      1 Reply Last reply Reply Quote 2
      • R
        Resin_Smoker
        last edited by Resin_Smoker

        Noticed a strange behavior with some of my custom units.
        https://youtu.be/eq6I0jkQV40

        units BP: ual0108_unit.zip

        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

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

          Try using the PERSONALSHIELD category instead of SHIELD category and see if it changes the behaviour

          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-v150

          1 Reply Last reply Reply Quote 1
          • R
            Resin_Smoker
            last edited by

            On it and ty from responding so quickly!

            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

            1 Reply Last reply Reply Quote 0
            • R
              Resin_Smoker
              last edited by

              That did the trick!

              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

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

                Hello Maudlin, I created a map (adaptive Falconstone) which also contains water. I noticed that the M28 doesn't build shipyards in the lower water, even though markers are set. However, other AI (Sorian, Uveso) use the areas. Maybe. can you test that? Greetings Saver 545f793d-44ac-401f-9799-fe420a68ac95-image.png e4699f23-4564-48ad-b90d-1a305802dcf3-image.png

                auch mal fünf gerade sein lassen

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

                  M28 doesn’t use markers. From the screenshots the green pond looks more important so I’d expect it to prioritise navy in that pond instead of the red pond.

                  There might be cases where it does build in the red pond, but it’d depend on how many mexes are within range of the pond and if M28 is on all 3 team slots

                  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-v150

                  1 Reply Last reply Reply Quote 1
                  • S
                    StormLantern Team Lead
                    last edited by

                    I'm really enjoying the AI Maudlin. Your work is much appreciated 🙂

                    Only thing I'd say is that the AI makes a metric shitton of t1 arty and mmls (atleast in the 1v1 games I played), which is kind of unfun to play against. It basically forces you to give arbitrary move commands to all your units 100% of the time. I don't think it is an efficient spending of resources for the AI and it creates weird gameplay that doesn't resemble regular player versus player gameplay. Perhaps you will consider adjusting that.

                    maudlin27M 1 Reply Last reply Reply Quote 0
                    • R
                      Reckless_Charger
                      last edited by

                      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).

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

                        @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-v150

                        1 Reply Last reply Reply Quote 3
                        • R
                          Resin_Smoker
                          last edited by

                          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

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

                            @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-v150

                            R 1 Reply Last reply Reply Quote 0
                            • R
                              Resin_Smoker @maudlin27
                              last edited by

                              @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

                              R 1 Reply Last reply Reply Quote 0
                              • R
                                Resin_Smoker @Resin_Smoker
                                last edited by Resin_Smoker

                                @resin_smoker

                                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

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

                                  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-v150

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

                                    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-v150

                                    1 Reply Last reply Reply Quote 4
                                    • maudlin27M
                                      maudlin27
                                      last edited by

                                      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-v150

                                      1 Reply Last reply Reply Quote 4
                                      • maudlin27M
                                        maudlin27
                                        last edited by maudlin27

                                        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-v150

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

                                          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-v150

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

                                            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-v150

                                            1 Reply Last reply Reply Quote 4
                                            • First post
                                              Last post