The new ladder website - current state

its not easy being bestest
Last edited by janimauk on May 20, 2014, 12:44:46 PM
"
Still trying to understand your formula


Here what you want.
Simple Primitive crap++ pseudocode(there is no code bb tag X(

"
#define Arraysize(X) (sizeof(X) / sizeof(X[0]))

typedef struct Racepointstruct_t
{
unsigned long Experiencelow;
unsigned long Experiencehigh;
unsinged long points;
} Racepointstruct;


Racepointstruct Result[] = {
{ 0, 200, 1 }
{ 200, 500, 2 }
{ 500, 1000, 3 }
{ 1000, 2000, 4 }
{ 2000, 5000, 5 }


};

extern int score;

score = 0;

for(int j=0; j<Arraysize(Result); j++)
{
if(Result[j].Experiencelow <= Raceexp && Result[j].Experiencehigh > RaceExp)
score= score + Result[j].points; // My version Result[j].points/(Total - Rip)

}


In my example I would get the total amount of participations and rips and already use a structs for every participant.
Of course vectors look nicer but but c# and c++ types aren't corressponding in most cases such as c# string corressponding to wchar_t* and it's easier to understand.

You aren't using a formula you are using an if-wall.

Adjust the structure and use this.

Racepointstruct Result[] = {
{ 1, 1000}
{ 2, 500}
{ 3, 300}
{ 10, 100}
{ 15, 50}
{ 20, 25}


};

for(int j=0; j<Arraysize(Result); j++)

if(ex_position <= Result[j].Rank)
{
int RankOffset = (Result[j].Rank - ex_position) == 0 ? 0 : ex_position;
return Result[j].Points - RankOffset ;
}
else return 1;


This way you can just edit the structure.

If you want to include the best results you have to sort all raceresults first and check how close the result is to the top result.
So results will something like this:

1 first in class record and 1 race played : 1000/1 = 1000
1 first in class record and 5 races played : 1000/5 = 200
1 first in class record, 5 races played, died in 3 races : 1000/(5-3) = 500
2 first in class records, 20 races played : (1000+1000)/20 = 100
2 first in class records, 20 races played, 18 races died : (1000+1000)/(20-18) = 1000
1 first in class record, 1 race played and 1 race died : 1000/(1-1) = RIP

This brings another question: should I look at char's alive status? If someone's char is dead at rank < 4 its ok I guess, but if someone is lower than rank 3?
alt art shop view-thread/1195695
t.me/jstqw for contact
Last edited by jstq on May 20, 2014, 3:17:07 PM
"
jstq wrote:
So results will something like this:

1 first in class record and 1 race played : 1000/1 = 1000
1 first in class record and 5 races played : 1000/5 = 200
1 first in class record, 5 races played, died in 3 races : 1000/(5-3) = 500
2 first in class records, 20 races played : (1000+1000)/20 = 100
2 first in class records, 20 races played, 18 races died : (1000+1000)/(20-18) = 1000
1 first in class record, 1 race played and 1 race died : 1000/(1-1) = RIP



Just a word of advice, it is almost entirely meaningless to take into account the amount of races played or number of deaths given that any single run is an isolated event and the "level of RNG" can range from anywhere between really good to really bad.

But even taking your formula it seems pretty unreasonable to me to have "death" be equal to "non-participation". What would be the point in that?
#1 Victim of Murphy's Law.
Last edited by SlixSC on May 20, 2014, 3:35:46 PM
That's Hilbert's formula Kappa
alt art shop view-thread/1195695
t.me/jstqw for contact
"
jstq wrote:
That's Hilbert's formula Kappa


Doesn't matter. What I'm saying is the only way to rank signature races in a meaningful way is how they are currently ranked on this website(best runs), because.. again... every run is an isolated event, average results in that context are absolutely meaningless.

Hilbert just managed to take the idea of ranking signature runs not purely by top results to an even more unhealthy (in an intellectual sense) extreme.
#1 Victim of Murphy's Law.
Yeah that total minus deaths thing is very strange, I'm definitely not doing that.
Added party ladder for all seasons, starting to work on profiles and early php+mysql transition.
alt art shop view-thread/1195695
t.me/jstqw for contact

if(bRips && TotalRaces == Rips)
return 0;

:p

Yeah the formula would work like that.

In the next step it would check second ranks and add to the score.

There is a median somewhere that's where the racers collect their points.

But the question is to which magnitude effectivity vs participation should get.

1000 to 1 in Top 20 is quiet large and I think the largest differences in Race Sport is Nascar not sure how much the winner gets 100 I believe.

A closer point range means participation influence kicks in.
A large point scale creates huge gaps so somebody will never be able to catch up somebody with 5 wins on 5 participations has 5k Points somebody having 5 wins on 20 races has got 250 points and the next win will add 15,7 points.


Instead using ranks the total experience is a better indicator because it's not tied to scores.
You will just calulate an average experience gained with and without rips on my example.





"
Hilbert wrote:
1000 to 1 in Top 20 is quiet large
This was made intentionally to make 1st in class record really mean something.
"
Hilbert wrote:
A large point scale creates huge gaps so somebody will never be able to catch up somebody with 5 wins on 5 participation has 5k Points
That's the whole point. Any one have chance to be in top-50 in regular ladder, its pretty easy to be in top-20 either. Regular ladder means nothing.
"
Hilbert wrote:
Instead using ranks the total experience is a better indicator because it's not tied to scores.
You will just calulate an average experience gained with and without rips on my example.
I tried that already, this system will reflect only participation. However, I'll try to add something that will do this thing for results that is very close to record.
alt art shop view-thread/1195695
t.me/jstqw for contact
Last edited by jstq on May 20, 2014, 5:15:17 PM
"
Hilbert wrote:

if(bRips && TotalRaces == Rips)
return 0;

:p

Yeah the formula would work like that.

In the next step it would check second ranks and add to the score.

There is a median somewhere that's where the racers collect their points.

But the question is to which magnitude effectivity vs participation should get.

1000 to 1 in Top 20 is quiet large and I think the largest differences in Race Sport is Nascar not sure how much the winner gets 100 I believe.

A closer point range means participation influence kicks in.
A large point scale creates huge gaps so somebody will never be able to catch up somebody with 5 wins on 5 participations has 5k Points somebody having 5 wins on 20 races has got 250 points and the next win will add 15,7 points.


Instead using ranks the total experience is a better indicator because it's not tied to scores.
You will just calulate an average experience gained with and without rips on my example.



Even though I disagree with the idea of a signature ladder in the first place, you cannot possibly think that a player dying should be equal to the player not participating.

Because then in order for players to not drop in ranking they would be better off commiting suicide on a bad run than to actually finish the run and subsequently lower their average.

That would just be silly.

edit:

Really simple example of what I mean

2 first in class records, 20 races played, 17 races died : (1000+1000)/(20-17) = 666.66
2 first in class records, 20 races played, 18 races died : (1000+1000)/(20-18) = 1000

So on your Hilbert-ladder the player commiting suicide in their "none-record run" would end up with a higher rating than the player actually finishing their "none-record run".

That's just silly, I don't know what else to say.

#1 Victim of Murphy's Law.
Last edited by SlixSC on May 20, 2014, 5:26:59 PM

Report Forum Post

Report Account:

Report Type

Additional Info