An alternative to the Fleet Commander solution is to use a system of contracts. First unit sees a target to kill, estimates the firepower necessary, and puts up a 'contract' to kill the target. Next unit checks the contracts list, and makes a bid, offering his firepower and time-to-target. Same thing with all units.
On the next pass, the first unit sorts the bidders according to ability, and selects the top guys who can make it happen. He then messages them that they have been selected for the job (making it a binding contract), and marks the contract closed.
On each pass, units check first if they are in a contract, then if the contract needs to be re-evaluated (like if a team member can't make it), and then either work on executing their contract, bidding on another contract, or making a new one.Interesting, but I'm assuming that all ships are subject to come in range of an enemy. What would be more important: fulfilling a contract, or creating a new one?
What if the issuing ship has moved in range of a distant ship, and that the ship that needs to take on that contract is at the other end of the battlefield, and needs to 'move through' a bunch of enemies to get there. Would it still fulfill its contract while briefly moving through enemies? It feels like an inefficient way to wage war?
Damage delivery includes time to target as part of the bid; for example, a given ship proposes that it can deliver 150 dps to a given target, beginning 6 seconds from now. Choosing which contract to fulfill is an optimization problem. For more details on the implementation of this method, see the book Multi-Agent Systems:A Modern Approach.
AI "Personality" would be how much risk of failure the commander is willing to gamble, when estimating firepower to destroy enemy assets. For example, AI fleet commander George might be willing to be wrong one time in five. But AI commander Ricktor insists on being wrong only one time in twenty. So Ricktor's estimate of necessary firepower to do the job is going to be much higher than George. Ricktor will frequently allocate lots of overkill, wasting some damage potential. But George will allocate lots of underkill, and fail to kill ships as quickly as possible.That sounded like a great idea, but I feel its a bit out of scope. It wouldn't 'fit' well in my game if I allowed the player to choose their AI general, and it would be even less appealing if it was automatically determined, say, based on the species they are playing, especially if it turns out that one general is simply inferior than another in some situations and the player has realized that. Great idea nonetheless, in a different implementation.
If your game doesn't use random numbers -- no ToHit or random damage range -- then yes, that's probably true. For that system it is possible to simply know a ship with 100 hp requires 100 damage applied to destroy it. Massive Assault was a strategy game like that.
But if the game involves some chance of failure to hit, or some variance in the amount of damage dealt by weapons, then estimating the firepower necessary to eliminate a target requires a decision on how "sure" you wish to be about killing a ship. It's no longer possible to simply say 100 dmg is enough to kill a 100 hp ship. Sometimes that will fail, because of the chance of missing or low damage output. It then becomes a question of how much overkill should be assigned to be "sure" of a kill. Maybe you decide to add 10% extra firepower just to be sure. And that's the "personality" aspect I was mentioning, the definition of "sure," also called confidence.