FAForever Forums
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Login
    1. Home
    2. kagurazakanana
    K
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 0
    • Posts 6
    • Groups 0

    kagurazakanana

    @kagurazakanana

    1
    Reputation
    1
    Profile views
    6
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online

    kagurazakanana Unfollow Follow

    Best posts made by kagurazakanana

    • RE: M28AI Devlog (v230)

      Hi Maudlin27,

      Thanks for your prompt response! Here's my feedback and follow-up on the points you raised:

      Replay Upload:

      Unfortunately, our last game was played on a local LAN setup, so no replay was saved. I’ll make sure to upload the replay from our next match for you to review once we've played another game.

      AIx Overwhelm Settings:

      Regarding the Overwhelm Rate, Overwhelm Interval, and Overwhelm Limit, I did notice that M28’s economy improves over time, but the build rate (e.g., engineers' build speed) didn’t noticeably change. One specific example: M28 was set to a (1.21.0) multiplier, with Overwhelm values of 0.1, 5, and 10. By the 28-minute mark, a T3 power generator should have been producing 25001.2(1.1^5) = 4831.53, but it was only producing 4000. Similarly, T3 mass extractors were only producing +28 mass/second when I expected them to be around +52.

      40km Naval Map:

      Yes, it was indeed a naval map, and it’s based on an older version you can find on the FAF client under the name "Durex 40km".

      Paragon and Naval Battles:

      The Paragon was outside of naval range, and the AI spent considerable resources on its navy. However, the AI couldn't effectively leverage its battleships. The players were able to focus fire with battleships and used nukes to clear specific targets, leading to a cost-ineffective navy for the AI. This allowed the players to cheaply fend off sea attacks.

      T4 Air Attacks in Late Game:

      M28’s air strategy was solid during the early and mid-game (with many successful gunship strikes), but by the late game, even though it had significant T4 air units, it stopped attacking aggressively. In that match, the defending player had about 300+ T3 sam AA, 500 ASF (with 50 T3 air factories constantly producing), as well as a large number of Aeon T2 move AA and cruisers; however, these defenses were spread thin across the map. Meanwhile, M28 had 10-15 CZARs, along with many gunships and ASFs, which could have broken through. I suspect M28 evaluates the total number of AA units rather than factoring in the map size and positioning when deciding whether or not to proceed with an attack.

      Unit Sharing After Ally Defeats:

      One observation was that once all of M28’s allies were defeated and their units were shared, M28 started attacking with those units, but by then it was too late. I suspect M28 isn’t accounting for the availability of allied units earlier in the match, which could have provided an advantage.

      Bomber Snipes and ASF Response:

      M28 did respond by sending ASFs to intercept once it detected T3 bombers, but my teammates deliberately distracted the ASFs by sending forward CZARs and Soul Rippers. This shifted the AI’s focus, allowing bomber attacks at the map’s edge to go unnoticed.

      Misuse of ASFs:

      In some cases, M28 ASFs would dive directly into dense anti-air zones, leaving behind large wreck fields. There were also times when the factory rally points were placed inside AA zones and remained there for the rest of the game.

      Some Minor Suggestions for Improvement:
      Allied Unit Management:

      Multiple AI allies producing the same type of experimental units (like CZARs or Soul Rippers) don’t share them efficiently amongst each other. Perhaps consolidating some of these forces under the control of one stronger AI could make their use more effective.

      Mass Extractor Sharing:

      M28 AIs on the same team don’t seem to gift upgraded mass extractors to their allies. When one AI upgrades its mass points, sharing the upgraded extractors with allies could help boost their economies, especially on larger maps.

      Engineer Sharing:

      M28 AIs on the same team don’t share engineers, which could improve characteristic and construction efficiency.

      Experimental Construction Prioritization:

      M28 doesn’t seem to prioritize certain experimental units correctly. It often builds Salvation or Scathis, which are ineffective against shields, rather than opting for more impactful units like Paragon or Mavor.
      -some m28and game setting:
      1.5*1.5 (other def)
      no mod open(only m28ai(v142) )
      Thanks again for all your efforts. I’ll get you the replay from our next game as soon as possible for further review.

      posted in AI development
      K
      kagurazakanana

    Latest posts made by kagurazakanana

    • RE: M28AI Devlog (v230)

      Subject: Issue Report and Feedback on Large Naval Maps with Concentrated Resources

      Dear Mod Author,

      I am writing to report some issues and provide feedback based on my experience playing on large naval maps (greater than 20km) with concentrated resources.

      On these maps, I've found that bomber snipes and precise SCU teleport attacks are highly effective strategies. I believe exploiting the AI's tendency to multitask allows for consistent SCU teleport raids or SCU + TML teleport attacks (targeting structures like SMDs or ACUs). The ability to quickly retreat and re-engage makes this a low-cost and effective way to target vulnerable points in the base. Teleporting directly into the base center, bypassing PD and heavy defenses, is often more effective than using satellites.

      Furthermore, in the late game, with a larger number of engineers, it's possible to conduct ASF sweeps of the player's base (even if they are lost, they are quickly replaced) followed by bomber snipes, specifically targeting the player's ACU and SMDs.

      Here is more specific feedback based on a 40x20 naval map with concentrated resources:

      1. M28aix's ASF manufacturing is strong, but its air superiority is weak. Its ground strike/bomber units fail to closely coordinate with its ASF escorts, resulting in the ground strike/bomber units lacking adequate protection.

      2. After achieving air superiority in an engagement, M28 failed to quickly capitalize by deploying its ground strike/bomber units to eliminate key enemy units.

      3. M28's air units, such as ground strike aircraft, appear overly cautious. They often patrol in the middle of the map instead of actively engaging in targeted strikes.

      4. A recurring issue persists: M28 built a significant number of T4 air units (15 in this instance), but M28aix repeatedly pulled them back and forth, hesitant to attack the player's main base. Even as M28 lost the game, its T4 air force remained unused.

      5. Large-scale naval battles felt too sparse. M28 invested more heavily in naval units than the player, but its unit composition was problematic. For example, it built insufficient numbers of battleships (BBs) and submarines. It constructed a large number of destroyers (DDs) which were destroyed by the player's concentrated BB fire before they could reach effective range. Additionally, a large portion of M28's navy patrolled in the middle of the map. M28 did not seem to intend to concentrate its naval forces for a decisive attack on enemy fleets, important shipyards, or land targets. I suspect the AI "A-moved" a target, but the varying speeds of the units prevented them from focusing fire effectively. Consider having the AI initially group its fleet near the player's base before initiating a coordinated rush.

      6. The AI remains vulnerable to ACU and bomber assassination tactics. Even with full map vision, the AI's ASF did not intercept bombers. This made assassinations very easy. We assassinated four of M28's largely undefended ACUs using two Mavors.

      7. M28aix built Diamond defenses within several shield generators, but it lacked any defense against SCU teleports. We teleported an SCU next to one of M28's Diamonds. The Diamond was instantly destroyed by friendly fire from battleships and missile ships, while my SCU safely returned to base.

      8. The previously mentioned AI overwhelm issue has not been resolved. In several matches, after the AI's structures were destroyed, newly constructed buildings still appeared to have the base production rate, and the bonus values applied to existing structures were also incorrect.

      Thank you for your time and dedication to the mod. I hope this feedback is helpful in improving the AI's performance on these types of maps.

      posted in AI development
      K
      kagurazakanana
    • RE: M28AI Devlog (v230)

      Hi maudlin27
      Thank you for your detailed feedback. I have gone through your response, and I appreciate the clarification you have provided on various issues. I’ve also taken your suggestion to prepare a replay showcasing one specific issue observed with the M28 AIX Overwhelm rate.

      Replay Details:
      In the attached replay, you can observe the following anomaly:

      AIX Overwhelm rate inconsistency: In the replay, many of the factories themselves fail to respond to the overwhelm multiplier properly. In the later stages of the game, there are also instances where production power seems to get applied without any observable incremental increase. Additionally, energy and mass extractors seem to receive a partial benefit, but the benefit applied is inconsistent and varies across different buildings.
      I believe this has to do with how the multiplier is handled in relation to newly constructed buildings, which may not be adjusted correctly.

      Reference to FACN Platform Fix:
      About ten years ago, I was working on a similar AI system for the FACN platform (similar to FAF but based in China, forked from an older version of FAF). At that time, while facing a similar issue with adaptive AI not applying overwhelm and cheat buffs accurately to new buildings, I managed to implement a fix to resolve it on that platform.

      Here is an example of how I approached it in Unit.lua under Unit = Class(moho.unit_methods):

      lua

      OnStopBeingBuilt/--------------Enable AIX Detection Thread
      if ScenarioInfo.type ~= 'campaign' then
      local AIBrain = self:GetAIBrain()
      if string.lower(AIBrain.BrainType) ~= 'human' and self:GetAIBrain().CheatEnabled then
      if ScenarioInfo.Options.AdpAI ~= 'off' then
      self:ForkThread(self.CheckAutoAIbuff)
      end
      end
      end
      Additionally, I implemented a periodic check function to ensure proper multiplier adjustments:

      lua

      CheckAutoAIbuff = function(self)
      if not self:IsDead() then
      if ScenarioInfo.type ~= 'campaign' then
      local AIBrain = self:GetAIBrain()
      if ScenarioInfo.Options.AdpAI ~= 'off' then
      local refreshTime = (tonumber(ScenarioInfo.Options.AdpAI) * 60)
      if not nextRefresh then
      nextRefresh = refreshTime
      end
      if string.lower(AIBrain.BrainType) ~= 'human' and self:GetAIBrain().CheatEnabled then
      local timeSecs = GetGameTimeSeconds()
      RemoveCheatBuffs(self)
      if timeSecs < nextRefresh then
      SetupAICheatS(AIBrain,self,AdpCheatMult,AdpBuildMult)
      elseif timeSecs >= nextRefresh then
      if (AdpCheatMult <= 1000) and (AdpBuildMult <= 1000) then
      AdpCheatMult = AdpCheatMult + (AdpCheatMult/2)
      AdpBuildMult = AdpBuildMult + (AdpBuildMult/2)
      end
      SetupAICheatS(AIBrain,self,AdpCheatMult,AdpBuildMult)
      nextRefresh = nextRefresh + refresh time
      end
      end
      end
      end
      self:ForkThread(self.AIXWaitUnit)
      end
      end
      This was one of the approaches that I found effective for resolving the inconsistent multiplier application for newly constructed buildings. However, with the passing of time, I no longer recall all the intricate details of this solution and how specifically it was implemented, which makes it challenging to apply the same exact logic to the current FAF system.

      FACN Lua.nx2 File:
      To support your investigation, I will include a FACN lua.nx2 file for your reference. This might provide useful insights during the repair process. Unfortunately, I could not attach the entire file due to its size (over 1GB). In this version of the AI system, I had successfully addressed the issue of inaccurate multiplier application on new buildings. However, as mentioned earlier, some of the finer details of that implementation have since been lost, and I’ve found it difficult to map this solution onto the FAF environment.

      Additional FACN Code (for Health Scaling):
      Regarding AI scalability, I had implemented a setting in FACN that allows the AI to have X times the normal health. This feature, when combined with the proper adaptive AI system configuration, can allow the AI’s health to increase progressively over time. Below is the relevant code that implements the health multiplier, which can be adapted further for dynamic health growth.

      Example from Unit.lua/SetupAICheat:

      lua

      if ScenarioInfo.Options.AIMultHP ~= "off" then
      AISetMaxHealth = tonumber(ScenarioInfo.Options.AIMultHP)
      unit:SetMaxHealth(unit:GetMaxHealth() * AISetMaxHealth)
      if EntityCategoryContains(categories.COMMAND, unit) then
      unit:SetHealth(unit, unit:GetMaxHealth())
      end
      unit.HealthM = tonumber(ScenarioInfo.Options.AIMultHP)
      end
      Supporting function in Unit.lua:

      lua

      function setupHealthMultiplier(unit, Mult)
      unit:SetMaxHealth(unit:GetMaxHealth() * 10)
      unit:SetHealth(unit, unit:GetMaxHealth())
      end
      This code ensures that AI units can initially have a health multiplier (X times their normal health). To achieve the goal of having dynamic health growth over time, you can combine this multiplier setup with a proper adaptive AI configuration that adjusts the multiplier periodically. The health multiplier would then increase as game time progresses, allowing AI units to scale effectively in longer or more challenging scenarios.

      Regarding Other Mentioned Issues:
      As for the other points I previously raised (such as the behavior of naval battles, air attacks, and misuse of ASFs), I haven’t encountered those issues again as of this response. Should any of those issues arise in future matches, I’ll make sure to record the replays for further analysis and share them with you for a better evaluation. I look forward to understanding how these can be improved further.

      Replay Settings:
      M28: 1.0*1.0

      M28AIX Overwhelm rate: 0.1

      M28AIX Overwhelm interval: 0.5

      M28AIX Overwhelm limit: 10.0

      Mods included:

      M28AI v145
      All Faction Quantum Gate V2.0 (created by jayTac)
      Map:

      3v3 Durex v10 Hotfix
      lua(FACN) (2).zip 3v3_durex_v10.v0005.zip lastgame.zip

      posted in AI development
      K
      kagurazakanana
    • RE: M28AI Devlog (v230)

      Hi Maudlin27,

      Thanks for your prompt response! Here's my feedback and follow-up on the points you raised:

      Replay Upload:

      Unfortunately, our last game was played on a local LAN setup, so no replay was saved. I’ll make sure to upload the replay from our next match for you to review once we've played another game.

      AIx Overwhelm Settings:

      Regarding the Overwhelm Rate, Overwhelm Interval, and Overwhelm Limit, I did notice that M28’s economy improves over time, but the build rate (e.g., engineers' build speed) didn’t noticeably change. One specific example: M28 was set to a (1.21.0) multiplier, with Overwhelm values of 0.1, 5, and 10. By the 28-minute mark, a T3 power generator should have been producing 25001.2(1.1^5) = 4831.53, but it was only producing 4000. Similarly, T3 mass extractors were only producing +28 mass/second when I expected them to be around +52.

      40km Naval Map:

      Yes, it was indeed a naval map, and it’s based on an older version you can find on the FAF client under the name "Durex 40km".

      Paragon and Naval Battles:

      The Paragon was outside of naval range, and the AI spent considerable resources on its navy. However, the AI couldn't effectively leverage its battleships. The players were able to focus fire with battleships and used nukes to clear specific targets, leading to a cost-ineffective navy for the AI. This allowed the players to cheaply fend off sea attacks.

      T4 Air Attacks in Late Game:

      M28’s air strategy was solid during the early and mid-game (with many successful gunship strikes), but by the late game, even though it had significant T4 air units, it stopped attacking aggressively. In that match, the defending player had about 300+ T3 sam AA, 500 ASF (with 50 T3 air factories constantly producing), as well as a large number of Aeon T2 move AA and cruisers; however, these defenses were spread thin across the map. Meanwhile, M28 had 10-15 CZARs, along with many gunships and ASFs, which could have broken through. I suspect M28 evaluates the total number of AA units rather than factoring in the map size and positioning when deciding whether or not to proceed with an attack.

      Unit Sharing After Ally Defeats:

      One observation was that once all of M28’s allies were defeated and their units were shared, M28 started attacking with those units, but by then it was too late. I suspect M28 isn’t accounting for the availability of allied units earlier in the match, which could have provided an advantage.

      Bomber Snipes and ASF Response:

      M28 did respond by sending ASFs to intercept once it detected T3 bombers, but my teammates deliberately distracted the ASFs by sending forward CZARs and Soul Rippers. This shifted the AI’s focus, allowing bomber attacks at the map’s edge to go unnoticed.

      Misuse of ASFs:

      In some cases, M28 ASFs would dive directly into dense anti-air zones, leaving behind large wreck fields. There were also times when the factory rally points were placed inside AA zones and remained there for the rest of the game.

      Some Minor Suggestions for Improvement:
      Allied Unit Management:

      Multiple AI allies producing the same type of experimental units (like CZARs or Soul Rippers) don’t share them efficiently amongst each other. Perhaps consolidating some of these forces under the control of one stronger AI could make their use more effective.

      Mass Extractor Sharing:

      M28 AIs on the same team don’t seem to gift upgraded mass extractors to their allies. When one AI upgrades its mass points, sharing the upgraded extractors with allies could help boost their economies, especially on larger maps.

      Engineer Sharing:

      M28 AIs on the same team don’t share engineers, which could improve characteristic and construction efficiency.

      Experimental Construction Prioritization:

      M28 doesn’t seem to prioritize certain experimental units correctly. It often builds Salvation or Scathis, which are ineffective against shields, rather than opting for more impactful units like Paragon or Mavor.
      -some m28and game setting:
      1.5*1.5 (other def)
      no mod open(only m28ai(v142) )
      Thanks again for all your efforts. I’ll get you the replay from our next game as soon as possible for further review.

      posted in AI development
      K
      kagurazakanana
    • RE: M28AI Devlog (v230)

      Hi Maudlin27,

      First off, awesome job on the M28 AI mod—it keeps getting better with every update! Lately, I’ve run into a couple of issues and wanted to ask for your input.
      I’ve noticed that the Overwhelm Rate, Overwhelm Interval, and Overwhelm Limit settings don’t seem to work as intended. From what I understand, these should gradually increase the AIX's cheat multipliers over time, but I haven’t seen any changes after adjusting these settings. I’m using game version 3984, with default options.
      Another issue involves M28's strategy on large maps. We had a 3v3 on a 40km x 40km naval map with lots of resources (Peer Player, 16+ mass points each). We set up 3 M28 AIs with a 1.5*1.5 multiplier. We rushed to build a Paragon: Experimental Resource Generator at around 25 minutes, protected by 30+ shield generators, but M28 didn’t respond effectively and was eventually overwhelmed by approximately 10 Mavors.
      By the late game, M28 AIX had relative air superiority with over a dozen T4 air units, but they remained idle around the base and didn’t prioritize key targets.
      Lastly, I noticed M28 AIX had no defense against T3 bomber snipes on the ACU. On large maps, it seems vulnerable to such tactics, without strong countermeasures.
      Do you have any suggestions or insights into these issues? Are these areas for potential improvement in future updates?

      posted in AI development
      K
      kagurazakanana
    • RE: M28AI Devlog (v230)

      replay.zip

      posted in AI development
      K
      kagurazakanana
    • RE: M28AI Devlog (v230)

      Hello!

      I think the AI you created is very excellent, and it may even have a score of 1300+ in a 1.2*1.2 2v2 scenario. However, it's not perfect, and I have found several issues with M28ai. I started a 2v2 game on the IS map, where I produced a large number of ASFs in the late game, and our side hoarded some land T4 for defense. I then started building the game terminator, but the M28ai I was up against did not respond to my actions.

      After I hoarded some ASFs, M28AI often attacked my T3AA position with small groups of troops. These failed attacks prevented M28 from hoarding effective ASFs.

      After I started building the game terminator, M28, as an opponent, did not respond to my actions. This includes TML/bomber/some teleport.

      I noticed that the AI prioritizes maintaining shields, but this is not effective. The AI did not repair enough shield arrays when dealing with T3 heavy artillery and mavor, resulting in heavy artillery easily destroying antinuke/game terminator facilities.

      At the end of the game, when the player finished building the game terminator, M28 AI had an absolute advantage in land force (AI 8-10land t4 vs player 6 T4). However, it did not attack the player's base but kept making detours on the map, which resulted in the ACU and base being completely defeated.

      posted in AI development
      K
      kagurazakanana