From what I can see it's a 2x buff to the MkI, 1.2x buff to the MkII, 0.8x nerf to the MkIII, and 0.56x nerf to the MkIV.
Hmm, perhaps that is a bit too kind. I'd like to see how it actually works in play though, because the lower number of drones probably looks very different in-game than on-paper.
Yep, it's worth a shot. That particular unit has spent so long in the "rarely useful" pile (for many players, at least) that it'd be a shame to over-nerf it. Took a number of re-imaginations (iirc) to finally make it something people really enjoyed using. But we don't need it skewing balance heavily, either.
I think there should be a minor adjustment upwards, to account for the possibility of a FactIV. Like to 4500 k for the mark IIIs. Maybe as high as 5000. Of course, I have a FactIV 100% of the time, which I gather isn't quite normal.
Hmm, yea, 4000 => 4500 wouldn't be excruciating. I guess I'm not clear on how much mkIII fleet ships are unlocked anyway. In my own experience I tend to prefer either starships or (if more defensive weight is really needed) turrets. So when I look at spending 6500 K on one line of units... I tend to only do that for specific bonus types that I really have a major use for. But I'm not playing scenarios that really push me, either.
I don't think that would help. If the AI gets to me, they shoot the riots or enclaves pretty exclusively already.
Ah, good to know. Yea, little tactical cheeses tend to be high on development effort, and probably aren't going to do much in terms of payoff.
Possibly some more dirty tricks for hitting the player while weak
How about when the AI gets a bunch of salvage quickly, it lowers the threat and threatfleet commit threshold for a little while? It should also not use salvage strength unless it provides a significant boost to a wave, or maybe it should launch its own wave.
For the next version salvage-reprisals will be separate from normal waves, btw.
On lowering the commit thresholds, I don't think I'd want to do that artificially; the planet hit by the reprisal-wave would experience a
natural reduction in the threshold due to the wave's firepower being on the enemy planet. But to lower the threshold further would seem to invite a gain:loss ratio that the AI would normally find unfavorable, for no particularly strong reason.
I think the next step up is how threat/threatfleet deals with mobile strength.
How does it currently handle it? From experiments, I think it only considers ships on the target as counting against it.
Well, there's multiple different contexts in which it could be asking that kind of question.
When an individual chunk of threat ships has nothing better to do (not engaged in a fight, not needing to go defend an AI core/home planet) it looks for a good candidate human planet that it can get to from where it is.
Step 1) For all planets in the game:
1a) Calculate the enemy strength and the allied strength on that planet.
1b) From that, compute a "balance of power" (enemy-allied, but minimum zero even if there's a ton of uncontested AI strength there).
1c) Compute the total "desirability" of all the human-controlled units there. Most units have zero, Ion cannons have 10. Captive human settlements have 100. Fabs have 1000. Normal command stations have 1. A home command station dominates with 1000000. An AdvFact has 10000. And so on.
Step 2) Starting from the threat-chunk's current planet:
2a) assign a "Difficulty" to the planet equal to floor(balance_of_power/(threat_chunk_strength/2)). Note that this is integral math, intentionally "coarsening" the dififculties so it doesn't feel compelled to prefer something with 65% of its strength to something with 75% of it, etc.
2b) for each neighbor planet (that hasn't already been processed), add it to the list, with a starting difficulty equal to this planet's difficulty + 2. This makes it prefer shorter paths, even through uncontested territory.
Step 3) Sort the planets:
3a) If planet A desirability > 0 and planet B desirability zero, prefer A
3b) Else, if planet A difficulty less than planet B difficulty, prefer A (due to coarseness there can be a lot of comparisons where this is equal)
3c) Else, if planet A desirability greater than planet B, prefer A
3d) Else, go by whatever order they happen to be in
(at this point if the "cmd:log ai threat choice" command is on it will dump an entry headed "Analysis of potential targets:" to LogicLog_AIChoosingThreatAttackTarget_AIThread.txt, with the sorted list of planets, desirabilities, and difficulties)
Step 4) For each planet in the sorted list:
1a) If desirability >= 1000000 (meaning it has a human home command station, essentially), pick that one and stop
1b) Else, 25% chance of: pick that one and stop
1c) Else, continue the loop (if that was the last planet in the list, it picks that one, but getting to the bottom should be rather rare to say the least)
Then it picks the shortest path (which accounts for enemy strength and such, but the details aren't terribly important here) and sends the threat-chunk on its way. But the above logic has no direct bearing on when/if a given ship actually commits to a specific wormhole-transit.
So I'm not sure it should really consider mobile-enemy-strength-elsewhere at that point. Not because it doesn't matter but because in the time it takes the AI to route that threat-chunk over there the human player could probably redeploy mobile strength just about anywhere. So it would count equally for any planet, and thus not really count at all.
Or do you mean that it should _not count_ mobile strength for that kind of longer-term analysis? And thus be better aligned with targets that might be uncovered later.
The "should I wait at this wormhole or go through?" logic, for normal threat ships, is:
Step 1) Take the allied strength currently on the target planet.
Step 2) Add the strength of all threat ships waiting against that planet (can be on different planets camping different wormholes, all neighboring the target)
Step 3) Add the strength of all "galaxy-wide-chase" ships (from exos, mainly) whose next wormhole hop goes to the target planet.
Step 4) Subtract the enemy strength currently on the enemy planet
Step 5) If the result is > 0, go through
(to see why the AI's waiting against a particular planet, go to that planet and use the "cmd:log ai wait" command, future wait checks against it will log to LogicLog_AICheckForClearingWaitPointsAgainstSpecifiedPlanet_AIThread.txt)
So I guess there's a place where it could add in "enemy mobile strength on all adjacent planets". Though that just makes it one hop more skittish, and still fairly easy to game if you try.
So possibly something more complex like taking each map-contiguous chunk of mobile enemy strength and adding it to the "available enemy mobile strength" of all planets it can path to without passing through a planet with allied-strength over a certain % of that enemy-mobile-chunk's strength. Possibly with some attenuation for number-of-hops.
That wouldn't be computationally cheap, but this stuff's happening on the AI thread which exists to do computationally expensive stuff for the sake of exterminating the human race.
The threatfleet-proper has somewhat different logic (iirc I didn't pull it all into the revised threat thing) but I can go back over that another time. In general the threatfleet concept itself is a lot less necessary since the threat-behavior overhaul a while ago. Though its behavior of hanging a few planets back and concentrating strength isn't a bad thing, at least for variety.
The current iteration of almost all the above is the result of experiments with that "The Battle Of Midnight" save, btw.
It should also have a lower commit threshold (though never lower than 1:1) for attacking if there is another attack in progress.
That's a good point. And "engaged" enemy-mobile-strength would automatically be discounted/attenuated due to the presence of a "blocking" allied strength. Other than that the fact of a separate attack doesn't really change the chance of "can the forces waiting against this planet actually win?", but the overall psychological effect (and somewhat the military one, if enough energy collectors can be killed) would probably be worthwhile taking some extra risks for a coordinated assault.
Perhaps it could key off what % of the total galaxy-wide human strength is currently "engaged" (so if a particular chunk is facing equal-or-greater allied-strength it's 100% engaged, but only 50% against something half its strength, etc).
Thoughts?