This wiki is archived from 2021-09-05

Planetary Annihilation AI Implementation

From Planetary Annihilation: TITANS and Classic PA Wiki
Jump to navigation Jump to search

File:Titans-icon.png Planetary Annihilation Titans & Classic AI Implementation

  • AI Brain
    • Economy Manager
    • Interplanetary Request Manager
    • Planet Managers
      • Planet Manager
        • Strategic Manager
          • Influence Map
          • Recon Manager
          • Base Threats
          • Enemy Base Locations
          • Attack Locations
        • Base Manager
          • Factory Manager
          • Metal Spot Info
          • Rally Points
          • Build Locations
        • Fabber Manager
        • Platoon Manager

Influence Manager

Planet threat evaluations

  • threats for position radius (overlapping)
  • threats at position radius (within)

Influence types

  • Commander
  • Economy
  • EconomyProduction (factories)
  • Land
  • Air
  • Naval
  • Sub
  • Orbital
  • Artillery
  • Nuke
  • AntiNuke
  • AntiSurface
  • AntiAir
  • AntiSub
  • AntiOrbital
  • AntiPlanet (catalyst, halley, ragnarok)

Fabber Manager

Manages fabbers for a planet:

  • idle / assisting
  • builders

Processes a maximum of 8 fabbers each tick (may make this configurable).

Idle / assisting fabbers are prioritised:

  • idle advanced
  • idle commanders
  • idle basic
  • assisting advanced
  • assisting commanders
  • assisting basic

Platoon Manager

Platoons contain squads.

Platoon Tasks

  • None
  • Commander
  • Scout
  • Orbital Recon
  • Patrol
  • LandAttack
  • BomberAttack
  • FighterAttack
  • NavalAttack
  • OrbitalFighterAttack
  • OrbtialLaserAttack
  • Nuke
  • Artillery
  • UnitCannon
  • ThreatResponse
  • TransportToPlanet
  • TransportToSafePlanet
  • OrbitalFabberMoveToPlanet
  • OrbitalFabberMoveToSafePlanet
  • OrbitalFabberMoveToGasGiant
  • OrbitalFabberMoveToSafeGasGiant
  • TransferReconToPlanet
  • TransferOrbitalToPlanet
  • TransferOrbitalAttackToPlanet
  • TeleportLandToPlanet
  • TeleportLandOnPlanet (NEW)
  • TeleportFabberToPlanet
  • Build
  • BuilderAssist
  • AreaBuild
  • GiveUp

Squad Types

  • General
  • Fast
  • Artillery
  • Close
  • Defense
  • Escort (area patrol)
  • Transport
  • Suicide

Build Conditions

  • EnemyPresenceOnPlanet (boolean)
  • EnemySurfacePresenceOnPlanet (boolean)
  • UnitCountInBase (unit_type_string0, compare0, value0 count)
  • UnitCountOnPlanet (unit_type_string0, compare0, value0 count)
  • UnitCountAroundBase (unit_type_string0, string0 AllianceType, value0 radius, compare0, value1 count)
  • DistFromNearestEnemyThreat (compare0, value0)

Unit Type Strings

Simple boolean logic:

  • | or
  • & and
  • - exclude
  • bracket precedence

Examples

  • (Bot & Mobile) - Fabber (any bots that are not fabbers including titans)
  • (Bot & Mobile & Basic) - Construction - Fabber - Artillery (dox and booms)
  • (Bot & Mobile & Advanced) - Construction - Fabber - Artillery - Tactical - Titan (slammers)
  • (Bot & Mobile & Construction) - Fabber (combat fabricators)

Unit Types

Planetary Annihilation Unit Types

Build Conditions

  • PotentialEnergyEfficiency
  • PotentialMetalEfficiency
  • CurrentEnergyEfficiency
  • CurrentMetalEfficiency
  • DesireMetal
  • DesireEnergy
  • CanAffordPotentialDrain (string0 unitSpec)
  • CanAffordBuildDemand
  • MetalStorageFrac
  • EnergyStorageFrac
  • MetalStorageToProductionRatio
  • EnergyStorageToProductionRatio
  • HaveEcoForAdvanced
  • OnTaskType
  • UnitRatio (unit_type_string0, unit_type_string1, compare0, value0)
  • UnitRatioOnPlanet (unit_type_string0, unit_type_string01, compare0, value0)
  • UnitCount
  • UnitCountOnPlanet
  • UnitPoolCount[OnPlanet] (unit_type_string0, compare0, value0)
  • UnitPoolRatio
  • UnitCountInBase
  • UnitCountInMainBase (NEW)
  • UnitCountAroundBase
  • UnitCountPerPlanetRadius
  • UnitCountOnPlanetPerNumberPlanets (NEW)
  • AlliedUnitCountOnPlanet
  • AloneOnPlanet
  • EnemyPresenceOnPlanet
  • EnemySurfacePresenceOnPlanet
  • EnemyAirPresenceOnPlanet
  • EnemyOrbitalPresenceOnPlanet
  • HaveFullPlanetIntel
  • PlanetWithoutPresence
  • SafePlanetWithoutPresence
  • PlanetOrGasGiantWithoutPresence
  • SafePlanetOrGasGiantWithoutPresence
  • HasGasGiant (NEW)
  • PlanetWithoutFabberWithTeleporter
  • PresenceOnOtherPlanet
  • WantCommanderOffPlanet
  • WantCommanderOffPlanetByTeleporter
  • UnitCountInCelestialTransit
  • PlanetHasUseablePlanetWeapon
  • PlanetCanBeUsedAsKineticWeapon
  • HaveThrustToMovePlanet
  • PlanetCount
  • StartingPlanetCount (NEW)
  • SpawnablePlanetCount
  • PlanetIsGasGiant
  • PlanetIsMainEcoBase
  • PlanetIsRespawnable
  • NoWhereToRun
  • UnableToExpand
  • HasPersonalityTag
  • BaseHasEmptyMetalSpotForBasic
  • BaseHasEmptyMetalSpotForAdvanced
  • CanFindMetalSpotToBuildBasic
  • CanFindMetalSpotToBuildAdvanced
  • CanFindControlPointToBuild
  • AllMetalSpotsFull
  • IsMainBase (boolean) (NEW)
  • BaseThreatened
  • DistFromMainBase
  • DistFromNearestEnemyThreat
  • FactoryHasOpenSlot
  • FactorySlotsEmpty
  • NeedBasicVehicleFabber
  • NeedAdvancedVehicleFabber
  • NeedBasicBotFabber
  • NeedAdvancedBotFabber
  • NeedBasicAirFabber
  • NeedAdvancedAirFabber
  • MetMinBasicFabberCount
  • MetMinAdvancedFabberCount
  • NeedBasicLandFactory
  • NeedAdvancedLandFactory
  • NeedBasicVehicleFactory
  • NeedAdvancedVehicleFactory
  • NeedBasicBotFactory
  • NeedAdvancedBotFactory
  • NeedBasicAirFactory
  • NeedAdvancedAirFactory
  • NeedBasicNavalFactory
  • NeedAdvancedNavalFactory
  • NeedOrbitalLauncher
  • NeedOrbitalFactory
  • CanDeployLandFromBase
  • CanDeployNavalFromBase
  • OtherPlanetNeedsReconAssistance
  • OtherPlanetNeedsLandUnitAssistance
  • OtherPlanetNeedsOrbitalUnitAssistance
  • OtherPlanetCanReceiveLandUnitAssistance
  • OtherPlanetCanProvideLandUnitAssistance
  • CanProvideLandUnitAssistance
  • ThisPlanetNeedsLandUnitAssistance
  • ThisPlanetNeedsReconAssistance
  • ThisPlanetNeedsOrbitalUnitAssistance
  • GravWellThreat
  • SystemThreat
  • PlanetThreat
  • BaseThreat
  • FocusTargetThreat
  • PlanetHighestEnemyArmyThreat
  • GravWellToPlanetThreatRatio
  • SystemToPlanetThreatRatio
  • PlanetThreatRatio
  • BaseThreatRatio
  • FocusTargetThreatRatio
  • PlanetHighestEnemyArmyThreatRatio
  • HaveSeenEnemyUnits (unit_type_string0)
  • HaveHadANukeEvent (boolean0
  • CanAttackWithPoolUnits
  • CanAttackWithPoolUnitsLand
  • CanAttackWithPoolUnitsBomber
  • CanAttackWithPoolUnitsFighter
  • CanAttackWithPoolUnitsNaval (NEW)
  • CanAttackWithPoolUnitsOrbital (NEW)
  • CanProvideAirSupportWithPoolUnits
  • CanFindPlaceToBuild