[PCUG LOGO] QuakeWorld/Quake2 [AUUG LOGO]

So how are those stats calculated?


People keep on asking me how I calculate the stats in Fragstats. I have tried to replicate the statistics that were calculated by the original QuakeWorld Master Server.

Here is how the statistics are calculated by Fragstats:

Frags

Pretty easy to figure this one out. Frags is the number of frags you've scored. Each frag adds one to your score. The only exception to this is if you frag yourself, in which case you lose a frag.

Deaths

Also easy. The number of times you've been fragged. As of 1.05, this doesn't include Suicides.

Suicides

Obvious. The number of times you've fragged yourself.

Rank

This is Frags - (Deaths + Suicides).

Efficiency

OK, now the calculations are getting a little harder to figure out. The best explanation for Efficiency is to show you some code.
	/* if frags less than 0, efficiency is 0 */
	if (frags <= 0)
		efficiency = 0;

	/* if frags is greater than zero, efficiency is
		(frags * 100) / (frags + deaths) */
	efficiency = (frags * 100) / (frags + deaths);

Skill

Now this one is almost impossible to figure out without some code samples. Skill is a cumulative calculation based on the skill of the victim. It's adjusted for each frag like so:
	/* add victims skill / 200 to killers skill */
	killer->skill += (killee->skill / 200);

	/* subtract victims skill / 200 from victims skill */
	killee->skill -= (killee->skill / 200);

	/* if victims skill < 1000 set it to 1000 */
	if (killee->skill < 1000
		killee->skill = 1000;

Everyones skill starts at 1000, and cannot drop below that. If killer & victim are the same, the above calculation is not done.

You can see from this, that fragging someone with a high skill rating will increase your skill more than fragging someone with a low skill rating. You can also see that the higher your skill, the harder it is to stay there as even one frag can cost you dearly.

As far as I know, this is the same algorithm used by the original Master Server. If anyone knows otherwise, please let me know.

Alternate Skill

Your site may be using this Skill calculation instead. Like the original Skill calculation, this is a cumulative calculation based on the skill of the victim.
It's adjusted for each frag like so:
	killer->skill = killer->skill + ((killee->skill / killer->skill) * 10);
and correspondingly:
	killee->skill = killee->skill - ((killee->skill / killer->skill) * 10);
If a player kills themselves, the player gets their skill adjusted like so:
	Killer = Killer - (Killer skill / 1000)
This is a significant penalty to those who like to keep their Skill high by topping themselves when in a bad position.
Everyones skill starts at 1000, and cannot drop below that.

This Skill calculation was suggested by Roos.

Duel

Duel is measured as wins and losses against players you have met. A Win is recorded when you have more Frags against certain player than they have against you. Likewise, a Loss is recorded when you have less Frags against a certain player than they have against you.

The Duel calculation was suggested by Marco.

Back to Fragstats


Fragstats Copyright Chris Scarvell 1998. All rights reserved.
Comments? Questions? Contact the Author
Back to home