Jump to content
Sign in to follow this  
TKG09

DDFF Ladder Idea

Recommended Posts

TKG09    6

I want to implement a ladder system for this game. Before getting into the details of how it works, I want to discuss its benefits. The first, most obvious one, is it should provide a better way of grasping the relative strength of each player. That's true and it's good, but there's a way bigger benefit to be had.

Right now we have a problem with our events. Single day events have three separate time problems right now: they take too long to complete, they happen in times which aren't convinient for everyone, and they don't happen often enough. The first we can't do much about - it's impossible with the rules and number of players we're having that a tournament could be completed in under 4 hours. The second is impossible to solve because we have players from many different timezones. And the third cannot be solved right now because of burnout from players and because not that many people are willing for host tournament. Ladder Sessions can not have any of those 3 problems.

Note that I am not saying we should get rid of tournaments. But we can have tournaments + ladder.

So, how does this work?

Elo rating

We will use the Elo rating system in our ladder. Each player will start out with an Elo score of 2000. After each Ladder Session, it will be adjusted according to the algorithm described here:

https://en.wikipedia.org/wiki/Elo_rating_system#Mathematical_details

The K value

I'm unsure about this one. Here is my idea, which is similar to what Chess uses:

K = 40 if you have n<=5 rated games
K = 20 if your rating is R<=2400
K = 10 if your rating is R>2400

The first set of numbers should work fine since DDFF is a low variance game (not as low as chess, but still). The second set I am less sure about

Seasons

A season is a period of time through which rated games are aggregated. At the end of the season, the final ratings of the players are recorded and maybe a small prize will be given to the top placer(s). Then all the ratings will reset. However, I don't know how long each season should be. I am thinking 4 months.

Ladder Sessions

This is the key part of this idea. Ladder Sessions (LS) are events that will take a maximum of 1 hour, and that can happen very often. Their flexibility allows them to avoid the problems I mentioned with 1 day tournaments at the start of this thread. They work like this:

Once a LS session is announced, players can sign up for it. A matchmaking algorithm will match up the players in pair, and each pair will play in a Best of 1 set. This will be done 3 times, so each player will play 3 games. It's that simple. At the end, each player's ratings will be updated. If there is a small number of players, a LS can have less than 3 games.

Because it's important that you can't intentionally dodge certain players, sign ups have to be secret. As such, they will be done with confidentiality though an unbiased person (ie: someone who is not competing).

LSs can be hosted by anyone - the idea is to have many of these. Though they will all follow the same ruleset. The details of this will be posted later.

Matchmaking algorithm

I have not looked into this to great detail yet. But these are the desired properties of the algorithm:

1- It tries to match up with players of small rating gaps, moving on to players of bigger gaps depending on availability
2- It has a random element to it - otherwise you'd match up against the same person multiple times in a row. But it of course is not completely random.

Tournaments

The results of tournament games can also be added to the ladder as valid rated games. The tournament would need to have a ruleset sufficiently similar to the one being used by the LSs, and the TO and the Ladder Team would both have to agree that the tournament will be considered rated. Ratings would be updated per tournament set.

 

All this post is is brainstorming. I want to hear people's feedback on this idea. This thing won't come to be if the community isn't behind the idea.

Edited by TKG09
  • Upvote 1

Share this post


Link to post
Share on other sites
JoyRaines    8

This idea is very good, it is a way for competitive players to play even more in the game and why not attracting casual players who may want to be competitive after seeing this rank system set up in our community. In my opinion I think the purpose of this idea purely entertaining so it can just be positive.

However there's a few things that I don't understand such as the "K" factor as mentioned in Wikipedia. They simply don't explain what it is to begin with so why should you concern about this?

Share this post


Link to post
Share on other sites
Kehorie    0

I really like this idea! I myself was wondering if there was a Ladder, or Power Rankings that people use to seed tournaments. And I love the idea of there being one!

Share this post


Link to post
Share on other sites
TKG09    6
 

This idea is very good, it is a way for competitive players to play even more in the game and why not attracting casual players who may want to be competitive after seeing this rank system set up in our community. In my opinion I think the purpose of this idea purely entertaining so it can just be positive.

However there's a few things that I don't understand such as the "K" factor as mentioned in Wikipedia. They simply don't explain what it is to begin with so why should you concern about this?

​K basically is by how much points go up or down after each game. The higher the number, the more 'swingy' the ladder is, so to say. And the lower the number, the lower the impact of a single individual game.

You can use this calculator to see how your rating would change over different Ks: https://ratings.fide.com/calculator_rtd.phtml though note the FIDE algorithm is slightly different from the one I'm using.

---

The previous idea for handling multi game sets is to count a BoX as a series of X Bo1s. Unfortunately this has the problem that a BoX is, obviously, different from a series of Bo1s. This algorithm can solve this problem:

double expectedGameWins(int a, int b, int max, double p){
        if(a==max||b==max) return a;
        return p*expectedGameWins(a+1, b, max, p) + (1-p)*expectedGameWins(a, b+1, max, p);

}

Where you start with a=b=0, and max is the maximum number of game the set can have. p is the probability we expect Player A to have of winning an individual game against Player B. It is equal to the expected score Ea, which the wikipedia link talked about.

This also means that Ladder Sessions do not necessarily have to be series of Best of 1s. Though maybe it still is better that they are, so that each player can play against a variety of opponents.

Edited by TKG09

Share this post


Link to post
Share on other sites
JoyRaines    8

Ok I see. Yes, Bo1s should be prioritized if there's ever a possibility of doing Bo1s with different players as you mentioned it previously. If, however, there's not enough people to play a LS in a specific day for instance then running a Bo3 with the same player should not decrease the variety of opponents too much.

Share this post


Link to post
Share on other sites
TKG09    6

A bit more about matchmaking

Given players P1, P2, ... Pn  and their respective ratings R1, R2, ... Rn

We need to divide them into pairs.

Given pair (A, B) ---
 D = Ra - Rb -- 0<=D<=1000
 Ea = Ea(D) -- 0<=Ea<=1

 'Tilt' -- T = abs(Ea-0.5) -- 0<=T<=0.5

Partition --

Set of n/2 distinct pairs that cover all n players

avgTilt -- Averge T for all the pair in the partition. This is what we want to minimize.

 

Finding the partition with the lowest avgTilt seems very doable. But we want the algorithm to be semi random.

The way to do this would be to find the partition with the lowest avgTilt as well as a few other partitions with similar values. Then assign each a probability based on how low their value is.

That last part is the hard one, and I don't know what the best way of doing it is.

An alternate view is that if we do a single Bo3 or Bo5 instead of a series of Bo1s, we will only need to do matchmaking once per LS, and so the algorithm wouldn't need the random element. That makes things easier. But it's questionable if having a Bo3 is better than 3 Bo1s, and even if it is, maybe we would still want a semi random algorithm.

 

Share this post


Link to post
Share on other sites
Harambe    1

>>Dissidia
>>Elo

https://en.m.wikipedia.org/wiki/Elo_rating_system#Selective_pairing

This is just the tip; there's also an issue of population density and skill variance. Elo will purely be a flex stat for those that play often and won't be an accurate stat for skill level if used in this type of ladder environment.

That said; if you're planning to use the chess variant with K factor you will need to factor in low population density (K being used to help newer players rate into league with the veterans).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×

Important Information

By using this site, you agree to our Terms of Use.