GS1 Glicko!

Agret hinted at posting this in the public portion of the forum.

[code]if (playerenters) {
setarray g,2;
setarray d,2;
setarray E,2;

winrating = 1500;
loserating = 1500;
windeviation = 350;
losedeviation = 350;

if (playerchats) recalc();

function output() message [#v(int(winrating))/#v(int(windeviation))] vs [#v(int(loserating))/#v(int(losedeviation))] Attempt no.#v(times);

function recalc() {
g[0] = 1 / (1+30.0057565^2(windeviation^2)/pi^2)^0.5; //Winner's
g[1] = 1 / (1+30.0057565^2(losedeviation^2)/pi^2)^0.5; //Loser's
E[0] = 1 / (1 + 10^(-g[1](winrating-loserating)/400)); //Winner's
E[1] = 1 / (1 + 10^(-g[0]
(loserating-winrating)/400)); //Loser's
d[0] = 1 / (0.0057565^2g[0]^2E[0](1-E[0])); //Winner's
d[1] = 1 / (0.0057565^2
g[1]^2E[1](1-E[1])); //Loser's

winratingfinal = winrating + (0.0057565 / ( 1 / windeviation^2 + 1/d[0])) * (g[0] * (1 - E[0]));
loseratingfinal = loserating + (0.0057565 / ( 1 / losedeviation^2 + 1/d[1])) * (g[1] * (0 - E[1]));
windeviationfinal = (1/(1/windeviation^2+1/d[0]))^.5;
losedeviationfinal = (1/(1/losedeviation^2+1/d[1]))^.5;

winrating = winratingfinal;
loserating = loseratingfinal;
windeviation = windeviationfinal;
losedeviation = losedeviationfinal;

if(windeviation <= 50) windeviation = 50;
if(losedeviation <= 50) losedeviation = 50;

winratingfinal = NULL;
loseratingfinal = NULL;
windeviationfinal = NULL;
losedeviationfinal = NULL;

GS1 Glicko!

Re: GS1 Glicko!

So rating works? I have to tell you, I never personally understood the rating system ^^''

Re: GS1 Glicko!

Stefan doesn't even know how it works…in general. Besides, Stefan stole his spar system from somewhere like he does with most other things that falls into graal.

Re: GS1 Glicko!

Heres how spar rating works. (Not currently enabled in Gservers, safely anyway.)

Just remember: Its a statistical system, not a reward system.
Just see this if you don't like to read:
First Number Higher Is Good / Last Number Lower Is Good

Default rating is 1500/350
1500 is the default (unrated) 'rating'
350 is the default (unrated) 'deviation'

Rating is the estimation of skill, Deviation is the range uncertainty of your skill level.

When you spar, your deviation will decrease and decreases the range of uncertainty. Reverse can be said for not sparring, if you do not fight for a while, your skill level cannot be accurate measured, so it will decay back to 350, slowly.

But more notable, the people cherrish the most, is the actual rating part. The rating increases as you win fights, it will increase more if your opponent is judged to be stronger (and even higher if their deviation is lower because it is more certain they are stronger). Its all relative.

Fighting someone who is 1500/50 will give you more points than someone who is 1500/350. Fighting someone who is 2000/50 will give more than 1500/50.

Losing against a stronger opponent isn't as devistating on your rating as it is to losing a weaker one. Remember, its all to try and estimate your level of skill, and if the deviation is high, then its not certain how strong you are.

Someone who is 1700/340 (1700 +/- 350) isn't neccesarily strong, they probably only won once. Someone who is 1700/100 (1700 +/- 100) can be further guaranteed the '1700' is their actual skill level.

Re: GS1 Glicko!

Awesome, Beholer. I didnt understand the spar rating before reading this. Your post does an excellent job in explaining the gyst of how it works and how to read it IMHO. ;D

Re: GS1 Glicko!

[quote=Nalin ]Give thanks to Beholder for his miserable knowledge of the inner workings of Graal.
I know too much, for some reason D:

Re: GS1 Glicko!

Beholder needs to downgrade!

Re: GS1 Glicko!

qft haha

Re: GS1 Glicko!

Least I don’t use Vista :open_mouth:

Re: GS1 Glicko!

I don’t use Vista. :stuck_out_tongue: