Difference between revisions of "Matchmaking rules"

From Gladiabots Wiki
Jump to: navigation, search
Line 3: Line 3:
 
The matchmaking system for ranked games in career works like this:
 
The matchmaking system for ranked games in career works like this:
  
# <code><span style="color:red">Alpha 10 content - not yet released</span></code> Determine the elligible map pool:
+
# Determine the eligible map pool:
## Take the player's league [[Maps|map pool]]
+
#* Take the {{#tip-text: player's league | The different ranked leagues use their own maps pools.}} [[Maps|map pool]]
## Compute X as the half of the map pool size (rounded down to the nearest integer)
+
#* Compute <code>X</code> as the {{#tip-text: half | rounded down to the nearest integer}} of the map pool size
## Get the X last played maps
+
#* Get the <code>X</code> last played maps
## Remove those maps from the map pool
+
#* Remove those maps from the map pool
 
# Get the 100 {{#tip-text: oldest | The first entries when ordered by ascending creation time}} {{#tip-text: available | Not already joined by 2 players}} ranked matches matching these conditions:
 
# Get the 100 {{#tip-text: oldest | The first entries when ordered by ascending creation time}} {{#tip-text: available | Not already joined by 2 players}} ranked matches matching these conditions:
 
#* Opponent's league has to be between <code>your league - 1</code> and <code>your league + 1</code>
 
#* Opponent's league has to be between <code>your league - 1</code> and <code>your league + 1</code>
Line 13: Line 13:
 
# Remove matches matching these conditions:
 
# Remove matches matching these conditions:
 
#* Opponent has already been played in the last 5 minutes
 
#* Opponent has already been played in the last 5 minutes
# At this point, there's 2 possible cases:
+
# At this point, there are 2 possible cases:
 
#* There are some matches remaining:
 
#* There are some matches remaining:
 
#** Sort the remaining matches using these comparison rules:
 
#** Sort the remaining matches using these comparison rules:
Line 23: Line 23:
 
#** Take the first match of the sorted list and join it
 
#** Take the first match of the sorted list and join it
 
#* There's no match remaining:
 
#* There's no match remaining:
#*# Pick a random {{#tip-text: map | The different ranked leagues use their own maps pools.}} from the elligible map pool
+
#*# Pick a random map from the eligible map pool
 
#*# Pick a random left/right side
 
#*# Pick a random left/right side
 
#*# Create a new match using these parameters
 
#*# Create a new match using these parameters
Line 31: Line 31:
 
The matchmaking system for unranked games in career works like this:
 
The matchmaking system for unranked games in career works like this:
  
# <code><span style="color:red">Alpha 10 content - not yet released</span></code> Determine the elligible map pool:
+
# Determine the eligible map pool:
## Take the unranked [[Maps|map pool]]
+
#* Take the {{#tip-text: unranked | Unranked uses its own map pool.}} [[Maps|map pool]]
## Compute X as the half of the map pool size (rounded down to the nearest integer)
+
#* Compute <code>X</code> as the {{#tip-text: half | rounded down to the nearest integer}} of the map pool size
## Get the X last played maps
+
#* Get the <code>X</code> last played maps
## Remove those maps from the elligible map pool
+
#* Remove those maps from the eligible map pool
 
# Get the 100 {{#tip-text: oldest | The first entries when ordered by ascending creation time}} {{#tip-text: available | Not already joined by 2 players}} unranked matches
 
# Get the 100 {{#tip-text: oldest | The first entries when ordered by ascending creation time}} {{#tip-text: available | Not already joined by 2 players}} unranked matches
 
# Remove matches matching these conditions:
 
# Remove matches matching these conditions:
 
#* Opponent has already been played in the last 60 seconds
 
#* Opponent has already been played in the last 60 seconds
# At this point, there's 2 possible cases:
+
# At this point, there are 2 possible cases:
 
#* There are some matches remaining:
 
#* There are some matches remaining:
 
#** Sort the remaining matches using these comparison rules:
 
#** Sort the remaining matches using these comparison rules:
Line 48: Line 48:
 
#** Take the first match of the sorted list and join it
 
#** Take the first match of the sorted list and join it
 
#* There's no match remaining:
 
#* There's no match remaining:
#*# Pick a random {{#tip-text: map | Unranked uses its own map pool.}} from the elligible map pool
+
#*# Pick a random map from the eligible map pool
 
#*# Pick a random left/right side
 
#*# Pick a random left/right side
 
#*# Create a new match using these parameters
 
#*# Create a new match using these parameters

Revision as of 07:33, 17 September 2017

Ranked

The matchmaking system for ranked games in career works like this:

  1. Determine the eligible map pool:
    • Take the player's league map pool
    • Compute X as the half of the map pool size
    • Get the X last played maps
    • Remove those maps from the map pool
  2. Get the 100 oldest available ranked matches matching these conditions:
    • Opponent's league has to be between your league - 1 and your league + 1
    • If opponent's league is different than yours: league score delta has to be lower than 100 points
  3. Remove matches matching these conditions:
    • Opponent has already been played in the last 5 minutes
  4. At this point, there are 2 possible cases:
    • There are some matches remaining:
      • Sort the remaining matches using these comparison rules:
        1. Opponent with the closest league first
        2. In case of equality: opponent using a different IP first
        3. In case of equality: opponent never met or met the furthest in the past first (considered equal under a 10 minutes delta)
        4. In case of equality: opponent with the closest league score first (considered equal under a 10 points delta)
        5. In case of equality: oldest match first
      • Take the first match of the sorted list and join it
    • There's no match remaining:
      1. Pick a random map from the eligible map pool
      2. Pick a random left/right side
      3. Create a new match using these parameters

Unranked

The matchmaking system for unranked games in career works like this:

  1. Determine the eligible map pool:
    • Take the unranked map pool
    • Compute X as the half of the map pool size
    • Get the X last played maps
    • Remove those maps from the eligible map pool
  2. Get the 100 oldest available unranked matches
  3. Remove matches matching these conditions:
    • Opponent has already been played in the last 60 seconds
  4. At this point, there are 2 possible cases:
    • There are some matches remaining:
      • Sort the remaining matches using these comparison rules:
        1. Opponent with the closest XP level first
        2. In case of equality: opponent using a different IP first
        3. In case of equality: opponent never met or met the furthest in the past first (considered equal under a 10 minutes delta)
        4. In case of equality: oldest match first
      • Take the first match of the sorted list and join it
    • There's no match remaining:
      1. Pick a random map from the eligible map pool
      2. Pick a random left/right side
      3. Create a new match using these parameters