How does For Honor’s matchmaking system work? What do all of those indications that players can see while matchmaking mean?
The objective of a good matchmaking is too find the right balance between waiting time (as short as possible) and match quality (fast connectivity between players and same level of skill).
To do so, our philosophy is to focus on connection quality first then players’ skill. Regarding the waiting time, we look for the best fit for skill for the first 30 seconds, then expand that skill range after each 30 second interval. After three minutes, we timeout the matchmaking to allow the player to restart the process from scratch.
The matchmaking service relies on hard parameters (parameters that we don’t adjust over time) and soft parameters (parameters that we adjust overtime and that are reflected on the matchmaking in-game screen while you are matchmaking).
The two hard parameters are
NAT and
Player’s Continent. The two soft parameters are
location (inside player’s continent) and
Skill.
For the
location parameter relaxation, we focus on your
region before switching to your
country then finally expanding to your whole
continent. There is no easy way to express what a “
region” is as
regions are optimized for gaming experience and can be: part of a country, a whole country, or a cluster of different country parts. Same thing can be said for “
continent” since we split them differently to have better ping between players.
For the
skill parameter, we expand iteratively from players of your skill level from “
Strict” to “
Medium” and finally “
Extended“. We expand to “
All Skills” for any final matches before we timeout the matchmaking.
Lastly, we also sometimes incorporate several modes into one playlist to reduce the number of matchmaking buckets. This allows to regroup the player base and reduce the matchmaking times.
For example,
Elimination and
Skirmish will be both in the
Deathmatch Playlist at launch.
In that situation, we relax the “
mode preference” parameter during the matchmaking once the matchmaking queue has hit two minutes.
All those values and parameters are of course subject to change based on the learnings from the Open Beta and first weeks of launch.
Why were there some cases of sessions timing out in the Closed Beta?
We had very few occurrences of multiplayer sessions going “zombie”, this affected mainly Dominion PvP but also Brawl PvP. The issue is that those “zombie” sessions would drag players in matches that would never start. While they were very few occurrences, they would stack over time so more and more players would get affected. This issue generated the vast majority of the dreaded error “7-00000004” à Session Join Timeout”. In addition, we encountered a bug impacting players’ online status when they caught error “7-00000004” so they could not enter any further online matches until they restarted the game.
As maintenances enabled us to clean those sessions while we were looking for the root cause, we implemented maintenance windows every 4 hours to regularly clear the “zombie” sessions and mitigate the issue. We also had to remove Join in Progress during the Lobby phase to patch the problem while we were working on the definitive fix.
We found the root cause to the issue and implemented a fix it in the last days of the Closed Beta on PC, the fix will also be implemented in the Open Beta on that platform but won’t be on console yet – it will be at launch on all platforms. For players who still encounter the error “7-00000004” during the Open Beta, we recommend to close and restart the game. This error should happen very rarely thanks to our tracker that will kill most of the zombie sessions as soon as they appear, so Dominion matchmaking should be very reliable on all platforms during Open Beta. We apologize for any inconvenience this may cause.
Will the connectivity issues that some players had during the Closed Beta be fixed for the Open Beta and launch?
One of the main reasons why we do live events before launching the game, like our Closed Beta, is to identify and fix problems as soon as possible. Your playtime during those events enabled us to spot issues that would be very hard to find out otherwise. During those live events, we do server patches and use the flexibility of our Uplay PC platform to fix our game client on PC. We did this during our Technical Test 2 and the Closed Beta gave us the opportunity to iterate faster with you!
During the Closed Beta, many of the connectivity issues that happened (lag, disconnections, etc.) were caused by in the fact that our region matchmaking wasn’t always working as intended. It was sometimes matchmaking people from different continents, which led to lag and disconnection issues. While we fixed a significant part of the problem with our Closed Beta server patch, it is only today that we completed the identification of the root causes and finalized improvements for our Open Beta.
We often hear players talking about Host Advantage that is tied to classical P2P models. For Honor has its own network model that is different from game servers or traditional P2P where one of the players is elected as the game server (“the Host”). We don’t have a game host per se as the session host only manages the invites and handshakes of all players in that session. This is why the game can be impacted by a leaving session host, pausing the match for a brief moment until a new session host is elected, the game is synchronized and the match resumes.
During matches, every player runs a synchronized simulation and the game is played without any game host; all players are sending to all players what they are doing without the need of any answers from the other players thanks to the simulation. This is why our tech allows more reactivity and doesn’t have the “host advantage” problem of a traditional P2P model. When the match ends, the results are sent by all players to our arbitration service that validates its integrity. We also have other servers and systems that help us track and identify potential cheaters.
Infrastructure stabilization is something that development teams will continue to work on, even after launch, to make sure that everything runs smoothly. Once the game is launched the servers and architecture will be heavily stressed and we might encounter issues never faced before but as always, working on those potential issues will be a major priority for the team.
There is no penalty for quitting a game, while it can affect all other players because of session owner migration. Do you plan to change that?
Leavers are already penalized as they lose all their match rewards (Loot, Steel, XP, Orders, War Assets, etc.) also stalling their Hero progression by doing so. In For Honor, it’s more interesting to stay in match and participate (even if you lose) than leaving it.
As the result of the match does not influence your chance to get Loot and grants you the same amount of Steel, leavers are quitting at the cost of everything else while the other players continue to gather rewards.
We are aware of the irritations that can cause a player leaving a match and we are already working on possible penalties to apply when that occurs, which will come post-launch. For example, we took a first initiative during the Closed Beta, when we displayed Leaderboards in our forums: Since several of you expressed that concern the first day, for the remaining days, we treated all “Leave” as a Loss to build our Leaderboards.