Difference between revisions of "Matchmaking rules"
From Gladiabots Wiki
(→Ranked) |
|||
Line 9: | Line 9: | ||
#* 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: | ||
+ | #* Map is in the eligible map pool | ||
#* 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> | ||
#* If opponent's league is different than yours: {{#tip-text: league score delta | League score difference between the you and your opponent: <code>abs(your league score - opponents league score)</code>}} has to be lower than 100 points | #* If opponent's league is different than yours: {{#tip-text: league score delta | League score difference between the you and your opponent: <code>abs(your league score - opponents league score)</code>}} has to be lower than 100 points |
Revision as of 09:34, 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:
- Map is in the eligible map pool
- 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
- 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: