Discussion in 'PA: TITANS: General Discussion' started by Quitch, August 24, 2015.
Not an AI issue. This is the nav bug I metioned in the PTE thread. This is fixed internally.
EnemySurfacePresenceOnPlanet starts as false on systems with only a single spawnable world, though it should start true because the AI knows there's an enemy surface presence on the planet.
Running the latest hotfix version, I'm seeing an issue that looks like naval factories in the slot 2 Pacific spawn changing CanDeployNavalFromBase from true to false. The slot 1 position doesn't appear to suffer from this, all factories continue to pump out ships normally.
As soon as I dropped the CanDeployNavalFromBase check from one ship type all factories at the slot 2 spawn ran for games without the issue. Once I added it back I saw the issue again. A factory would produce some ships, then pause for up to a minute, then make a few more.
In the screenshot below the factory on the right is producing Barracudas just fine, but the one on the left has stopped. No CanAffordBuildDemand checks exist in Queller for units so the factory should never stop on Pacific.
Ran a test and I am not seeing an issue. So, either;
a) the issue was fixed locally by another change that has not gone live yet
b) the issue is related to some other change in Queller
c) there was a bad merge somewhere from main to live/PTE
d) I am just incredibly unlucky in my attempts to repro.
I'll do some more testing and see what I can find. I certainly wouldn't discount b just yet
Is this fix live now? Here are some problematic screenshots from a few days ago where I spectated a massive absurd AI game in the Classic PA PTE for the specator achievements.
Units are like, BEACH PARTY!!
Units are also stuck on the plateaus. System name can be seen in the picture, I must admit it is a very complex map for pathfinding.
Later, when the AI received a nuke he got a hold of its units again and send them right at the enemy though. Pathfinding around such beaches could also be improved, its formation transformed into a one to three units thick line here. But still a cool screenshot
Sorian, if the AI spots something in its orbital layer, which then disappears (let's say the quickest time possible: 3 seconds) does it have to sweep the planet again before AloneOnPlanet is set to true? Does would it localise the search to where the unit was spotted? Does it understand the difference between a fabber/Helios/Astraeus entering and disappearing verses orbital combat units?
Also, once EnemyPresence or one of its variants been set to true, can it go back to false later in the same way AloneOnPlanet cna change back and forth?
MEXs don't appear to be counted as a surface presence. Or perhaps this is particular to them being built on water. Assuming this is right it means the check is a little less useful than it could otherwise be.
Also the AI doesn't seem to like sending subs out to destroy water MEX.
Something that would help the AI do a lot better on worlds where it's by itself is the ability to issue a planet-wide MEX build order. This would help resolve the inefficiencies in the way the AI takes MEX sending fabbers to and from its base.
Here's a trick the AI could execute. When attacking a structure, instead of using the attack command use the assist command, this causes the bomber to hover over the target and continuously drop.
Isn't that more of a bug?
I noticed a value I hadn't seen before: per_expansion_delay. Is that a delay between new bases? Expansions? Are expansions a separate thing from bases?
Delay between expansions (or bases, they are the same thing). Used as a way to control difficulty.
I've written a guide to building your own Planetary Annihilation AI.
This is my first time messing with an AI. I have a feeling I will ask a few WTF questions.. naturally meaning Well That is Fantastic!
Are the AI personalities read once at program launch? Pretty sure this is a yes.
If we knew a few things before reading them.. like if the planet is capable of supporting naval, is the planet a moon, lava planet, etc.. if we knew a few things that a human would know when they are looking to select a spawn point. That would enable us to better config the personalities. ie.. if the planet is not naval capable then the AI personalities should not use a naval component( percent_naval should be 0). Likewise if the planet is a water planet then percent_vehicle should be 0.
Also is there a way to force a re-reading of the AI personalities? What I am thinking here is how ratio's might change late game.
No, you cannot change personalities once loaded. Sorian did mention he was thinking about allowing conditions to trigger changes, though I suspect that would be global rather than planet specific.
Is there some kind of AI API? So you coul build your own AI from basics?
Building your own Planetary Annihilation AI
Like, literally three posts up from yours
@Quitch have you been adding to your AI building guide? Seems like there is more there now. I need to get back to work on making my AI. I hope we can have some AI Wars!!
Separate names with a comma.