The sorian PA AI thread

Discussion in 'Planetary Annihilation General Discussion' started by Quitch, December 23, 2014.

  1. stuart98

    stuart98 Post Master General

    Messages:
    6,009
    Likes Received:
    3,888
    lol?
  2. proeleert

    proeleert Post Master General

    Messages:
    1,681
    Likes Received:
    1,656
    Whatever you do just don't give him a pony.
    stuart98 likes this.
  3. Quitch

    Quitch Post Master General

    Messages:
    5,856
    Likes Received:
    6,045
    What happens if there isn't an Artillery squad? Or will the AI never use the attack from range behaviour without one present in the platoon?
  4. Sorian

    Sorian Official PA

    Messages:
    998
    Likes Received:
    3,844
    They will just attack from the max range for the whole platoon.
    Quitch likes this.
  5. Quitch

    Quitch Post Master General

    Messages:
    5,856
    Likes Received:
    6,045
    What is it about the middle of a base that the AI loves so much? It loses land and air armies (especially the later as they're so mobile) to suicide runs into the middle of bases. It's obviously death, and it's unclear what their objective is. You can see them hit a tipping point, especially on land, where they go from careful micro to a headlong charge.
    Last edited: July 29, 2015
    stuart98 likes this.
  6. Quitch

    Quitch Post Master General

    Messages:
    5,856
    Likes Received:
    6,045
    Interesting "bug". If a unit is listed as a builder, even for build orders it can never carry out, it will never be assigned to a platoon.

    This is an issue particular to combat fabbers. You cannot have one personality use them for mining and another for repairs. Even if the build mines block starts with a personality check, the mere existence of a block in which the combat fabber is the builder stops it joining platoons.
  7. Quitch

    Quitch Post Master General

    Messages:
    5,856
    Likes Received:
    6,045
    I've noticed the AI has a lot of idle Skitters in its bases. It seems to be because while it tries to maintain 10% of its force as Skitters, it will only allocate 5% of the space in a platoon to Skitters. So it will always have more than it can use. Is this an intentional overallocation, or just a misalignment of numbers?
  8. Quitch

    Quitch Post Master General

    Messages:
    5,856
    Likes Received:
    6,045
  9. Sorian

    Sorian Official PA

    Messages:
    998
    Likes Received:
    3,844
    No idea. I did some work recently to help fix it. Not sure if it is in PTE atm.

    Yep.

    Nope, not intentional. I'll do a pass to clean some of that up.
    cdrkf and Quitch like this.
  10. Quitch

    Quitch Post Master General

    Messages:
    5,856
    Likes Received:
    6,045
    For those interested I've updated the AI Functions list with the stuff from the latest PTE. I also added a tasks list.
  11. stuart98

    stuart98 Post Master General

    Messages:
    6,009
    Likes Received:
    3,888
    Someone other than Quitch is asking questions?! :eek:

    Does HaveThrustToMovePlanet check number of halleys against engines needed to move (the number set in the system editor) or current orbitalthrusterpower against amount required?

    Since that was probably a little confusing, here's the example situation where this matters:

    I have set orbital thruster power on the halley to 0.25 and the AI has built one halley on an asteroid. Will HaveThrustToMovePlanet be set to true or will it be set to false until three more have been built?
    Remy561 likes this.
  12. Sorian

    Sorian Official PA

    Messages:
    998
    Likes Received:
    3,844
    Technically, neither. There is an orbital thrust component on the planet and it knows who has control of the planet. The build condition in question simply checks to see if the army that controls the thrust is the AI army or not. This means if the planet needs 3 engines to move and the AI has built three engines, but an enemy has also built one engine, the HaveThrustToMovePlanet condition will, correctly, return false.
  13. stuart98

    stuart98 Post Master General

    Messages:
    6,009
    Likes Received:
    3,888
    Revised example:

    I have set orbital thruster power on the halley to 0.25 and the AI has built one halley on an asteroid, with no one else having built a halley on the asteroid. Will HaveThrustToMovePlanet be set to true or will it be set to false until three more halleys have been built?
  14. Sorian

    Sorian Official PA

    Messages:
    998
    Likes Received:
    3,844
    As I said, the AI does not care about thrust power, it merely asks "am I in control of the planet?" If you have it set up so that each Halley only provides 0.25 thrust instead of 1 then it obviously wont be in control of the planet with only one Halley, so HaveThrustToMovePlanet will be false.
    stuart98 likes this.
  15. stuart98

    stuart98 Post Master General

    Messages:
    6,009
    Likes Received:
    3,888
    Okay, just wanted to clarify. Thanks!
  16. stuart98

    stuart98 Post Master General

    Messages:
    6,009
    Likes Received:
    3,888
    Why is it that bombers and gunships are joined together in platoon_templates and platoon_builds when one would think that their different attack styles would make having them separate a good idea?

    So much tedium for me right now separating them, made even better by the fact that I'm basing off of Queller and have somewhere around 6 times the tedium. :(

    It's enough that it wouldn't be worth it if the basic gunship wasn't a third the speed of the basic bomber, resulting in the former slowing down platoons mainly built out of the latter.
  17. stuart98

    stuart98 Post Master General

    Messages:
    6,009
    Likes Received:
    3,888
    Do higher priority numbers mean higher priority or lower priority?
  18. Sorian

    Sorian Official PA

    Messages:
    998
    Likes Received:
    3,844
    Higher
    stuart98 likes this.
  19. stuart98

    stuart98 Post Master General

    Messages:
    6,009
    Likes Received:
    3,888
    My AI isn't doing a thing upon spawn. :/

    On spawn it's immediately stating "No presence on planet. Deactivating bases". Is this normal?

    I've spawned in avatars etc, but all the avatar does is assist the closest unit.

    Also getting this: "
    [00:36:53.766] ERROR Army: Mace - BuildCondition: Unknown condition type: UnitCountInCelestialTransit
    [00:36:53.766] ERROR Army: Mace - BuildCondition: Unknown condition type: SafePlanetOrGasGiantWithoutPresence"

    Which is coming from stuff that should fail before it gets to that check because it's from a different personality file.


    Except that it isn't...

    Quitch! You got sloppy! You've missed a few build condition lists! Now I have to go through and find these ones you've missed!

    Would that cause it to go idle though?

    Also getting some stuff about fabbers being unable to build stuff if I spawn them in. I've fixed all of the relevant files in the personality I'm using so that must again be sloppy quitch, but the commander doesn't have any of these errors and they don't pop up until I spawn units in so that doesn't really seem like it would be the issue...

    Also seeing stuff like this after spawning in avatar, radar, teleporter, etc on an asteroid: "
    [00:47:45.625] INFO Army: Brother Alpha - Base id 4 is now the main base
    [00:47:45.937] INFO Army: Brother Alpha - Creating a new base with id 11 on planet 1 (O-01)
    [00:47:45.937] INFO Army: Brother Alpha - Base id 11 is now the main base"

    The AI wasn't dead, they moved their com around to where an enemy com was engaged by stuff I spawned in and where I spawned in some factories that it idled, and they retreated their com if it was under attack. It just refused to build anything.

    What would be the likely cause here?

    And yes, I've verified that I don't have any syntax issues.
    Last edited: July 31, 2015
  20. Quitch

    Quitch Post Master General

    Messages:
    5,856
    Likes Received:
    6,045
    So glad the Stuart drama machine has arrived in this peaceful little thread :)

    It can't meet the criteria for any of the activities assigned to the Commander.

    Yes.

    Those are only in PTE, so I'm guessing you're running stable. AI logging will report anything in the files it doesn't recognise so that you can fix it.

    It's a wiki, it's for all of us to maintain :p Or if you mean tests, well there's a reason it's in the develop branch not master.
    Last edited: July 31, 2015
    cptconundrum likes this.

Share This Page