Page 1 of 1
Pilot rating
Posted: Wed Mar 21, 2012 2:50 am
by 102nd-YU-Mornar
Can anyone explain to me what is "the formula" for counting pilot rating in mission statistics? There are some things that I can`t understand.
Posted: Wed Mar 21, 2012 3:57 am
by IV/JG7_4Shades
Hi Mornar,
It is hard to come up with a rating that covers all aspects of pilot performance. SEOW has a default algorithm used in the Statistics engine that is quite simple and can be changed by anyone with a better algorithm.
The function is in the MP4public script
"Statistics/stats_functions.php":
Code: Select all
//Algorithm for the pilot rating.
129 function Pilot_Rating($Sorties,$AK,$SK,$IK,$KIAMIA) {
130 extract($GLOBALS);
131
132 if ($Sorties < 3) {return LL($L->screen->PilotDetails->skill0);}
133
134 //pre-Aces rating method
135 //$simpleRating = Floor((3*$AK+$SK+$IK)/$Sorties - $KIAMIA);
136
137 //Aces rating method
138 $simpleRating = Floor((3*$AK+$SK+$IK) - 8*$KIAMIA);
139 if ($Sorties < 5) {
140 $simpleRating = Min(-1,$simpleRating);
141 }
142 else if ($simpleRating < 10) {
143 $simpleRating = Max(0,$simpleRating);
144 }
145 else if ($simpleRating < 15) {
146 $simpleRating = Max(1,$simpleRating);
147 }
148
149 if ($simpleRating < 0) {
150 return LL($L->screen->PilotDetails->skill0);
151 }
152 else if ($simpleRating == 0) {
153 return LL($L->screen->PilotDetails->skill1);
154 }
155 else if ($simpleRating == 1) {
156 return LL($L->screen->PilotDetails->skill2);
157 }
158 else if ($simpleRating >= 2 && ($AK > 5 || $SK+$IK > 15)) {
159 return LL($L->screen->PilotDetails->skill3);
160 }
161 else {
162 return LL($L->screen->PilotDetails->skill2);
163 }
164 return LL($L->screen->PilotDetails->skill0);
165 }
This looks a little abstract because of all the language pack references like "LL($L->screen->PilotDetails->skill0)", but these are just for different languages, e.g. skill0 is "Rookie" in English, "Bleu" in French etc. $L points to the right language pack for the particular SEOW installation.
So, it is this function "Pilot_Rating" that determines the ratings that people see. People are free to write their own and contribute them to SEOW.
Cheers,
4S
Posted: Wed Mar 21, 2012 4:39 am
by 102nd-YU-Mornar
Thanks for quick answer, Shades.
I agree with you that it is very difficult to calculate exact pilot skill and performance.
But, I`m affraid that I still can`t understand this, cose I`m not familiar with coding and algorithms.
So, if it is not too much to ask, I would appreciate if you could show me how it works at my example, if you can spare some time for it, of course.
I believe then I could easier understand this code as well.
Cheers!
Posted: Sun Mar 25, 2012 6:26 am
by IV/JG7_4Shades
Hi Mornar,
No problems. The essential point of writing code is to reproduce a concept in automated form. For simple algorithms like this, i.e. a pilot performance rating, the hard part is to get the underlying concept right.
To qualify as a useful performance rating concept, any concept must be capable of providing a single, well-defined answer (a rating) from any possible combination of input parameters.
For each pilot in a campaign, the available parameters are those listed in the "Pilot Performance (Cumulative)" table of the Statistics pages, i.e. sorties, KIA, MIA, air kills etc etc. You can see that the current default method above only uses the following 5 parameters: sorties, air kills, surface kills, infrastructure kills, and KIA+MIA. Many other ratings algorithms are possible.
So even if you feel unable to write PHP, you are free to develop a performance rating concept and post it here. If it makes sense and gives single, well-defined ratings for any set of parameter values, then it should be able to be written quickly, by me, or Phantom or by someone else in the campaign group (we average 75 pilots per mission, so I know that there are a few guys out there who could knock up a rating function easily).
Cheers,
4S