View Single Post
Old 10-27-10, 04:17 PM   #927
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

Quote:
Originally Posted by Josef von Posorschitz View Post
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

Last edited by TheDarkWraith; 10-27-10 at 04:41 PM.
TheDarkWraith is offline   Reply With Quote