Quote:
Originally Posted by Josef von Posorschitz
That sounds interesting  !
|
I've taken the idea above to a (possible) whole new level

I'm coding it now and if it works it will be a quantum leap for IRAI
I'm coding in watch rotations and fatigue for the ship AI.
Here's the idea:
A watch rotation shift will be defined in \data\Scripts\AI\init.aix that lets you define the ship's watch rotation (in minutes). At some random time between 0.25 and 0.75 of that defined watch rotation fatigue will set in. Fatigue will reduce each AI sensor's sensor effectiveness some random amount. i.e.:
ShipWatchRotation = 4; # in hours
ShipFatigueMin = 0.25; # min time of ShipWatchRotation when fatigue starts
ShipFatigueMax = 0.75; # max time of ShipWatchRotation when fatigue starts
ShipFatigueSensorReductionMin = 0.0; # min sensor reduction amount for fatigue
ShipFatigueSensorReductionMax = 0.1; # max sensor reduction amount for fatigue
the formula for calculating when fatigue sets in is:
fatiguetime = ShipWatchRotation * Random(ShipFatigueMin, ShipFatigueMax)
the formula for calculating fatigue sensor reduction is:
(sensor base value * sensor difficulty level) - Random(ShipFatigueSensorReductionMin, ShipFatigueSensorReductionMax)
then the next 'watch rotation' starts at:
ShipWatchRotation - fatiguetime
If this works (cross your fingers!) then this will add a whole new dynamic to the ship AI.
The thing to realize is EACH ship will act differently as they each get a copy of this file in game