Matchmaking fix (alpha 7.8)

pier4r
Skynet
Skynet
Posts: 3390

Matchmaking fix (alpha 7.8)

Post#1 » 21 Jan 2017, 13:28

As written by many in different post on the forum (in this case a poll function, viewtopic.php?f=2&t=271&hilit=poll , would help to query many more players instead of a minority) I think that the new matchmaking, that GFX hopefully will publish in a post in the Update section, is a bit too broad.

Suggested changes:
- since (a) the score based on the elo formula is pretty good in giving an idea of the strength of a player, and so stronger players that can absorb harder challenges quickly rise as proven by thousands of matches and hundreds of comments; (b) as checked here viewtopic.php?f=5&t=9&start=20#p736 (and subsequent posts) and here viewtopic.php?f=22&t=126#p1253 having matches with difference of 400+ points is pointless for the person with higher score in terms of expected reward; I suggest the following version of the matchmaking reusing the post of alpha 5.3.1 (not knowing the actual matchmaking version).

  • get the 100 "oldest" (ordered by creation time) available matches.
  • filter matches with opponents that were played against in the last 5 minutes (1)
  • filter matches with opponents within 400 points of difference.
  • get the best from these matches using these comparison rules:
    • match with an opponent in the closest league (compared to player's league) is the best (2)
    • match with an opponent with the closest level (compared to player's level) is the best
    • in case of equality: match with an opponent using a different IP is the best
    • in case of equality: match with an opponent never met or met the furthest from now is the best (using a 5 minutes tolerance)
    • in case of equality: match with an opponent with the closest ELO score (compared to player's ELO score) is the best (using a 10 points tolerance)
    • in case of equality: match with a creation time the furthest from now is the best
  • If no match was found, create a new one using the existing rules (random map, random left/right team).

(1) Won't be so possible to feed an account with another, especially in very active leagues. So let's diminish the waiting time but let's not put it to zero. At the end 5 minutes means max 12 matches in an hour.

(2) note that there is no limit of cross league selection.

I know that GFX wanted to do an heuristic for matchmaking, but the elo (with the tweaks already used by GFX, kfactor, having points, etc.) is already a great heuristic per se tested over and over. The most to do is to fix a range of maximum elo difference and that's it.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

pier4r
Skynet
Skynet
Posts: 3390

Re: Matchmaking fix (alpha 7.8)

Post#2 » 21 Jan 2017, 13:36

Added selecting opponents with closest level.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

Scull
Script
Script
Posts: 10

Re: Matchmaking fix (alpha 7.8)

Post#3 » 21 Jan 2017, 16:51

+1
I was upset when this update took away my bottags and teamtags but I thought oh well I will just lvl up and get them back .LOL little did I know this update also broke matchmaking now nearly every fight I'm fighting a player that's is 400 league points ahead of me and are quite obviously have a higher xp and are using teamtags .This is making it very hard to lvl up when most fights I ccan not possibly win because the opponent has teamtags and a sniper.
Last edited by Scull on 23 Jan 2017, 11:06, edited 1 time in total.

pier4r
Skynet
Skynet
Posts: 3390

Re: Matchmaking fix (alpha 7.8)

Post#4 » 21 Jan 2017, 22:40

Another example (some are collected in another thread) for limiting matches within a certain score:

Botique (1231 0) VS Pier4r Nvidia k1 (1923 0) on Set your priorities

Nicolas Usson (1176 0) VS Pier4r Nvidia k1 (1943 0) on Barred Spiral (community)
767 points of difference :(
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

ai drone
Script
Script
Posts: 35

Re: Matchmaking fix (alpha 7.8)

Post#5 » 21 Jan 2017, 22:58

It might be tough coming up against the higher scores, but analysing can help learn more, example, match id 201470 I managed to defeat Null pointer on Mind Game field. The only real issue I would have is coming up against sniper without having sniper to practice with. GFX commented that he would add all bots to the test arena to allow practice against/with. Once that happens maybe won't get demoted back a league as quick since might be able to come up with defense or attack strategy to help neutralize that particular bot class.

pier4r
Skynet
Skynet
Posts: 3390

Re: Matchmaking fix (alpha 7.8)

Post#6 » 21 Jan 2017, 23:04

Yes but you may win one match out of ten and moreover there are replays for such learning (although not "devastating").

Another point is the amount of points that one risk for the reward. What is the sense to play against someone that gives you at most 0 points (and even 1 or 2 are a little)? Sure for training is great, but ranked games are ranked because there is point exchange. Risking a lot of points for little reward is frustrating for the lower player (that often loses) and for the higher player (that even if gets a win, has no fun).
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

pier4r
Skynet
Skynet
Posts: 3390

Re: Matchmaking fix (alpha 7.8)

Post#7 » 21 Jan 2017, 23:06

Here

ai drone (1194 +25) VS NullPointer (1876 -25) on Mind Game (community)

Nullpointer lost 25 points. You know what could have won if he had won? 0, at most 1. I'm not saying that this is not good for learning, I'm saying that it defeats a bit the ranked matches. One wants challenges, not, as in 80% of the cases, easy predictions.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

sethcohn
Automaton
Automaton
Posts: 122

Re: Matchmaking fix (alpha 7.8)

Post#8 » 22 Jan 2017, 00:57

Another option (and I agree with the above proposal) is to make the higher rank player handicapped in some way... no bots but attackers, for example.

The tagging and other locked code is actually an issue here, I think, since higher ranked players likely can use not only better bots but also code the lower ranked player cannot.

pier4r
Skynet
Skynet
Posts: 3390

Re: Matchmaking fix (alpha 7.8)

Post#9 » 22 Jan 2017, 13:02

Another thing that I realized is that while I see several players of my score playing, often I end up matched with players of 1200 or less just because their match is waiting. I would really like to wait 2 minutes more and then being matched with an equal score guy.

Edit: I know also why it happens. The lower score players are more and release more games so if I do not absorb all their games I will likely never match those that do not release challenges. So I have to play all the challenges in the queue and then release mine to have higher chances to find opponents of similar score. Another point for the score limit between matchups.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

Shmalzbrot
Script
Script
Posts: 13

Re: Matchmaking fix (alpha 7.8)

Post#10 » 22 Jan 2017, 22:00

I agree that reducing matches with very high elo differences is desirable.
However, I think they should not be completely forbidden. Also, right now there are simply not enough players to guarantee good matchmaking - especially in the 1800 elo range you are talking about. :-p
I also think there is probably a simpler way to achieve what you want (e.g. dividing master league into multiple leagues and tweaking the matchmaking numbers a bit).

Maybe playing with handicap (e.g. reducing starting shield strength or HP for the high elo player) could work too - of course the potential elo gain/loss would need to be adjusted accordingly.

And to add a very different view to the discussion: an occasional match now and then with high elo difference is absolutely fine - after all, excellent AIs should not only win vs same-strength AIs, but somewhat consistently vs weaker AIs.

pier4r
Skynet
Skynet
Posts: 3390

Re: Matchmaking fix (alpha 7.8)

Post#11 » 22 Jan 2017, 23:16

Well then one can make a timer. Wait 5 minutes for delta within 400 points. After than expand to 500. After 5 minutes more expand to 600 and so on. So to get a 600+ elo difference the heavy guys should be quite inactive. I'm quite sure mostly will be taken within 5 minutes.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

pier4r
Skynet
Skynet
Posts: 3390

Re: Matchmaking fix (alpha 7.8)

Post#12 » 23 Jan 2017, 15:23

I run an analysis over the db dump considering all the matches since 2016.12.09 (alpha 5.3.1) where at least one player was over 1200 score points (so a bit of experience was involved).

This is the result. once again the data shows that the higher the score difference, the less unexpected the result and in my opinion for a couple of outliers it makes little sense to have such matches.

Games with a score difference of over 400 are not bringing any significant change.

Code: Select all

score difference:25
total games considered by the score difference: 2069
wins by higher score:1018
draws:149
losses by the higher score:902

score difference:50
total games considered by the score difference: 1848
wins by higher score:936
draws:159
losses by the higher score:753

score difference:75
total games considered by the score difference: 1648
wins by higher score:932
draws:87
losses by the higher score:629

score difference:100
total games considered by the score difference: 1450
wins by higher score:866
draws:105
losses by the higher score:479

score difference:125
total games considered by the score difference: 1263
wins by higher score:787
draws:81
losses by the higher score:395

score difference:150
total games considered by the score difference: 1103
wins by higher score:771
draws:69
losses by the higher score:263

score difference:175
total games considered by the score difference: 952
wins by higher score:672
draws:52
losses by the higher score:228

score difference:200
total games considered by the score difference: 918
wins by higher score:682
draws:54
losses by the higher score:182

score difference:225
total games considered by the score difference: 805
wins by higher score:581
draws:41
losses by the higher score:183

score difference:250
total games considered by the score difference: 710
wins by higher score:559
draws:29
losses by the higher score:122

score difference:275
total games considered by the score difference: 655
wins by higher score:505
draws:27
losses by the higher score:123

score difference:300
total games considered by the score difference: 604
wins by higher score:489
draws:30
losses by the higher score:85

score difference:325
total games considered by the score difference: 506
wins by higher score:421
draws:20
losses by the higher score:65

score difference:350
total games considered by the score difference: 457
wins by higher score:393
draws:15
losses by the higher score:49

score difference:375
total games considered by the score difference: 386
wins by higher score:339
draws:13
losses by the higher score:34

score difference:400
total games considered by the score difference: 304
wins by higher score:270
draws:6
losses by the higher score:28

score difference:425
total games considered by the score difference: 245
wins by higher score:229
draws:1
losses by the higher score:15

score difference:450
total games considered by the score difference: 196
wins by higher score:183
draws:5
losses by the higher score:8

score difference:475
total games considered by the score difference: 160
wins by higher score:144
draws:4
losses by the higher score:12

score difference:500
total games considered by the score difference: 161
wins by higher score:150
draws:1
losses by the higher score:10

score difference:525
total games considered by the score difference: 126
wins by higher score:120
draws:2
losses by the higher score:4

score difference:550
total games considered by the score difference: 97
wins by higher score:91
draws:1
losses by the higher score:5

score difference:575
total games considered by the score difference: 82
wins by higher score:76
draws:1
losses by the higher score:5

score difference:600
total games considered by the score difference: 63
wins by higher score:57
draws:1
losses by the higher score:5

score difference:625
total games considered by the score difference: 44
wins by higher score:42
draws:0
losses by the higher score:2

score difference:650
total games considered by the score difference: 37
wins by higher score:36
draws:1
losses by the higher score:0

score difference:675
total games considered by the score difference: 21
wins by higher score:21
draws:0
losses by the higher score:0

score difference:700
total games considered by the score difference: 12
wins by higher score:12
draws:0
losses by the higher score:0

score difference:725
total games considered by the score difference: 8
wins by higher score:7
draws:0
losses by the higher score:1

score difference:750
total games considered by the score difference: 4
wins by higher score:4
draws:0
losses by the higher score:0

score difference:775
total games considered by the score difference: 1
wins by higher score:1
draws:0
losses by the higher score:0

score difference:800
total games considered by the score difference: 0
wins by higher score:0
draws:0
losses by the higher score:0
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

User avatar
NullPointer
Autonomous Entity
Autonomous Entity
Posts: 539

Re: Matchmaking fix (alpha 7.8)

Post#13 » 23 Jan 2017, 16:42

It's worth mentioning that the inflation alone is not the problem. In chess, the top players are at almost 3000 ELO, but it's not a problem because everyone is playing by the same rules.

Here the inflation is happening because of unfair advantage, and it's quicker than I thought, the cross-league was enabled less than 1 week ago.

pier4r
Skynet
Skynet
Posts: 3390

Re: Matchmaking fix (alpha 7.8)

Post#14 » 24 Jan 2017, 07:57

[2017-01-24 07:45:50] Replay ID
212190
Pier4r Nvidia k1 (1928 +13) VS TcT (1930 -13) on Barred Spiral (community)
[2017-01-24 07:45:29] Replay ID
212222
Dirk (1674 -5) VS Pier4r Nvidia k1 (1923 +5) on Circle of Death
[2017-01-24 07:44:56] Replay ID
212201
Mcompany (1702 +20) VS Pier4r Nvidia k1 (1943 -20) on Circle of Death
[2017-01-24 07:41:37] Replay ID
212218
Arcueid_ (1414 -5) VS Dirk (1660 +5) on Kingmaker (community)
[2017-01-24 07:34:27] Replay ID
212186
TcT (1928 +14) VS Pier4r Nvidia k1 (1957 -14) on Split team
[2017-01-24 07:29:49] Replay ID
212200
Dirk (1660 +14) VS Mcompany (1702 -14) on Barred Spiral (community)
[2017-01-24 07:27:40] Replay ID
212185
Dirk (1639 +21) VS TcT (1928 -21) on Kingmaker (community)
[2017-01-24 07:26:03] Replay ID
212196
ConsciouS-0/\/E (1491 -8) VS Dirk (1631 +8) on Circle of Death
[2017-01-24 07:24:45] Replay ID
212199
Dirk (1615 +16) VS Mcompany (1702 -16) on Meeting point
[2017-01-24 07:22:21] Replay ID
212187
ConsciouS-0/\/E (1497 -6) VS Mcompany (1696 +6) on Barred Spiral (community)
[2017-01-24 07:21:37] Replay ID
212184
Mcompany (1676 +20) VS TcT (1928 -20) on Split team
[2017-01-24 07:19:41] Replay ID
212179
ConsciouS-0/\/E (1499 -2) VS TcT (1928 +2) on Barred Spiral (community)
[2017-01-24 07:17:07] Replay ID
212140
ConsciouS-0/\/E (1481 +18) VS Dirk (1638 -18) on Barred Spiral (community)
[2017-01-24 07:15:39] Replay ID
212137
Dirk (1638 -4) VS TcT (1924 +4) on The seven wonders
[2017-01-24 07:05:59] Replay ID
212134
titus (1528 -9) VS Dirk (1638 +9) on Set your priorities
[2017-01-24 07:03:34] Replay ID
212127
ConsciouS-0/\/E (1460 +19) VS Dirk (1647 -19) on The seven wonders
[2017-01-24 07:03:10] Replay ID
212123
ConsciouS-0/\/E (1460 -10) VS titus (1518 +10) on Kingmaker (community)
[2017-01-24 07:00:45] Replay ID
212132
titus (1527 -9) VS Dirk (1638 +9) on Kingmaker (community)
[2017-01-24 06:59:14] Replay ID
212122
seok (1457 -12) VS ConsciouS-0/\/E (1460 +12) on Mind Game (community)
[2017-01-24 06:57:30] Replay ID
212120
Dirk (1623 +15) VS Hectorreto (1689 -15) on Meeting point
[2017-01-24 06:57:27] Replay ID
212106
seok (1462 -5) VS Mcompany (1682 +5) on The seven wonders
[2017-01-24 06:56:21] Replay ID
212119
Hectorreto (1689 -6) VS NullPointer (1882 +6) on The seven



This above is a nice matchmaking. Now keeping high scores will be real hard.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

pier4r
Skynet
Skynet
Posts: 3390

Re: Matchmaking fix (alpha 7.8)

Post#15 » 24 Jan 2017, 11:32

I'm quite positive that with the current matchmaking change, that I hope will be described, keeping scores over 1800 will be be an hard task (aka - one has to dedicate a lot of time to the game).

But I will try to give away my points not so easily.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

User avatar
GFX47
Dev
Dev
Posts: 2914

Re: Matchmaking fix (alpha 7.8)

Post#16 » 24 Jan 2017, 22:44

I added this rule: if your opponent is in a different league, the max league score delta is 200 points.
Sorry if I didn't write the matchmaking manual yet (and didn't catch up with more than 50 threads :[), I'm very busy with administrative tasks and preparation for February events (Indie Prize, Google Play Indie Games Contest and Game Developers Conference).

User avatar
GFX47
Dev
Dev
Posts: 2914

Re: Matchmaking fix (alpha 7.8)

Post#17 » 24 Jan 2017, 22:49

Next I'll activate the "grand master" league (promo at 1400 from master) but first I want to see the effect of this new rule.

pier4r
Skynet
Skynet
Posts: 3390

Re: Matchmaking fix (alpha 7.8)

Post#18 » 24 Jan 2017, 23:14

GFX47 wrote:I added this rule: if your opponent is in a different league, the max league score delta is 200 points.
Sorry if I didn't write the matchmaking manual yet (and didn't catch up with more than 50 threads :[), I'm very busy with administrative tasks and preparation for February events (Indie Prize, Google Play Indie Games Contest and Game Developers Conference).

Gladiabots is just getting the recognition that it deserves. Take it easy (but I expect it for March!) or just past here the code snippet of the matchmaking part (should not be anything "super secret' I believe) that we translate it for everyone.

Anyway nice touch about the score delta between leagues, I super agree and, given the activity of people 1400+, i won't create a new league yet.

Therefore my request in the first post could be considered satisfied.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

Return to “Feature Requests”

Who is online

Users browsing this forum: No registered users and 2 guests