Loading...
  OR  Zero-K Name:    Password:   

matchmaking

18 posts, 823 views
Post comment
Filter:    Player:  
sort
2 years ago
hi
dont know if is a common issue, but after the last update im always paired with player way stronger than me in the matchmaking, i know that to play with a stronger opponent teach you more, but 2 elos more is not learning, more like being steamrolled.
anyone else had the same?
+0 / -0
2 years ago
Probably due to the time you were queuing. I feel your pain, often in the evenings in the us it is very sparse. One thing to keep in mind is as you sit in the queue for longer it increases the potential for elo difference. Exiting out of the queue after a few minutes and requeuing can help minimize this.
+1 / -1


2 years ago
Yeah. Its due to a low mm population.
+0 / -0
It looks like there are currently 224 players which have played match maker recently enough to have a current rating. (I believe the time period is a month.)

More players is the best solution.
+2 / -0


2 years ago
Where is the tradeoff between an acceptable winrate and finding a game?
+0 / -0
2 years ago
@googlefrog when i find an elo higher than mine is fine,2 is already a lot.

USrankfloomby actually no, quite instant matchmaking, just few seconds
+0 / -0
2 years ago
quote:
floomby actually no, quite instant matchmaking, just few seconds


It may be that the other player was the one who was waiting for a long time.
+0 / -0


2 years ago
I really think players should be allowed to set what size ELO difference they are happy to tolerate.

Either that or have players' elo be treated as -50 x current losing streak length lower for matchmaking purposes (with opt-out available for SErankGodde :D (and others who want it)).

I would even be happy to implement one of these if I knew it would actually be approved.
+2 / -0


2 years ago
quote:
Either that or have players' elo be treated as -50 x current losing streak length lower for matchmaking purposes

Something like this exists, but it isn't opt-out. I don't know the details of the implementation. I'm not sure if it improves things as it increases the potential skill disparity between players. ITrankceccoilfolle may well have fought people who were at the bottom of a losing streak, so had their apparent elo reduced.

quote:
I really think players should be allowed to set what size ELO difference they are happy to tolerate.

I don't think they should be able to set whatever they want because:
  • The system is to complicated for me to expect people to know what particular settings mean.
  • Potential tragedies of of the commons where everyone is incentivised to set their acceptable range slightly below the average.

Some sort of toggle which lets people choose between a narrow, medium, or wide search range solves those problems and could be worth a try. GBrankdyth68 since you've stepped forward it seems useful to talk more about exactly what those controls would look like.

I still think we should talk about what the tradeoff should be, as the elo gaps directly correspond to winrates. Put simply, at what win chance is a game not worth playing?
+1 / -0
Have players opt in to 'narrow band ranked matchmaking'(a checkbox under multiplayer/matchmaking) which is tagged "This option will force the matchmaker to only match you with very similar ranked players, at the expense of making it harder to find you a game". This narrow band matchmaking will work as if you and everyone in the mm pool has spent 0 seconds in the pool, so your vs pool does not expand and you do not get droped into other players' expanded vs pools.

Say I am a player under current matchmaking. I am not in the matchmaking pool, but the matchmaker will alert me that I could match with someone right now, the top of the screen 1v1 popup. If I have enabled narrow band matchmaking, this popup will be modified under the condition that the player I would match with is outside of the 'narrow band' option, and it would display 'extended band matchaking 1v1 available.' This would come with a 'play' buttton, but would 'give' the player the information that this is an easy game/hard game, if the player understands it. If they press play, they get to play that game.

Say I am a player under narrow band matchmaking. I only get automatically put into a match if the matchmaker finds me a narrow band match. If the matchmaker finds me an extended band match(current matchmaking) I get an alert and a top screen popup 'extended band match available' with a 'play' option. I can play the extended band match, under the knowledge that I'm not getting the narrow band match that I really wanted.

Say I am @Steel_Blu, approximately 2400WHR, not queued for matchmaker. Player B, a 1900WHR who has narrow band searching enabled, is in matchmaker queue. matchmaker considers that player B has been queuing a long time, and qualifies for extended band matchmaking(regular mm) and would consider pairing me and B together for a game. I will not get a popup saying 1v1 available. Player B will not get a popup saying '1v1 extended band matchmaking available.' Player B can only extended band matchmaking with players who are actively in the 1v1 queue. This probably heavily decreases the number of games matchmaker will create for narrow band players.

Essentially, by ticking the checkbox, given player will narrow the amount of players they can receive matches with from outside the 1v1 queue, and gets some discretionary ability over what games the matchmaker sets them up with in the 1v1 queue.

TLDR:
If a player can tell the matchmaker to restrict themselfs in queue, the matchmaker should be able to provide feedback about how if they were not restricted, they would be in a game right now. As the matchmaker advertises itself to players not in queue, it cannot with confidence tell a restricted player that they would be in a game if they were not restricted.
+1 / -0


2 years ago
I think one thing that's worth emphasizing is that the huge ELO range allowances (and the large differences in how much high elo vs low elo players play/queue) means that your average person entering 1v1 is going to be repeatedly stomped and give up and go do something actually fun. I think this is the biggest solvable reason (as opposed to ones with solutions like "get a marketting budget") for the low numbers of 1v1 players.

I know I gave up on 1v1 for a while when I kept being matched against players 400+ elo above me. Recently I found @Masper though, who has helped me get back into it :)

quote:
Something like this exists, but it isn't opt-out. I don't know the details of the implementation. I'm not sure if it improves things as it increases the potential skill disparity between players. ITrankceccoilfolle may well have fought people who were at the bottom of a losing streak, so had their apparent elo reduced.

My understanding is it only applies to consecutive games in the same day.
Also, the -50 elo thing could be made to only apply to the lower ranked player. (essentially acting as a cap on the upper end of the search band)

quote:
I don't think they should be able to set whatever they want because:

The system is to complicated for me to expect people to know what particular settings mean.
Potential tragedies of of the commons where everyone is incentivised to set their acceptable range slightly below the average.

I agree with the first, I was thinking of me own usecase rather than something user-friendly... Bands makes sense there.
I don't understand how that tragedy of the commons would work.
+0 / -0
Rather than talk vaguely about huge matching bands driving players away I would like answers to specific questions. These are the questions that sit at the core of people's preferences about the MM system so I see no reason to have proxy arguments in the form of abstractions of these questions. Specific questions also lead to actual implementations. Earlier I asked "Where is the tradeoff between an acceptable winrate and finding a game?", but we can get even more specific. For example:
  • What is the highest rated player that you should be able to play on your first MM game?
  • How many opponents should be available to the #1 rated player?

My answer to the second question is probably at least everyone in the top 10, which would imply that GBrankdyth68 should currently match with SErankGodde.

I think an acceptable winrate has to be at most 25%. Note that a difference of 300 is a 15% win chance. My system thus far has been to adjust the ranges in whatever direction I hear a complaint about, because I don't think we have the data processing to notice the result of any experiment. We could set the limit at 300 (given understanding of how the code works, which is a big ask too) but I would expect it to be swamped by natural fluctuation.

With a personal high/low range toggle I would be much happier with setting a lower value, because then people could toggle it on when they say that they would prefer to get a rather unbalanced game than wait around. As it stands, if the choice is between the MM only being populated by people who are happy to play an unbalanced games sometimes and the ranges being too low for people to find a game, then I'd rather have some people playing than not. With an obvious enough toggle perhaps the former type of people could keep the MM active enough for more people to join.

There is also the idea of handicaps. Some sort of handicap that feels good to play could be automatically set on games with wide enough rating differences. This would probably have to be a toggle.

I am also very aware of the power of defaults. Anything that is behind a toggle may as well not exist for 95% of people.

quote:
My understanding is it only applies to consecutive games in the same day.
Also, the -50 elo thing could be made to only apply to the lower ranked player. (essentially acting as a cap on the upper end of the search band)

I really have no idea. CHrankAdminDeinFreund added this one day so I no longer have a full picture of how the MM system actually works.

One big roadblock is anyone having a solid idea about how the system actually works as implemented.

quote:
I don't understand how that tragedy of the commons would work.

The commons is the pool of active MM players and the tragedy comes about from people being motivated to play games that are as balanced as possible. I view the act of playing a slightly less balanced game than you would like as something that makes the MM run better for everyone. The incentives would seem to lead to people letting others play the MM-activity games. That said, I don't think the end state of the incentives is "everyone has a manually set MM band of zero", just that the bands will probably end up smaller than optimal.
+2 / -0


2 years ago
This tool gives us more data than we've had from past attempts: https://zkstats.antihype.space/#

It says so weird things though. For example, there are 40 recent games won by people at a -500 to -400 elo advantage and 320 games won by people with a 400 to 500 elo disadvantage.
+0 / -0
2 years ago
How do you get "320 games won by people with a 400 to 500 elo disadvantage"? I do not see any filter for "elo disadvantage" just for "elo advantage". I can see (from 2021-01-01) 104 won with winner having -400 to -500 elo advantage, and 782 won with winner having 400 to 500 elo advantage, which sounds fine.
+0 / -0
I was trying to check whether my assumptions about how the matchmaker works lines up with the data, and thought I found something off. I think I accidetanlly quoted the 500-600 numbers as 400-500. I will explain more thoughourly.

Since 2020-12-31 there have been:
  • 36 wins with elo advantage -604 to -504.
  • 101 wins with elo advantage -504 to -404.
  • 179 wins with elo advantage -403 to -303.
  • 387 wins with elo advantage -302 to -202.
  • 655 wins with elo advantage -202 to -101.
  • 1431 wins with elo advantage 100 to 200.
  • 1331 wins with elo advantage 200 to 300.
  • 1025 wins with elo advantage 301 to 401.
  • 741 wins with elo advantage 402 to 502.
  • 415 wins with elo advantage 502 to 602.

Comparing each band to their theoretical winrates.
Middle value Theory Band Winrate from data
-550 4.05% 400-500 8.0%
-450 6.98% 400-500 12.0%
-350 11.77% 300-400 14.9%
-250 19.17% 200-300 22.5%
-150 29.66% 100-200 31.4%

It looks like people have much higher winrates at the extremes than is predicted by the underlying equation. Maybe it is biased by special circumstances at one end of the ladder or the other.

Since 2020-12-31 there have been:
  • 30 wins with elo advantage -504 to -404 with both players at most 2300 elo.
  • 258 wins with elo advantage 402 to 502 with both players at most 2300 elo.
  • 25 wins with elo advantage -504 to -404 with both players at least 2300 elo.
  • 182 wins with elo advantage 402 to 502 with both players at least 2300 elo.

So the top end of the ladder has a 12.1% win chance at 400-500 elo difference and the bottom end has a 10.4% win chance. Both are higher than 6.98% and higher than the theoretical value at a difference of 400 (9.09%) so I think something is off. This at least needs to be taken into account when designing ranges based on minimum acceptable winrate.
+2 / -0


2 years ago
As far as I can tell here are how the current bands are calculated, from the point of view of a single player.
Let MmStartingWidth = 100
Let MmWidthGrowth = 400
Let MmWidthGrowthTime = 180
Let MmEloBonusMultiplier = 0.9
Let EloCutOffExponent = 0.97
Let timeSpentWaiting = time in seconds in the queue.

Let RawMmElo = ?? -- Probably real elo.
Let EffectiveMmElo = ?? -- Probably to do with elo malus for being new or inactive.
Let recentWinChance = ?? -- Probably between 0 and 1 and based on recent games.

Let BonusElo = Max(-300, Min(300, -174 * Ln((1 / recentWinChance) - 1)))
Let WaitRatio = Min(1, timeSpentWaiting / MmWidthGrowthTime)
Let EloWidth = MmStartingWidth + WaitRatio * MmWidthGrowth

The first line here is responsible for the win/loss streak adjustment. I did not search out exactly what recentWinChance is doing, but the name suggests something that is probably often between 0.2 and 0.8, and that it doesn't directly care about the outcome of recent games.
Let MinConsideredElo = EffectiveMmElo + BonusElo
Let MaxConsideredElo = MinConsideredElo + 
	(Max(1500, RawMmElo) - EffectiveMmElo) * WaitRatio

I think the main goal here is to let new players match as a 1100 elo player, even though their real elo is 1500. They can match as anything between an 1100 and 1500 elo player after reaching their full wait time.
If MinConsideredElo > 1500 then
	MinConsideredElo = 1500 + 
		(MinConsideredElo - 1500) ^ EloCutOffExponent
else
	MinConsideredElo = 1500 - 
		(1500 - MinConsideredElo) ^ EloCutOffExponent
The same happens for MaxConsideredElo.

The point here is to squish the extreme ends of the elo scale inwards before comparing widths. This is basically equivalent to increasing the widths for extreme players, but it is a bit easier to conceptualise.

Players A and B can be matched if:
(A.MinConsideredElo - B.MinConsideredElo > Max(A.EloWidth, B.EloWidth))
or 
(A.MaxConsideredElo - B.MaxConsideredElo > Max(A.EloWidth, B.EloWidth))

Player matching seems asymmetric so perhaps it is checked on both sides. I probably have at least one thing wrong.
+1 / -0
Considering the issue that started the thread is directly impacted by how recent games is computed:

quote:

GetAverageRecentWinChance
if no games played return 0.4
games = pick the last 5 games played in the last 24h
return average from games of (winning probability if won, 1-winning probability if lost)


The period seems way too short. If a player player 2-3 games here and now, the impact of older games will be 0

Also, not sure how the average affects real life scenarios (ex: you played 5x 30% implies average 30% versus you played 2x 10%, 1x 30%, 2x 50% implies average 30%).

Maybe an improvement would be enlarge date interval (last 7 days) and do some weighting to more recent games (like 0.1, 0.2, 0.6, 0.8, 0.9 - just an example values could be adjusted), because people are biased to remember better more recent occurrences.

PS: how do you do the nice code formatting?
+0 / -0


2 years ago
I'll try MmWidthGrowth = 340. Play some MM and give feedback.
+0 / -0