TMM Rating Allowance Needs to Use Ladder 1v1 Matching (or close to it)

Hello, our dear Player Councilor requested that I make this into a forum post to discuss and document an issue myself and some others have: the rating allowance for matchmaking in TMM.

Up until about a couple weeks ago, it was difficult to tell (for me) whether or not allowing two people searching solo would be a fun and interesting idea. That was quite short-lived as the main drive for a "match found" was that the game was about a 90% combined skill rating game. I had about 1770 TMM rating at the start, and each time was paired with someone who was less then 1000 rating. You could say this is due to the fact that the system barely has any data, but each game proved to be me watching my teammate sit in his base and make t2 mexes rather make any effort to actually expand nor help his "teammate."

Often, the games were myself (1700+ TMM rating) and someone well below 1000 verse 2 people with 1400 + 1300 (or the likes). This led to me pretty much having to do EVERYTHING, and especially on 10x10 maps it was just a 2v1, not a fun game. I lost about 5 games in a row in less then 10, 15 minutes tops because the "matched teams" led to a huge disparity in game skill.

For me, I would rather the TMM match you with someone AT MOST +/- 300 rating as does the ladder matching system. There is absolutely no fun in a game where there are 3/4 participants.

Please, for the love of player retention in what we finally have called TMM, do not make solo searching such a terrible experience. I would much rather wait and get a good game then one that is so frustrating.

Thanks and and open to discuss.

There could be some kind of system where :

  • You queue for TMM
  • The system tries to find opponents/teammates close to your rating (+- 200 for example)
  • If it can't find it after the first 3min rotation, it tries to find teammates/opponents a little bit further (+- 300)
  • And so on until you find a match

So if you don't want a match like : 2000+1000 vs 1500+1500 you can just stop queuing after the first search rotation fails, and requeue immediatly. If you don't mind having teammates far from your own rating, you just stay in the queue.
In the end you will find less match and have to wait longer, but at least you could "control" a bit more what kind of teammate you're willing to have.

Lol. It already does that

Too bad this all happens after 1 search cycle for me, so there is something wrong happening if that is true.

Can’t say what’s happening in your case because you haven’t posted any game ids. But if you are paired with people who’s displayed rating is 1000 then they can easily have a mean of upwards of 1700 depending on the deviation. Until we get some game ids tho, this is pure conjecture

This post is deleted!

I have to agree with morax, the potential of getting matched in the same team as someone 1k lower rated (vs possibly a team of 2 premade 1700s) is an issue, especially if those are the only games I get (3 times in a row after waiting 10-15 min for a proper game each time).
Since for me que times tend to be long already I dont think having to cancle the queue every 7 min to prevent getting an unplayable game is a good solution to the problem, because it will just get anoying to cancel the queue for the 20th time and then getting an inbalanced game the 21st time because I forgot to cancel it just one time during the waiting sim.
Furthermore i dont think that too large rating differences between players in a team should happen at all (no matter if the resulting game should be balanced or not). Once the difference is (approximately) 600+ it will lead to bad game,ending in a survival or cheese/sniperush for the higher rated player.

Forumpros doing balance https://www.youtube.com/watch?v=4wTcguJZh3A .
When a canis player remembers to build more than 3 units https://www.youtube.com/watch?v=7hjp8xJHuyA .

@PaintThinner said in TMM Rating Allowance Needs to Use Ladder 1v1 Matching (or close to it):

I really hope they reconsider and give our rating back, if they actually plan on doing this global rating thing it defeats the purpose of tmm entirely. tmm was already losing players but now I don't think many people will play.

This isn't the point of this thread so I hardly want to get into this post, but just felt like I had an obligation to explain that you saying tmm is losing players is not based on any actual metrics at all. Frankly tmm is at around the same general level of popularity as ladder. However it typically has a much larger level of variance. While ladder can usually hover around 3 or 4 people in queue during off hours and get up to 12 during peak, tmm will get 0-2 for several hours but jump up to as many as 25 in queue during peak times.

I'd even say you have arrived at the exact opposite conclusion that the data shows, March was the best month for tmm so far.

The question really is would you prefer having a potentially unbalanced game or no game at all. For people in the less active timezones, the former would likely be preferable to most people. Being from a less active timezone, I am very much against reducing the search range without any recourse. A reasonable middle-ground solution would be to implement a checkmark that asks "Would you like to increase your search range? It will increase your chance of getting a game but also increase the chance of getting an unbalanced game." that the user can tick or untick. If you tick it, you get reduced search range (e.g. +/- 300, or whatever is reasonable), and if you untick it, the search range can increase as it currently does in TMM.

This option should also apply to ladder 1v1, allowing your search range to increase until you find a game. The rating system should be able to handle the "imbalanced" matchups that result (e.g. if I face a 1400 as a 1900 on ladder, I would have a 95% chance to win, but get like 2 points or something from winning, -14 from drawing, and -30 from losing).

Also, from my anecdotal experience, I've personally been in quite a few games with a weaker teammate against 2 ~1500 opponents and come out victorious. I think it's very reasonable for a 1700+1000 to beat a 1400+1300, with the outcome probably being 50/50, if everyone is actually at their rating (separate issue). This is a little beside the point, but Swkoll showed me a replay the other day where his 800 global/700 ladder/700TMM teammate just crushed Inspektor_Kot and Wesh, who are both rated around 1.8k. It was very entertaining to watch.

Was this difference also not somewhat deliberate for lower rated players to learn faster?

Last weekend we played a game as 2x595 vs. 0 & 1007. At some point we sniped the 1007, but ultimately they won. The 0 rated made a point to thank the 1007 rated for his guidance. - (replay https://replay.faforever.com/14167584 for those interested)
Watching the replay from their point of view, I do see the frustration @George_W_Crush mentioned.

Still obviously, go for best matches if there are 20 people in queue...

It has been my theory for awhile that the game quality calculation is innaccurate for teams wherein the highest and lowest rated players have higher differences in rating. IE as the OP said, a "balanced" game with an 1800 and a 1000 vs two 1400s will see the latter team win the clear majority of the time.

Sadly, I dont have the technical knowhow to verify this theory statistically

I am currently writing a new matching algorithm to make a 4v4 queue possible. From my understanding trueskill doesn't factor in rating disparity between players when calculating the game quality so in order to get onl y games with similarly rated players we need to introduce our own quality metric. I will now explain my first draft for this so you can discuss if you think that is a good formula and make suggestions to improve it.
Currently I calculate quality = uniformity * fairness + newbie bonus + time bonus
Uniformity goes from 0 to 1 and is 1 if all players in the game have the same rating and is zero if the standard deviation of the ratings if all players is greater than 300
Fairness works the same but looks at difference in total team skills, so it is 0 if the rating difference between the teams is higher than 400.
The newbie bonus is to faster match new players and is a flat bonus if a new player is in one of the teams.
The time bonus increases with every time you were not successfully matched.
The main thing I want to know is: should we use the standard deviation for uniformity or just the highest rating difference between players? The former would allow higher skill gaps in larger teams and smaller ones in 2v2

Do you use players mu - 3 * sigma or just mu for players rating?
I think that it would be best to use standard deviation for uniformity while setting a max difference in highest vs lowest rating for the Uniformity to even be considered or even saying that the quality is too low if the Highest - Lowest ratings is greater then X. The Highest - Lowest ceiling should also increase with each unsuccessful match up to some cap.
For example (considering 4vs4 here) you start with a ceiling of 400 and raise it by let's say 50 per unsuccessful match up to 600.

I use mu - 3 * sigma for all calculations.
I failed to mention that I discard all possible games with a quality below a certain threshold. So in a way I am already doing what you proposed.

What is an acceptable value for the difference in team strengths in your opinion?

I know that you discard games below certain quality and the quality of the same team matchup rises with each unsuccessful queue pop but what I am also suggesting is adding the extra element that prevents games that are decent enough using standard deviation but are not so great in reality because of the highest vs lowest rating. For example having players with ratings : 2000, 2x 1900, 1800, 2x 1400, 2x 1300 has a standard deviation of 282 which ain't great but they will still probably be matched while usually making for an unbalanced game.
TBH I thought it would be much worse and looking at it now after some trials with the calculator it's not bad but I think that adding a hard ceiling of I would say 500 - 600 will remove the troubling edge cases while not cutting down on the matches too much.
Concerning the value (total team rating right?) I would say that the difference should be no bigger then 100 initially raising to I would say 300 by 50 with each unsuccessful queue pop.

Another thing popped up: we have no restrictions on premade teams. I noticed that when a 1500 queues up with a 500 it would drag down the quality score. Now we could say that we don't want to "punish" people that are friends but have a wide skill gap. On the other hand their individual ratings are probably still accurate and the rest of the players would still suffer from having such a skill variance in their games.
(I assume accurate ratings because newbies would get a matching bonus that alleviates this problem)
What do you guys think about this?

Surely a simple and basic thing to implement - not sure from a technical pov but logically for sure - would be to just offer a little more information than "4 people in queue".

A lot of issues for people are not finding a game when they see 8 people in the queue, or they find a game and realise it is stupidly balanced and the people they are with are basically playing a different game and then the salt flows through their veins.

Why is it not possible to just offer more information on who the "4 people in queue" are regarding their rating. It is already fairly well known that there is a rating bracket system. <500, <1000, 1000-1500 etc etc, and these rating brackets/groups have access to their own maps etc.

So why cant their be a simple tally system under the "4 people in queue" that just says oh btw these 4 people are in the <500 bracket. then someone who is 1600 knows they probably shouldn't queue unless they want to wait 25 minutes to maybe get a game.

I don't know alot about how difficult this is, but as an idea it just seems far to simple and helpful to neglect. Just give people that tiny bit more information of what "8 people in queue" means, and i cant think of a simpler way than just a tally mark system for each Bracket......

Do you know the Muffin Man?

This would also be inaccurate for edge cases where you are at the cusp or entering/leaving a bracket, new players that get artificial mu values set, and for premade teams which could have something like a 0 rated guy play with a 2000 rated guy.

What pre-made teams will have a 0 rated and a 2k rated player? There isn't even any 2k rated players now with the reset, and when there was, i think only 2 people were arguably active out of the like 4/5 people who got to 2K tmm?

I don't see how people being close to the rating is an issue? You either round up their score like global does when showing someones rating in lobby and use that.

Im sure within the idea there is some middle ground that could be reached which at least would give more information as to whether you should even bother queuing. People have said there was something similar in python for ladder at some point?

Do you know the Muffin Man?

I think to give this discussion more structure you first of all need to define which problem you want to solve and why your solution would solve it.
You went from "people don't understand why they don't get a game" to "people want to know whether they should even bother queueing"
Btw, do you not just queue when you want to play? Why is the distribution of players relevant for this?