View Single Post
Old 10-05-10, 01:34 PM   #12
LGN1
Ace of the Deep
 
Join Date: Mar 2006
Posts: 1,138
Downloads: 147
Uploads: 12
Default

Hi,

a while ago I made a long-term fatigue model for myself. From reading old threads (thanks to all who investigated this earlier!), experimenting,... I found out the following things:

In basic.cfg every rank has this section

[CREW_0] ;SEAMAN
MoraleMin=0.30 <--- value below which morale cannot drop (see comment below)
MoraleMax=0.60 <--- value above which morale cannot rise
MoraleStep=0.05 <--- amount by which morale is increased in the crew comp. every 10 min.
FatigueMin=0 <--- value below which fatigue cannot drop
FatigueMax=0.80 <--- value above which fatigue cannot rise
FatigueStep=0.031 <--- amount by which fatigue is reduced in the crew comp. every 10 min.
CoefMorale=0.4 <--- see formula below
CoefFatigue=0.21 <--- see formula below
QualEffect=1 <--- see formula below
Hp=10
Wounded=-0.02 <--- amount by which morale is reduced if someone is wounded in the compartment
Dead=-0.05 <--- amount by which morale is reduced if someone dies in the compartment
SunkShips=0.1 <--- amount by which morale increases if a ship is sunk
TorpedoHit=0.05 <--- broken, does nothing
Experience=0

Now the question is how do these values influence the efficiency in a compartment. The answer is (assuming all men are healthy, never tested wounded men):

Efficiency = (M*(1-c_m)+c_m)*(F*(c_f-1)+1)

M: morale of crew member
c_m: CoefMorale in basic.cfg
F: fatigue of crew member
c_f: CoefFatigue in basic.cfg

The total efficiency is the sum of all the efficiencies of the crew members in the compartment. For petty officers the efficiency is multiplied with the QualEffect factor from basic.cfg (if they have the qualification corresponding to the compartment). For officers the total efficiency in the compartment is multiplied by QualEffect. Thus, having an officer with the right qualification is most important.

Ok, now we need to know how efficiency influences the different tasks. This is where my knowledge is limited. Here is what I think. We have several tasks: Repairs, torpedo reload, steering commands, sensor work.

Repair times: Repair time is given by (this is without a repair team, i.e. only the crew in the compartment is doing the repairs. I think you need at least two men in the compartment.)

T = Tfix(depends on damage amount)*Interval3/Eff,
Tfix: hardcoded 'basic' time
Eff: efficiency in compartment (formula above)
Interval3: specified for each compartment in basic.cfg
Interval1 and Interval2 seem to have no influence


Torpedo reload time:
T = Tfix*factor
Tfix: 'basic' time in sim file
factor=1 for efficiency in compartment >= Interval3
factor=3/2 for Interval2 < efficiency in compartment < Interval3
factor=3 for Interval1 < efficiency in compartment < Interval2
infinity for efficiency in compartment < Interval1 (i.e., no reloading)

I did not notice any influence of efficiency on giving commands. I also do not know for sure how efficiency influences the sensors. It seems that the Interval values have no influence. So, I guess a continuous scale is used (as with repair times, not as in the case of torpedo reloading). Engines will not work if efficiency in compartment < Interval1. It seems the other Intervals have no influence.

Finally, basic.cfg contains the [FATIGUE_COEF] values for each compartment:

RegularFactor50=0.001 <--- amount by which fatigue is decreased when a crew member is moved into the compartment
RegularFactor51=0.001 <--- unknown. No idea.
SpecificFactor50=0.045 <--- amount by which fatigue decreases every 10 min. when the sub is surfaced
SpecificFactor51=0.045 <--- amount by which fatigue decreases every 10 min. when the sub is submerged
BadWeather5=0.02 <--- amount by which fatigue is decreased in bad weather (I'm not sure whether it's added to RegularFactor or used without it. But this can be easily checked.)

That's how I think it works. If someone has more information or thinks something is wrong I would love to know it. Especially, it would be great to know more about how sensors are influenced by the efficiency.

Cheers, LGN1

PS: One has to be careful when playing with MoraleStep. If you make it negative the morale can become negative because it is not stopped by MoraleMin. IIRC, you can also get negative fatigue if you choose some strange settings.

Last edited by LGN1; 10-06-10 at 02:56 PM. Reason: Corrected and clarified some issues
LGN1 is offline   Reply With Quote