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

    AI-Uveso (v116) - AI mod for FAForever

    Scheduled Pinned Locked Moved AI development
    162 Posts 41 Posters 52.0k Views 4 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.
    • G Offline
      Gladry @Uveso
      last edited by Gladry

      @Uveso

      Hi Uveso,

      Question - better here or in main mods thread? You decide.

      I found a mod I liked but with a few bugs.
      Your AI automatically uses this mod, if installed.

      It is "AutoReclaim-dwm" - A series of auto-reclaiming auto-assisting engineering turrets.

      I've made most of the fixes, one problem remains.
      WIth every faction, except Cybran, if the unit is upgrading to a higher level (1->2 or 2->3) - choosing [stop] causes the unit to (apparently) self destruct. Cybran begins update, continues update, stops update on demand and reverts back to original before upgrade was attempted.

      Self-destruct because before upgrading, or during upgrading - choosing ctrl-period shows that unit and all other engineers.
      However after "self destruct" - ctrl-. shows only other engineers.

      I have studied the LUA code and .BP definition for the DWM version of Cybran tower. I have used programmer text edtor DIFF tool to compare that to the other faction's towers.
      I have edited the other towers to make them as close as possibly the same as Cybran.
      Of course Cybran LUA class is CConstructionStructureUnit and UEF is TConstructionUnit and so on. Those difference are expected and left alone.

      These do NOT appear to be merge units, so I am unsure if existing class member methods for original units are still called by FAF. By which I mean "original game had cybran engineering unit, so any over-write unit with same unit blueprint name does or does not get benefit of code associated with that unit name.

      1 Reply Last reply Reply Quote 0
      • UvesoU Offline
        Uveso
        last edited by

        Update 30.Mar.2021(v92)

        • New: Added option for AIx Overwhelm for variable start time and cheat increase (thanks to bergzand)
        • Fix: AI brain will now be deleted after a defeat in a forked thread to prevent errors
        • Fix: PlatoonFormManager is now able to delay equal formplatoons same like buildplatoons
        • Debug: temporary added gamefix for experimental transporters
        • Debug: added log output for missing buildcost on enhancements
        • Debug: temporary removed function TransferUnfinishedUnitsAfterDeath for testing
        1 Reply Last reply Reply Quote 0
        • UvesoU Offline
          Uveso
          last edited by

          @Gladry:
          i have installed the mod and can confirm the destruction.
          i will do a check later, maybe i find something.

          1 Reply Last reply Reply Quote 0
          • G Offline
            Gladry
            last edited by Gladry

            Was playing on some maps, with initial launch area space restrictions, and your AI was creating Crazy numbers of T1 anti-air mobile units. These units were blocking all of your spaces between buildings and paths out of your initial launch area.

            Also even after 20 minutes it was still keeping dozens perhaps 50+ T1 anti-air mobile units. Still blocking engineer and other unit movements in your base.

            For base defense, does your AI evaluate static A defenses vs static B defenses (Ie different mods) vs mobile units?
            Example:
            build time + energy/mass cost and DPS + range of xx mobile tanks vs
            BT +E/M and DPS + range of yy turrets?

            Direct fire vs ballistic units (that can fire over blocking terrain)?

            1 Reply Last reply Reply Quote 0
            • A Offline
              Accipian
              last edited by

              Hey @Uveso

              It seems I am having trouble using with Nomads. Is this a known incompatibility? Upon ACU drop-in (when playing as Nomads), the mass and energy seem to go nuts. Along with this, the commander starts out with the t3 build suite and it does not produce a crash or any error. This only occurs when Uveso is active, even if there are no AI's in the match. This does not happen when playing as any other faction. It is the only mod active. Nomads works fine when no mods are active. Tried this on multiplayer with a friend and there is an immediate desync. He also has this issue in solo games as well. Any help would be appreciated since I love both the uveso AI and nomads for high cheat level challenges.

              Thanks! If you need logs, let me know.

              1 Reply Last reply Reply Quote 1
              • UvesoU Offline
                Uveso
                last edited by

                @Gladry
                Do you mean the no rush option ?
                My AI has special builders for the no Rush Option, maybe i missconfigured the AA builders.
                I will check this.

                @ctrlaltdelete
                AI version 92 was more or less for debugging, and i did not check the functionality with Nomads.
                I will test nomads for the next AI version and fix it.
                (since i also can patch the Nomads mod it will run in every case even if the problem is inside Nomads)

                Thanks for reporting !!!

                G 1 Reply Last reply Reply Quote 0
                • G Offline
                  Gladry @Uveso
                  last edited by Gladry

                  @Uveso said in AI-Uveso (v92) - AI mod for FAForever:

                  @Gladry
                  Do you mean the no rush option ?
                  My AI has special builders for the no Rush Option, maybe i missconfigured the AA builders.
                  I will check this.

                  Question #1: T1 AA mobile units

                  • In this game no-rush was not turned on - I assume the answer is about this, in any case no-rush was not on for either question.
                  • T1 AA mobile were still being built at 18 minutes in, I know as I allied with an Ai-Uveso player and reclaimed (killed) 20+ T1 AAs to remove them - more were built

                  Question #2: Base planning

                  • If a ground turret costs as much to build as 4 T1 tanks, and 4 tanks combined do 10% more damage build faster in 80% of the time - it makes sense to build the tanks instead.
                  • However if someone added a mod which changed the range or DPS, build time, or build cost of the fixed turret, turret would probably be better - especially if range is significantly farther.
                  • Code might check for this. AI designer might presume tanks or mobile light artillery are go-to solutions, or make comparison code

                  Question #3: DPS calculation

                  • In your function CalculatedDPS(weapon)
                  • your comment states "--Game logic rounds the timings to the nearest tick -- math.max(0.1, 1 / (weapon.RateOfFire or 1)) for unrounded values"
                  • You use the calculation of actual rate of fire which I have seen mentioned elsewhere, but in no cases have I seen, when mentioned, round up or round down. I don't know for certain (you probably do) if it rounds up or rounds down.
                  • Will effective rate of 1/rate = 1.66666 end up being 1.7 or 1.6. Rounding up by 0.5, as your code does, will make it 1.7 which of course is slower . 17 game ticks being more than 16 ticks.
                  • Do you or others know where the FAF lua code that actually decides? I can see if the game code puts the 1/rate value into a variable, and every tick subtracts 0.10 from the value until it is <= 0, that would effectively be rounding up.
                  1 Reply Last reply Reply Quote 0
                  • UvesoU Offline
                    Uveso
                    last edited by

                    @ctrlaltdelete
                    please update Nomads, a patch for the error was already released in Nomads 6 days ago:
                    https://github.com/FAForever/nomads/pull/626

                    @Gladry
                    T1 AA mobile units:
                    I will reduce the amount of mobile AA in the next update.

                    Base planning:
                    My AI is meant to be played with unit mods like Total Mayhem. Thats why i have builder for pointdefenses.
                    Sadly you can't determine the cost of a unit before you build it.
                    The AI will assign a buildtask to an engineer and only the engineer will know how much the unit costs.

                    DPS calculation:
                    The game does not have any DPS calculation in LUA, it's all calculated hidden inside the c-engine.
                    we only try to mimic the c-eninge with LUA functions. (it is not always accurate)

                    G 1 Reply Last reply Reply Quote 0
                    • G Offline
                      Gladry @Uveso
                      last edited by

                      @Uveso

                      if bp.Economy then
                            if bp.Economy.BuildCostEnergy and bp.Economy.BuildCostMass 
                      ...
                      end
                      
                      if bp.Economy.BuildTime then
                             bp.Economy.BuildTime = 
                      end
                      
                      1 Reply Last reply Reply Quote 0
                      • UvesoU Offline
                        Uveso
                        last edited by

                        @Gladry

                        I am sorry i don't know what you want to tell me with this code snippet

                        Its not a part of the code we talked about, enhancements don't have a Economy sub table.

                        Also you don't need to ask for if bp.Economy then when you need to know if bp.Economy.BuildCostEnergy exists.
                        Just call directly if bp.Economy.BuildCostEnergy. it will return false if bp.Economy is missing.

                        1 Reply Last reply Reply Quote 1
                        • A Offline
                          Accipian
                          last edited by

                          @Uveso
                          I appreciate the response. I thought Nomads was always up to date through the patching mechanism? I am running the most recent version of FAF and it still produces the same result. Is there a way to check to make sure I am running the most recent version of nomads?

                          Thanks!

                          1 Reply Last reply Reply Quote 0
                          • UvesoU Offline
                            Uveso
                            last edited by

                            @ctrlaltdelete :

                            Good question; i always use the develop version of nomads downloaded from Git-Hub:
                            https://github.com/FAForever/nomads

                            I thought it is the same version that you can play through the FAF client.
                            Its both printing version 98 to the log, but the client version has still this error.

                            1 Reply Last reply Reply Quote 0
                            • I Offline
                              Idalgos
                              last edited by

                              @Uveso
                              Hi! Encountered the same problem as ctrlaltdelete, and as I am not that techsavy, wanted to ask how should I update nomads to fix this problem?
                              P.S. Really like your AI, it wrecked me and my friends good, was fun expirience! Thank you for providing that!

                              1 Reply Last reply Reply Quote 0
                              • P Offline
                                plasia
                                last edited by

                                In case you missed it on discord @Uveso

                                Seraphim Experimental Bomber likes to gift itself as a mass donation. It does this via a ctrl+k. It does this before dropping any bombs. I have seen this multiple times.

                                https://youtu.be/oBbjImRz6jA

                                1 Reply Last reply Reply Quote 0
                                • UvesoU Offline
                                  Uveso
                                  last edited by Uveso

                                  @plasia

                                  Yes this bomber was driven by a suicide platoon. it was meant to just destoy itself.

                                  This was the corresponding platoon former:
                                  https://github.com/Uveso/AI-Uveso/blob/master/lua/AI/AIBuilders/Mobile Experimental-Air.lua#L431

                                  Its driven by this function (AirSuicideAI):
                                  https://github.com/Uveso/AI-Uveso/blob/master/hook/lua/platoon.lua#L2518

                                  The suicide platoon was searching for Economic buildings.
                                  That's why he destroyed the first Tech3 energy building closest to the AI's base.

                                  Maybe a bad decision to do it with a suicide attack, but not a bug 🙂

                                  1 Reply Last reply Reply Quote 0
                                  • P Offline
                                    plasia
                                    last edited by

                                    I'm not trying to be rude, but follow along here:

                                    If my teammate got up an experimental and just suicided it into something like an energy building I would be.... most upset.

                                    It's simply a mass donation. "Oh no! not my T3 reactor, that will inconvenience me for a whole minute!" Then I profit from all that mass dropped on my front door.

                                    Suiciding into energy... is just silly. Suiciding into something that matters, like a SMD... that makes sense.

                                    1 Reply Last reply Reply Quote 0
                                    • UvesoU Offline
                                      Uveso
                                      last edited by Uveso

                                      Hey Plasia,

                                      i am a german, and i like direct and honest answers!

                                      You are absolutly right, its a total waste of mass and fight power.

                                      And its already fixed!
                                      The new target priorities for suicide platoons are:

                                                      categories.STRUCTURE * categories.EXPERIMENTAL * categories.ECONOMIC,
                                                      categories.STRUCTURE * categories.EXPERIMENTAL * categories.SHIELD,
                                                      categories.STRUCTURE * categories.EXPERIMENTAL * categories.ARTILLERY,
                                                      categories.STRUCTURE * categories.TECH3 * categories.ARTILLERY,
                                                      categories.STRUCTURE * categories.TECH3 * categories.NUKE,
                                      
                                      P 1 Reply Last reply Reply Quote 0
                                      • UvesoU Offline
                                        Uveso
                                        last edited by Uveso

                                        Comming soon:

                                        Advanced ACU attack function
                                        https://youtu.be/LvLNFyNk3kg (5 minutes)

                                        Amost 90% of the function is finished.
                                        I guess i will be able to make an mod update in the next 14 days.

                                        1 Reply Last reply Reply Quote 0
                                        • P Offline
                                          plasia @Uveso
                                          last edited by

                                          😄

                                          @uveso said in AI-Uveso (v92) - AI mod for FAForever:

                                          Hey Plasia,

                                          i am a german, and i like direct and honest answers!

                                          You are absolutly right, its a total waste of mass and fight power.

                                          And its already fixed!
                                          The new target priorities for suicide platoons are:

                                                          categories.STRUCTURE * categories.EXPERIMENTAL * categories.ECONOMIC,
                                                          categories.STRUCTURE * categories.EXPERIMENTAL * categories.SHIELD,
                                                          categories.STRUCTURE * categories.EXPERIMENTAL * categories.ARTILLERY,
                                                          categories.STRUCTURE * categories.TECH3 * categories.ARTILLERY,
                                                          categories.STRUCTURE * categories.TECH3 * categories.NUKE,
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • UvesoU Offline
                                            Uveso
                                            last edited by Uveso

                                            Update31.May.2021(v93)

                                            • New: Added advanced ACU fight function. Microing, threat management, proper overcharge targets.
                                            • New: AI is now able to use gifted factories also after full share or player disconnect.
                                            • New: Adding "DoNotAllowMarkerGenerator = true," to the map scenario file will block autogenerating markers.
                                            • Opt: Added builder for an early energy storage to enable ACU overcharge
                                            • Fix: Hardcaped the amount of mobile AA that can be build per location
                                            • Fix: Fixed a bug inside the AI-Marker generator (thanks to chp2001)
                                            • Fix: Ecomanager will no longer pause the build of Tech1 factories.
                                            • Opt: Decreased the massextractor upgrade ratio for Sub AI Storm
                                            • Opt: 2nd factory now needs at least 2 mex and 4 energy buildings to be build.
                                            • Opt: Air Suicide Platoons no longer attack none game ender buildings.
                                            • Opt: Panic Builders are now also building tanks and bots, not only arties.
                                            • Opt: ACU will now assist engineers (energyproduction and factories)
                                            • Opt: Aeon ACU is now first enhancing with CrysalisBeam, not HeatSink.
                                            • Opt: Optimized AI marker generator. (fixed issue with Open Palms)
                                            • Opt: Added a value to the AI-Marker to identify related layer areas (.GraphArea)
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post