(...)
The AI being able to guess as to when a weapon was ready to fire again would be a big help
(...)
As soon as the AI detects the Heavy Weapon (either by sensors, ...)
(...)
You gave a simple solution to the problem you raised.
In SFC, for example, we can scan the enemy ships system and weapons. And we see that happening all over the star trek series.
So we could have a sensor array in our ships that gives us reports, in a time interval, about the weapon's status of the ship we are scanning at the moment.
I imagine it like having a range.
For example, at farther distances, we can get the weapon reading signals. That would give us information about the type of weapons the ship has.
At closest range, our scanners could give us aditional information, like the energy readings of the weapons. Using our ship's futuristic computer systems we could interpret that information.
That would give us room for many implementations.
In other games they actually are connecting the systems in the ships to make them more realistic (cause-effect). They are doing that at excalibur or star citizen.
So, for example, if our scanners are damaged, or our computer systems, that could give us a error margin at the readings, or if they are totally damaged they wouldn't do a thing.
SFC includes that kind of things in the mission api. Cause there they could program the AI responses based on things like their BPV and system damage reports.
And its surely a cool topic to discuss. And an endless one.
Cause, it will be the most visible aspect of the gameplay after taking a spin in space with our ship in single player.
While the timer for the weapon is greater than 0 the AI would act more aggressively trying to take advantage of the fact that the weapon is still loading. Once the timer reached, say 15, the AI would go into a defensive posture, ready to counter the Plasma Torpedo that could be launched as soon as 15 seconds. The number can be updated through Tac Intel, so if it gets close enough to tell that the Player (or other AI) isn't charging their Heavies as fast as possible, it can reset the timer accordingly. A threshold would have to be set, based on the AI's ship size (and possibly damage state), as to how much heavy incoming fire it would be willing to take. So that if someone decided that they would just be charging one Heavy, or holding a single Heavy in reserve just to keep the AI on a defensive footing, the AI could determine, that it was willing to take a single Photon, even an Overloaded Photon, to close on the player while he's reloading the other three. Or that that F-torp that's loaded and ready just isn't a big enough deterrent to keep my fully shielded cruiser from closing and hosing, but if I don't get in in the next 45 seconds, the Player will have that big nasty R-Torp ready for me...
This kind of mental exercise you did is very cool. And you could expand it to include more variables.
I also like do to it. We could ask us:
How many enemies are there on the map?
How far are they?
Where are they going?
We already scanned their systems?
How strong they are?
Are they damaged?
They have the shields up?
Weapons charging?
Are they targeting us? How many?
What it's more important in this mission? We need to destroy the player or the things that he need to protect or get?
etc...
Can we translate these last questions in a level of danger or threat?
Can we say that we are in a wining position? Or its better to run away as fast as possible?
What its the best thing to do at the moment?
How we decide it?