For Backers Only: AI building stuff

Discussion in 'Backers Lounge (Read-only)' started by Sorian, July 19, 2013.

  1. Sorian

    Sorian Official PA

    Messages:
    998
    Likes Received:
    3,844
    Old comment then. economy_scale was before we had the economy handicap in the lobby.
    Quitch and wondible like this.
  2. Quitch

    Quitch Post Master General

    Messages:
    5,885
    Likes Received:
    6,045
    I was fiddling with the values to see if I couldn't change the AI's play, but was pretty much stymied by the fabbers and factories being joined at the hip.
  3. swizzlewizzle

    swizzlewizzle Active Member

    Messages:
    216
    Likes Received:
    56
    Looking forward to getting a bit more info on how to tweak the AI towards being more aggressive and working better with new units.
  4. Quitch

    Quitch Post Master General

    Messages:
    5,885
    Likes Received:
    6,045
    What do the following settings modify?

    fabber_alone_on_planet_mod
    factory_alone_on_planet_mod
  5. Quitch

    Quitch Post Master General

    Messages:
    5,885
    Likes Received:
    6,045
    In regards to my previous question I'm assuming that they modify:

    fabber_to_factory_ratio_basic
    fabber_to_factory_ratio_advanced
    basic_to_advanced_factory_ratio

    @sorian

    Working through the AI I was hoping you might be able to clarify a few points:
    1. Why is CanAffordPotentialDrain always followed by a string0, but CanAffordBuildDemand is not?
    2. Why is NeedBasicAirFabber (and other Need tests) never followed by a boolean?
    3. What causes a Need check to become true?
    4. What triggers HaveEcoForAdvanced to become true?
    5. Is percent a maximum value for the size of the squad measured against the overall platoon, or is it a requirement that the platoon consist of a x% of whatever units that squad has?
    6. Is influence type a build condition? I read it to mean don't place build X here if threat of type Y exists for value Z within a specified radius.
    7. Is a ThreatRatio (such as PlanetThreatRatio) measured in proportion to the AIs ability to respond? For example, a Land thread is modified by the AIs AntiSurface capabilities?
    Last edited: November 4, 2014
  6. towerbabbel

    towerbabbel Active Member

    Messages:
    182
    Likes Received:
    106
    I have never seen the AI do anything with gas giants. Does the AI know what to do with them?
  7. Quitch

    Quitch Post Master General

    Messages:
    5,885
    Likes Received:
    6,045
    No.
    websterx01 likes this.
  8. Sorian

    Sorian Official PA

    Messages:
    998
    Likes Received:
    3,844
    1) Because that is the way it panned out. It doesn't need to be that way anymore.
    2) Didn't have need of one.
    3) It uses the values in ai_config.json.
    4) When the AI has enough economy income to support a T2 factory + T2 fabber. May make this adjustable via ai_config or (more likely) a personality value.
    5) % of the platoon size. It is a desired amount (not required) unless paired with min_count.
    6) You mean the threat block in the placement rules? Then yes, it means find a place that meets these threat requirements. Those values could use some work.
    7) string0 is enemy threat, string1 is allied threat, so the AI and any teammates.
    cwarner7264, Quitch, mjshorty and 4 others like this.
  9. Quitch

    Quitch Post Master General

    Messages:
    5,885
    Likes Received:
    6,045
    Thanks for the response!

    1. As in the string0s aren't required any more, or they stopped being a requirement as new checks were developed (but are still needed for ones like CanAffordPotentialDrain)?

    2. Is that true for all checks (a check without a boolean checks for true), or just the specific ones where you haven't included a boolean?

    Is there any means at the moment to see the AI's thinking? Naturally the first thing I encounter is a lot of stuff breaking as I fiddle, and I'd love to know what the AI is doing and which checks are coming up false, etc.
  10. Sorian

    Sorian Official PA

    Messages:
    998
    Likes Received:
    3,844
    Any build condition that does not allow a boolean will only be true if the condition is true. Hope that made sense.
    Quitch likes this.
  11. Quitch

    Quitch Post Master General

    Messages:
    5,885
    Likes Received:
    6,045
    Oh damn, one I forgot. The ThreatRatio checks, is that comparing overall force strengths through the neural net scoring, or something else? My assumption was that PlanetThreatRatio > 2.0 would mean where the enemy force is more than twice as strong as mine.
  12. Quitch

    Quitch Post Master General

    Messages:
    5,885
    Likes Received:
    6,045
    Is InstanceCount:
    1. Only do this action X times?
    2. Only do this action in X places at one time?
    3. And is it per planet or system?
    If it's the latter, do platoons the AI forms count towards the instance count so long as they're alive, or only while it's forming them?

    Do squad names have any meaning, or do they just need to be unique within the platoon?
    Last edited: November 5, 2014
  13. Sorian

    Sorian Official PA

    Messages:
    998
    Likes Received:
    3,844
    It uses threat values, which are calculated at the start of a game for each available unit (including ones added through modding).

    InstanceCount means only use this build item at most X number of times at the same time. SharedInstanceCount is the same, but shared across multiple build items with the same shared_instance_count name. This is done per planet.

    Squad names have meaning. It changes the way the AI uses the units. For example, units in the defensive squad will not be given orders to attack things. Instead, they will be told to stay with the group of units attacking from the furthest away.
    wondible, Quitch and mjshorty like this.
  14. Quitch

    Quitch Post Master General

    Messages:
    5,885
    Likes Received:
    6,045
    That's what I figured, but it seems to happily continue to form new scouting squads regardless of the instance_count. I'm not sure if that's because the AI only counts forming the squad as an instance (rather than the squad existing), or if I've made a cock up somewhere. Ah, the joys of figuring this stuff out :). Probably best that I strip the files right back and build up from scratch to make it easier to nail this stuff down.

    Are AntiOrbital, AntiAir and AntiSurface an internal thing? Despite being referenced as strings they don't appear in any of the json files apart from the AI ones. I'm trying to figure out if "string0":":"Air" and "string1":"AntiSurface" is a valid combination. In one instance the files have "string0":"Land", "string1":"Land" and I'm not sure if that's a typo.
  15. Sorian

    Sorian Official PA

    Messages:
    998
    Likes Received:
    3,844
    Didn't get around to platoon instance counts, sorry :(
    Wouldn't take much work to get it done, but not high priority at the moment.

    Valid threat values are:

    Economy
    Commander
    Land
    Air
    Naval
    Orbital
    Artillery
    Nuke
    AntiNuke
    AntiSurface
    AntiAir
    AntiSub (Unused)
    AntiOrbital
    Quitch likes this.
  16. FSN1977

    FSN1977 Active Member

    Messages:
    657
    Likes Received:
    232
    Please don't let the AI Commander "try" to invade planets it havent scoutet yet, in a Atreaus. I have lost Count of have many AIs got killed this way. You could think that the Commander was under alot of pressur in its base, but this is not the case, that is not why they are leaving.
    draiwn likes this.
  17. Quitch

    Quitch Post Master General

    Messages:
    5,885
    Likes Received:
    6,045
    Appreciate your time, sorian. Many thanks.
  18. Sorian

    Sorian Official PA

    Messages:
    998
    Likes Received:
    3,844
    Known issue that will be worked on. Just be patient. Lots of stuff yet to do.
  19. websterx01

    websterx01 Post Master General

    Messages:
    1,682
    Likes Received:
    1,063
    No. :<
    stuart98 and mjshorty like this.
  20. Quitch

    Quitch Post Master General

    Messages:
    5,885
    Likes Received:
    6,045
    What's the difference between UnitCount and UnitCountPool? They seem to be used in exactly the same way.

    Also what are SystemThreat, PlanetThreat and BaseThreat measured against? There's no string1 for any of them, so what is the point of reference?

Share This Page