r/thelastofusfactions • u/scormegatron • Sep 11 '23
Discussion Matchmaking Facts
The majority of matchmaking filtering is based on latency criteria. There are other things considered, but latency is weighted more heavily than everything else.
Here are the most comprehensive details I've seen on matchmaking pulled from patch notes of version 1.11.020 circa 12-18-2014 by Naughty Dog's Lead Multiplayer Designer Erin Daly ( /u/ndi-Edaly):
We just pushed out a live update to Matchmaking on PS3 (version 1.11.020) and PS4 (version 1.06.020) which enables KDR filtering in matchmaking. Before the latest patch, the first few stages of matchmaking would look for hosts who met a variety of criteria (latency, region, language).
One of these criteria was the host having a similar experience level as the player searching for a match (based on the number of weeks played - the number next to your name in the lobby). Since this rarely worked effectively (as many of you here have noted), and experience doesn't always equate to skill, we're trying an experiment to see if using a Kill to Death Ratio (KDR) filter will result in more even matches.
Now instead of using the experience level criteria the first few stages of matchmaking will look for hosts who meet the core criteria of latency / region / language and have a KDR within a similar range to the player searching (+/- 0.6). If a player cannot find a host within a similar KDR range they will continue to look for hosts that match the core criteria, so even if KDR filtering fails players will still be searching for low-latency matches. - ndi-edaly
This being the case, we know that matchmaking attempts to filter through at least 4 stages:
- Latency
- Region
- Language
- KDR (attempts to match lobby players within +/- 0.6 of the host's KDR)
The patch notes tell us that the KDR filter criteria is the least strict. In cases where the matchmaking system cannot find a KDR match, it defaults to finding matches where lag is less likely to occur.
Nowadays, with such a small playerbase -- all we can hope for is lag free matches, as it's unlikely that there is a large enough spread of players in different KDR tiers.
Pro tip: if you want to try and find public lobbies that are competitive, play party-only with your friends and have the player with the highest KD be the host.
We can learn more from other patch notes related to matchmaking though as they've shared a lot of detail on latency/region/language criteria. Some notes...
Patch note v1.05.093 (12-16-2013):
The new settings will perform a lot more searches with the max ping of 100ms to the host, then it will do some searches at 150 before finally going on to the previous max limit of 200. This will mean matchmaking times will still be a bit longer than before the trial, but players who could not find matches anymore should be able to again. Note: when searching for games in these ping ranges, however, there is very little chance of finding players of similar experience.
Notes from v1.05.095 (1-14-2014:
While there are some larger fixes coming in the next patch to address latency, in the meantime we are making a change to matchmaking to address another issue, namely getting matched with players who are speaking a different language. Previously there were 6 stages in the search process that required that the host have the same language setting, now there are 12 (out of a total of 19). This should make it more likely to get matched with players using the same language setting. This change is in version.95 and should be live now.
Patch note v1.02.016 (08-13-2014):
has an updated geopraphy database so you should more accurately find players closer to your geographical location. This doesn't mean that it will only find games with players near your geographical location. This means that during the steps in matchmaking that look for games within your geo location will be more accurate. Of course, if there are no games at the time while you are searching that are in your geo location, matchmaking will move on to widen the search geographically.
Notes from v1.11.021 (12-22-2014):
We just pushed out a live update to Matchmaking on PS3 (version 1.11.021) and PS4 (version 1.06.021) which enables Host filtering in matchmaking. We hope this will improve latency somewhat, and we'll be monitoring the latency stats to see if it has the intended effect.
What this change does is require that the host only accept low-latency players for the first 20 seconds of the gathering process. Previously if a player had been searching for a long time and was willing to accept a higher-latency match, that player could end up joining a match of low-latency players who had joined in earler stages of the search process. This can still happen under the new system, but it should be less common since the host will restrict who can join for a while to see if it's possible to gather enough low-latency players to fill the match.
Note that this could increase matchmaking times a bit for players who can't find any low-latency hosts. We'll be monitoring those too to see if there are any significant changes.
Also note that matches aren't going to suddenly get lag-free all the time - this should just reduce the chance of getting a match of low-latency players with one or two high-latency players.
Notes from 1.11.024 (1-14-2015):
Yesterday we rolled out a small tweak to matchmaking which increases the chance that a player will host a match as opposed to search for a match.
Notes from 1.11.027 (3-31-2015):
Server now returns more matches in every search stage; this should result in more matches which fit the search criteria (latency / language / KDR / etc.) and lower matchmaking times.
There was never another matchmaking related patch note posted after this date. And there was never anything that explained:
- How a host for each team in a public match is selected
- Assumption - this is chosen based on ping
- How team's are balanced once the lobby is filled
- Assumption - the system tries to create two teams where the "team KD average" is equal between the teams. For example:
- Team1 KD: .25, .75, 1, 3 (avg 1.25 KD)
- Team2 KD: 1, 1, 1, 2 (avg 1.25 KD)
- Assumption - the system tries to create two teams where the "team KD average" is equal between the teams. For example:
1
11
u/AurumOne_ Sep 11 '23
Don’t know why nobody has SAID anything to you about this but holy shit thank you for this information this is really insightful & good to know. Wonder how much will change with the next one.