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: | ||
+ | # <code><span style="color:red">From Alpha 10</span></code> Determine the elligible map pool: | ||
+ | ## Take the player's league [[Maps|map pool]] | ||
+ | ## Compute X as the half of the map pool size (rounded down to the nearest integer) | ||
+ | ## Get the X 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 18: | 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 | + | #*# Pick a random {{#tip-text: map | The different ranked leagues use their own maps pools.}} from the elligible 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 26: | 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">From Alpha 10</span></code> Determine the elligible map pool: | ||
+ | ## Take the unranked [[Maps|map pool]] | ||
+ | ## Compute X as the half of the map pool size (rounded down to the nearest integer) | ||
+ | ## Get the X last played maps | ||
+ | ## Remove those maps from the elligible 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: | ||
Line 38: | 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 | + | #*# Pick a random {{#tip-text: map | Unranked uses its own map pool.}} from the elligible 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 21:03, 16 September 2017
Ranked
The matchmaking system for ranked games in career works like this:
-
From Alpha 10
Determine the elligible map pool:- Take the player's league map pool
- Compute X as the half of the map pool size (rounded down to the nearest integer)
- 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's 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 elligible 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:
-
From Alpha 10
Determine the elligible map pool:- Take the unranked map pool
- Compute X as the half of the map pool size (rounded down to the nearest integer)
- Get the X last played maps
- Remove those maps from the elligible 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's 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 elligible map pool
- Pick a random left/right side
- Create a new match using these parameters
- There are some matches remaining: