How Ladder Games are Created: Difference between revisions

From Warzone Wiki
Jump to navigation Jump to search
Grzechooo (talk | contribs)
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
This page describes how ladder games are created.  This process is the same for the [[1 v 1 Ladder]] and the [[2 v 2 Ladder]], however it differs for the [[seasonal ladder]].
This page describes how ladder games are created.  This process is the same for the [[1 v 1 Ladder]], the [[2 v 2 Ladder]], and the [[3 v 3 Ladder]], however it differs for the [[seasonal ladder]].


== Non-Seasonal Ladders ==
== Non-Seasonal Ladders ==
Line 8: Line 8:


# The algorithm starts by taking a list of all players who are participating in the ladder in order of their rating. It enumerates through them starting with the highest rated player and moving downwards.  
# The algorithm starts by taking a list of all players who are participating in the ladder in order of their rating. It enumerates through them starting with the highest rated player and moving downwards.  
# For each player, WarLight constructs a list of potential opponents. We start by populating the list with everyone within 30% of you on the ladder or 10 players/teams on either side. For example, if the ladder has 100 players in it, we would look at the 30 players with better ratings than you and the 30 players with worse ratings than you (the game creation algorithm only sorts by rating - it ignores rank).  
# For each player, Warzone constructs a list of potential opponents. We start by populating the list with everyone within 30% of you on the ladder or 10 players/teams on either side. For example, if the ladder has 100 players in it, we would look at the 30 players with better ratings than you and the 30 players with worse ratings than you (the game creation algorithm only sorts by rating - it ignores rank).  
# Then, we count how many times you've played each remaining opponent, and take the median of this data set. We eliminate any opponents that we've played more than this median, since the ladder wants to simultaneously try and pair you with unplayed (or fewer played) opponents as much as possible, without getting too restrictive and stagnating your new games if you're waiting on some slow players.  
# Then, we count how many times you've played each remaining opponent, and take the median of this data set. We eliminate any opponents that we've played more than this median, since the ladder wants to simultaneously try and pair you with unplayed (or fewer played) opponents as much as possible, without getting too restrictive and stagnating your new games if you're waiting on some slow players.  
# Next, we eliminate any opponents that are already in their maximum number of games, based on how many games they specified they wanted to play in when they joined the ladder.  
# Next, we eliminate any opponents that are already in their maximum number of games, based on how many games they specified they wanted to play in when they joined the ladder.  
Line 15: Line 15:
== Seasonal Ladders ==
== Seasonal Ladders ==


Seasonal ladders check for creating new games once per day, until 13 days before the season ends at which point no new games will be created.
Seasonal ladders check for creating new games once per day, until 11 days before the season ends at which point no new games will be created.


This check usually happens just after midnight in the GMT timezone.  When it occurs, WarLight follows the following process to determine how games are created:
This check usually happens just after midnight in the GMT timezone.  When it occurs, Warzone follows the following process to determine how games are created:


# Determine how many games each player should have at this point.  This is calculated by taking the number of days we are into the season, dividing by 4, then adding 4.  This matches the goal of having 4 games at the start, and one more game every 4 days after that.
# Determine how many games each player should have at this point.  This is calculated by taking the number of days we are into the season, dividing by 3, then adding 4.  This matches the goal of having 4 games at the start, and one more game every 3 days after that.
# Each player that doesn't have enough games gets a new game.  Their opponent is determined randomly from opponents that they have not played.  WarLight will try to pick an opponent who has few games (and therefore needs more), but if none are available it will still create a game, putting that player above the normal limit.   
# Each player that doesn't have enough games gets a new game.  Their opponent is determined randomly from opponents that they have not played.  Warzone will try to pick an opponent who has few games (and therefore needs more), but if none are available it will still create a game, putting that player above the normal limit.   


== See also ==
== See also ==

Latest revision as of 02:33, 14 May 2023

This page describes how ladder games are created. This process is the same for the 1 v 1 Ladder, the 2 v 2 Ladder, and the 3 v 3 Ladder, however it differs for the seasonal ladder.

Non-Seasonal Ladders

Every time the ladder updates, it checks for new games to create. The ladder tries to match you against players near your rating, while also preventing you from facing the same people over and over.

The rest of this section describes the how the game-creation algorithm works for the nerds out there that want to follow along.

  1. The algorithm starts by taking a list of all players who are participating in the ladder in order of their rating. It enumerates through them starting with the highest rated player and moving downwards.
  2. For each player, Warzone constructs a list of potential opponents. We start by populating the list with everyone within 30% of you on the ladder or 10 players/teams on either side. For example, if the ladder has 100 players in it, we would look at the 30 players with better ratings than you and the 30 players with worse ratings than you (the game creation algorithm only sorts by rating - it ignores rank).
  3. Then, we count how many times you've played each remaining opponent, and take the median of this data set. We eliminate any opponents that we've played more than this median, since the ladder wants to simultaneously try and pair you with unplayed (or fewer played) opponents as much as possible, without getting too restrictive and stagnating your new games if you're waiting on some slow players.
  4. Next, we eliminate any opponents that are already in their maximum number of games, based on how many games they specified they wanted to play in when they joined the ladder.
  5. Next, we eliminate any opponents that you've played with in your last 3 games in order of creation, and also eliminate any opponents that were in your last finished game for this ladder, and also eliminate any opponents we're currently playing with in this ladder. From this trimmed down list, we pick the highest rated player who meets this same criteria to you and create a game between you and them.

Seasonal Ladders

Seasonal ladders check for creating new games once per day, until 11 days before the season ends at which point no new games will be created.

This check usually happens just after midnight in the GMT timezone. When it occurs, Warzone follows the following process to determine how games are created:

  1. Determine how many games each player should have at this point. This is calculated by taking the number of days we are into the season, dividing by 3, then adding 4. This matches the goal of having 4 games at the start, and one more game every 3 days after that.
  2. Each player that doesn't have enough games gets a new game. Their opponent is determined randomly from opponents that they have not played. Warzone will try to pick an opponent who has few games (and therefore needs more), but if none are available it will still create a game, putting that player above the normal limit.

See also