Difference between revisions of "Matchmaking rules"
From Gladiabots Wiki
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: | ||
− | # | + | # Determine the eligible map pool: |
− | # | + | #* Take the {{#tip-text: player's league | The different ranked leagues use their own maps pools.}} [[Maps|map pool]] |
− | # | + | #* Compute <code>X</code> as the {{#tip-text: half | rounded down to the nearest integer}} of the map pool size |
− | # | + | #* Get the <code>X</code> last played maps |
− | # | + | #* 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 | + | # 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 | + | #*# 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: | ||
− | # | + | # Determine the eligible map pool: |
− | # | + | #* Take the {{#tip-text: unranked | Unranked uses its own map pool.}} [[Maps|map pool]] |
− | # | + | #* Compute <code>X</code> as the {{#tip-text: half | rounded down to the nearest integer}} of the map pool size |
− | # | + | #* Get the <code>X</code> last played maps |
− | # | + | #* 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 | + | # 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 | + | #*# 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:
- 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
- Get the 100 oldest available ranked matches matching these conditions:
- Opponent's league has to be between
your league - 1
andyour league + 1
- If opponent's league is different than yours: league score delta has to be lower than 100 points
- Opponent's league has to be between
- Remove matches matching these conditions:
- Opponent has already been played in the last 5 minutes
- At this point, there are 2 possible cases:
- There are some matches remaining:
- Sort the remaining matches using these comparison rules:
- Opponent with the closest league first
- In case of equality: opponent using a different IP first
- In case of equality: opponent never met or met the furthest in the past first (considered equal under a 10 minutes delta)
- In case of equality: opponent with the closest league score first (considered equal under a 10 points delta)
- In case of equality: oldest match first
- Take the first match of the sorted list and join it
- Sort the remaining matches using these comparison rules:
- There's no match remaining:
- Pick a random map from the eligible map pool
- Pick a random left/right side
- Create a new match using these parameters
- There are some matches remaining:
Unranked
The matchmaking system for unranked games in career works like this:
- 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
- Get the 100 oldest available unranked matches
- Remove matches matching these conditions:
- Opponent has already been played in the last 60 seconds
- At this point, there are 2 possible cases:
- There are some matches remaining:
- Sort the remaining matches using these comparison rules:
- Opponent with the closest XP level first
- In case of equality: opponent using a different IP first
- In case of equality: opponent never met or met the furthest in the past first (considered equal under a 10 minutes delta)
- In case of equality: oldest match first
- Take the first match of the sorted list and join it
- Sort the remaining matches using these comparison rules:
- There's no match remaining:
- Pick a random map from the eligible map pool
- Pick a random left/right side
- Create a new match using these parameters
- There are some matches remaining: