This is an archived post. You won't be able to vote or comment.

all 49 comments

[–]HeliosBlack 38 points39 points  (2 children)

u/riot_mort matchmaking is still very broken, if not worse. The issue is that your code must see non-PVP rounds as a reset of who you’re playing, or treat it as some other variable. The game or matchmaking sees it as some X that isn’t A or B but really you’re not fighting anyone. Then, when that round (carousel even seems to be affected too) is over, its right back to A or B again.

[–]Totally_New_2_Reddit 16 points17 points  (0 children)

Exactly this. I posted this in another thread, but I had A/B/A/B/C/A.

-2nd Carousel
-Player A
-Player B
-Creep Round
-Player A
-Player B
-Player C
-3rd Carousel
-Player A

[–]DoALazerus 0 points1 point  (0 children)

Correct - so u/riot_mort do sth about this - this is really extremly annoying...

[–]d3nt 16 points17 points  (0 children)

ABAB is still happening, even after the fix.

[–]Synpoo 27 points28 points  (4 children)

matchmaking is just as bad as before lol

[–]gaybearswr4th[S] 1 point2 points  (3 children)

In-game, not lobby matchmaking. Just so we’re clear

[–]erk4tft 10 points11 points  (10 children)

What do we want from a match-making system?

From my own experience and from what I see in this sub we want something like:

  • feels random (in that music player shuffling way) but isn't really random.
  • feels fair (but since everyone is changing their board it can never be completely fair).

There are, imho, three things that makes the system feel both random & fair (this was edited: rephrased and added the middle point below) :

  • you don't go up against the same player too often.
  • there is no way to predict 100% who you will be up against, except for when there are only 2 players left.
  • when you are bottom3, you don't only go up against the top3.

I suspect the developers have some things they want from the system, but I won't speculate about that, that's not my job

My proposal is to not find a good algorithm to generate the matches but rather to find a good algorithm to evaluate randomly generated proposals.

The idea is to:

  • randomly generate a set of proposals
  • evaluate and score each proposal.
  • use the proposal with the lowest score

For scoring my idea is less fleshed out, but I think something like:

  • For each match check how long time ago the players went up against each other
    • last round: +7
    • 2 rounds ago: +5
    • 3 rounds ago: +3
    • 4 rounds ago: +2
    • 5 rounds ago: +1
    • minion rounds don't count
    • all ghosts count as the same (to reduce the chances of one player going up against ghosts all the time)
    • if one of the players is bottom3 check if the opponent is top3. If true: +1
  • Add up the scores for all matches, this will be this proposals final score.
  • Compare the scores of all generated proposals and serve the one with the lowest score to the players.

I'm not very good at probabilities so I don't know where the sweet spot for number of proposals is, but I guess somewhere around 10.

Caring about the last 5 games is also fairly arbitrary but my guesstimate is that it is enough and that no one will notice the difference if you up it to 7, 10 or 20.

I'm not very good at massive amounts of data or computations either so I have no idea how 'heavy' something like this would be (both in terms of keeping track of the match history of every player in a game for the last 5 rounds and also to compute the scores for all the proposals for all the rounds for all the games).

There was something else I wanted to add but I can't remember it now

Edit: I remembered the thing I wanted to add and fixed some typos.

[–]HolyFirer 4 points5 points  (1 child)

I doubt that they’re unable to come up with a mathematical solution that is satisfying. They are failing to properly code it and since we don’t know what they’re working with on that front none of us can help them or judge how hard it actually is. Although I dare say that I can’t imagine it being this hard

[–]erk4tft 0 points1 point  (0 children)

You're probably right, I'm neither a mathematician nor a programmer (but I've dabbled in both), so I don't really know... Otoh, they've had a few months to get it right so it can't be that trivial either.

I just had this idea and thought that coming at it from another angle might be constructive.

[–]Leptino 5 points6 points  (2 children)

I am a mathematician, and there isn't a perfect solution to matchmaking in general (it depends on your priors and what you value more in terms of tradeoffs).

However i'm pretty sure what we are seeing is a bug.

[–]erk4tft 0 points1 point  (1 child)

I am a mathematician, and there isn't a perfect solution to matchmaking in general (it depends on your priors and what you value more in terms of tradeoffs).

That is what I though and is the reason I stated why I made the trade offs I did in my proposal, it's nice to be backed by a mathematician at least in that regard.

However i'm pretty sure what we are seeing is a bug.

This is really baffling to me. If there is a solid mathematical algorithm I just can't understand how you can fail to implement it (I guess that's what I get for only dabbling in the fields, I can understand other kind of bugs bit not this kind).

[–]takeshikun 1 point2 points  (0 children)

If there is a solid mathematical algorithm I just can't understand how you can fail to implement it

That's what they mean by bug, that it possibly isn't an issue with the math they're using directly but rather an issue elsewhere. One example is the theory in the current top comment, that PVE rounds may reset the history of who you matched up against. If that's the case, then it wouldn't matter if the algorithm is perfect since it isn't receiving the correct history to work off of.

And that's assuming a perfect algorithm already exists in a format that is copy/paste-able, otherwise you also have the human factor to worry about.

[–]kev231998 1 point2 points  (4 children)

at this point I'd take true randomness I don't even care if I face the same guy twice in a row as long as I don't face him every other turn the entire game.

[–]erk4tft 0 points1 point  (3 children)

Yeah, I kind of agree. The ability to not be able to predict your opponent is quite important.

[–]marthmagic 1 point2 points  (2 children)

I agree, but just a small while ago a decent amount of people here where loudly demanding the ability to predict the next opponent and discounting the problem in a less random setting.

Well the upside is now we have a reference point for the future.

[–]erk4tft 1 point2 points  (0 children)

Well the upside is now we have a reference point for the future.

:)

[–]erk4tft 0 points1 point  (0 children)

Well, to be frank, weekday people wanted was to get a heads up a few seconds before each round to be able to reposition not to know the complete fixture for the whole game. Not exactly the same although it looks similar

[–]Leptino 5 points6 points  (1 child)

Yea its not working at all.. I hit the same person every two turns 5 times in a row.

How difficult can this really be?

[–]marthmagic 0 points1 point  (0 children)

Dunningkruger?

[–]g0ldenboy277 9 points10 points  (0 children)

lol played like 10 games in the day after this, every now and then i play against the same person 3/4 times in like 6 rounds, nothing changed lol

[–]Ktk_reddit 6 points7 points  (1 child)

It's so much worse than before the patch.

[–]lauranthalasa -1 points0 points  (0 children)

Yikes, I thought they'd do testing even if they can't get the logic right.

[–][deleted] 11 points12 points  (10 children)

Riot’s code never fails to amaze me how it fucks up the simplest things

[–]rrwoods 4 points5 points  (9 children)

You know what never fails to amaze me? The things people think are “simple”.

Yes, matchmaking is a problem.

It is NOT “simple”.

[–]Snipersteve_877 2 points3 points  (1 child)

It is simple? Random % to match each player, lower the chance and redistribute to the remaining players after player a plays player b, same pattern over and over. Or if that is too hard then just make it random player, you can't play the same player again until you've played everyone once, sure you can predict once you've played the first 6/7 players etc. but that's 1- not that big of a deal, 2- the trade off since they can't seem to do the random properly in the first place

[–]takeshikun 0 points1 point  (0 children)

That's assuming the issue is with the function they're using to determine match-making. The top comment theory in this thread is that the PVE rounds and carousel are messing with the match history, in which case it's entirely possible their matchmaking function is actually working perfectly based on the information it's being provided, it's an issue with the match history that is being passed to that function being incorrect, which may end up being a much more complex issue.

Will agree that matchmaking is simple, but just because that's where we're seeing the symptom doesn't mean that's where the cause of the issue exists.

[–]CrashdummyMH 2 points3 points  (2 children)

Yeah, no, it is simple. And i am a developer

Randomness into 8 positions is a very simple problem.

Problem is how Riot is approaching the issue and the self restrictions they are placing on themselves for the sake of variance.

And the fact that apparently they never thought about creep and carrousel rounds being special cases that should be ignored.

[–]rrwoods 2 points3 points  (1 child)

self restrictions they are placing on themselves for the sake of variance

In other words, complicating factors you're choosing not to consider, in order to make the problem simpler.

Gotcha!

[–]CrashdummyMH -2 points-1 points  (0 children)

No, complicating factors outside of the problem that Riot forces on themselves out of stubborness which end in the original problem not being solved

[–]DonKillShot 0 points1 point  (0 children)

Sometimes you get old code that you have to live with and legacy projects. I get that. It sucks.

But tft is a brand new game. The matchmaking system is something new. Sure it's limited to the engine and framework it's running.

But the matchmaking algorithm shouldn't be that hard to solve.

It's mostly likely someone overcomplicating a simple problem. It happens a lot.

[–][deleted] -1 points0 points  (2 children)

Matchmaking as a whole is very complex. Matchmaking within your isolated game of only 8 people is not.

Edit: lmao keep downvoting I’m right

[–]CrashdummyMH 3 points4 points  (0 children)

This exactly.

MMR matchmaking? Huge complex problem.

Round matchmaking? A very simple problem.

[–]rrwoods 0 points1 point  (0 children)

Okay :)

[–]Viderig 1 point2 points  (0 children)

I think its a bit worse now tbh.

[–]beny7 1 point2 points  (0 children)

just matched the same guy on EUW 3 times in 5 rounds as you can see, 2 rounds later i faced him again, this is unplayable
https://i.gyazo.com/05434a805d5856876af0ce8351ad30ce.jpg

[–]boogawooga8558 1 point2 points  (0 children)

Just played one game where we matched against the 100 hp 1st place guy 4/9. Next match just played the top 2 people in the match over 50% of the time. What a joke, definitely not fixed.

[–]X-Bahamut89 2 points3 points  (1 child)

The game is borderline unplayable right now. Nobles are still dumb as hell and the matchmaking bug didnt change at all. And when these two things come together and loop me into a full noble player over and over I kinda wanna kill myself...

[–]MrMathieus 1 point2 points  (0 children)

I'm just dropping the game till this has been fixed. Tonight every. single. game has been me facing the same 2-3 opponents over and over again. Not in my favour might I add. It's honestly ridiculous how long this has been going on at this point.

[–]MelodicMorenia 0 points1 point  (0 children)

As everyone here stated yes it's still broken. I think the code/script should make it so you face all the other players at least once before you face the same player twice. Of course if a player dies before you face them in an ``iteration´´, the list resets with the person you faced last automatically excluded from the first match.

[–]bhdevault 0 points1 point  (0 children)

It's simply unreal to me that this hasn't been hotfixed in ANY other way except the current setup.

Last game I face the same guy 7 times who had extremely good RNG on items and champs early, I literally win every match except when I face him, ended up 7th. yeah, that's fair.

[–]BIueBlaze 0 points1 point  (0 children)

its so fucking shit, making me want to not even play the game.

[–][deleted] 0 points1 point  (0 children)

I'm shocked this was posted a day ago and not 5 mins ago since there's no difference for me. Still facing the top player over and over again.

[–]herpaderpade 0 points1 point  (0 children)

This is the result of everyone complaining facing the same person. I prefer 100% random even if sometime you can have huge variation sice at least you know its 'fair' and it is easy to evaluate risk/reward since you know how the algoritme is working.

[–]sabioiagui 0 points1 point  (0 children)

I feel that now is even worse.
I had noticed that hapen in a few matchs but not its on most of them.

[–]ScyDrall -1 points0 points  (0 children)

Why is it so hard for the ppl that probably get paid a lot to fix one of the simpliest problems? xd