Note: This was written in September 2021, and serves as a bit of a precursor to the design which would ultimately become Prototype in 2023. Therefore, it treads a lot of the same ground but there’s some good nuggets here I couldn’t fit into the deep dives.
It has been over 15 years since Halo 2 was released and the hard work of the Halo and Microsoft teams brought us ‘Matchmaking Playlists’; forever popularizing a quick and seamless way for players to get into multiplayer matches.
- Select a game mode
- Wait for the matchmaking system to find you suitable teammates and opponents
- Load into a fresh multiplayer match
This quickly became the standard for Xbox Live, the Xbox 360, and eventually gaming as a whole. No more digging through massive lists of empty servers to find an active one, waiting for a slot to open up, and then joining a match in progress with highly disparate skill levels – the new system was considerably more streamlined and gave developers control over who players were matched with.
As an industry, we’ve spent the last 15+ years perfecting that system – time spent waiting for a match has been greatly reduced, larger populations have allowed for more effective skill matching, and a tidal wave of analytics has allowed fine tuning to get the absolute best player retention from the tuning knobs available during matchmaking.
Despite the indisputable success of the existing model, I would like to pose an argument that we are overdue for another paradigm shift in how we pair players together – models which better embrace the fact that multiplayer gaming is primarily a social experience and therefore strive to build long-lasting friendships instead of optimizing around short-term retention.

Note: For simplicity sake, I’m going to tackle this from the perspective of team vs team matchmaking; however, the same concepts apply to cooperative modes and social familiarity is even more important there.
So What’s Wrong With Matchmaking Now?
In transitioning away from server browsers, we lost the sense of community that came from playing with the same people every night. The resulting experience has greatly reduced the human element of multiplayer in favor of a highly anonymous experience.

Some games might lean more towards skill matchmaking, while others will prioritize getting players into a match as quickly as possible, but the general premise remains the same:
We are playing with a stream of faceless and interchangeable players, just barely more sophisticated than a clever AI.
And indeed, many titles are already experimenting with replacing opponents with bots that appear like human players – they allow developers to artificially boost win-rates of player groups who historically would struggle in the multiplayer environment and quickly quit the game instead of suffering through months straight of losses. Once bots are convincing enough, I would fully expect we will start to see them deployed against players of average skill – after all, winning feels good and there is a heavy known correlation between the success of a player (winrate, KDA, etc.) and how likely they are to keep playing your game (retention).
Sounds like a win-win for everyone involved, right? The developer gets better player retention, the players get a better experience, and the bots are happy to lose over and over.
…and yet, we do not see a lot of single player games or even cooperative titles getting the thousands of hours of playtime associated with competitive multiplayer games. There is clearly a breaking point where the veil is lifted and bots are not accepted as a suitable substitute for a human, purely from an emotional level. We want our skills to be tested and pit our brains against another player, giving us reason to spend those thousands of hours developing a mastery of the game.
So, if there is a point at which we don’t accept playing against bots because it is not a real opponent, why are we okay with our human opponents being entirely anonymous?
The result of this anonymous nature of other players is that our own skill and progress is reduced to a number. Instead of being able to celebrate taking down a tough rival, we are left with a much less emotionally compelling ‘+4 Points’ after the match. Teammates are a revolving door of players you are unlikely to ever play with again, contributing to toxicity & a desire to focus on your own play instead of working as a team.
Multiplayer gaming should be a highly social activity, yet we are utilizing a system which strips away a sense of community – we can do way better.
How Do We Fix It?
The goal here is to emphasize building communities and embracing the social aspects of multiplayer instead of running from them.
Step 1: Reduce Anonymity
We want players to bump into each other more frequently, build social bonds and have a small emotional stake in each match. This was a major strength of the original server browser approach to matchmaking, and is still in use for some multiplayer titles as well as many MMOs in the form of realms/server limitations.
There are a lot of ways to do this from a systems standpoint, but for the sake of the exercise let’s say that after one week of play, we analyze how the player has played (their rough skill group, mode preferences, server location, active times) as well as any friends they have played with, and we give them an assigned Social Group comprised of ~5,000 players). Now any time a player looks for a match, we will prioritize pairing them with players in their social group (and then ‘neighboring’ social groups) before continuing with other criteria such as skill.
We have now created a very loose ‘realm’ structure for our matchmaking system, sacrificing some precision in favor of building social bonds within our social groups. Players will now start to recognize the same names popping up in their matches – we might even want to call attention to this by showing historical records or an indicator showing they are a part of your social group. For non-Ranked, we prioritize keeping players together from match to match, letting new players filter into the server list to keep accumulating players from the social group instead of wiping the slate clean every game.

Anyone who has played games in a smaller community can speak to how much of a sticky experience it is to keep bumping into the same people for weeks at a time. Even without speaking a word, you eventually start to feel like they’re an acquaintance of yours and you are more likely to be on friendly terms.
Toxicity in these communities is much less common as well – when you see your neighbor every day, you are less likely to say something toxic towards them as the veil of anonymity is not shielding you from the implications of being rude. Likewise, when you have seen this player a bunch and will continue to see them, you are less likely to be an ass and more likely to say ‘GG’, ‘Nice Shot!’, or comment when something awesome or funny happens.
This system can be entirely invisible, only informing the existing matchmaking model; or it can be fully embraced and public by creating a mega-clan of sorts with the assigned social groups. Maybe there’s a weekly event that allows for your social group to matchmake against neighboring social groups for bragging rights or prizes, allowing for there to be ‘champions’ from each group which get extra recognition for repping the group.
There is a lot of room to play with to help use the tool to build on the social elements and make the game more than a never-ending anonymous competitive grind.
Step 2: Create Emotional Stakes
With reduced anonymity, we already get some emotional stakes through playing with players we are familiar with – a player you’ve lost to on the other team can provide motivation, while a friendly teammate can make you feel more invested in playing as a team.
But we are still ultimately going through the same match-to-match grind & number tracking of the existing system, so let’s introduce some goals to make things more compelling.
Note: Deeper dive incoming in this area, focused on Ranked Modes and then a follow-up sharing some ‘Casual Competitive’ mini designs. So probably not going too in depth here, I’ll update with links once they’re posted.
I like to break competitive multiplayer goals into three categories – tackling each of them helps provide something to strive for in every session, and allows for high peaks of accomplishment over longer periods of time.
- Session (Ideally shared across the team. Promote social play!)
- ‘Scorecard’ – Give players points or goals across a series of matches, with rewards at various thresholds. Let the team pick their own difficulty.
- Ex. Trials of Osiris (Destiny), Arena (Hearthstone)
- ‘King of the Hill’ / Winner Stays – Keep track of streaks when a team wins, reward reaching new thresholds.
- Ex. Lots of fighting games
- In-Client Tournaments (2-4 hours long)
- Ex. Fortnite, League of Legends (Clash)
- ‘Momentum’ – Meter goes up with success, down with losses. Try for the highest peak during a session. Allow for players to opt into playing higher difficulty for more points.
- ‘Scorecard’ – Give players points or goals across a series of matches, with rewards at various thresholds. Let the team pick their own difficulty.
- Weekly
- Leaderboards
- Rival Challenges – Try to outscore an assigned rival in a stat category.
- Monthly/Seasonal
- Ranks
- Divisional Promotion Series
- Esports Seasons
You can immediately see how focusing players on ‘activities’ instead of an endless matchmaking grind would be more compelling. Session goals also allow for matches to provide a variety of intensities – certain matches become more important, increasing emotional investment instead of every match being identical to the one before it.
That emotional investment is a lot more powerful than the existing ‘Kill 10 enemies with a Battle Rifle’ daily challenges that are thrown at players, and can help make each session stand out rather than being a simple ‘attendance’ check for the player.

Implementing these goals with an emphasis on emotional stakes does not necessarily require changing towards the more social matchmaking system described above, but doing so would make it much stronger – each accomplishment is now more likely to occur with and against known players from the same social circle.
An even stronger design would then involve celebrating those accomplishments within that social circle – let all those players know that the player they have seen in their match dozens of times did something cool. These designs work closely together because reducing anonymity automatically makes our accomplishments more meaningful, and the rewards showcasing our success mean so much more when you know the person behind it.
With these two system focuses, we shift the multiplayer experience towards something highly community-driven with strong goals for players and considerably more ‘meaning’ behind each session spent on the game. Long term, we’ll see players organically form parties with players they’ve repeatedly run into – a great boost for player enjoyment and stickiness (retention) due to social connections.
What about current retention metrics?
This is the question I would expect to get from most people who are in the industry and working around this kind of data all of the time.
The industry has invested heavily in optimizing the current systems, and the data has consistently steered us towards a more and more anonymous experience primarily because it is working.
Metrics tell us, in rough order of correlation to retention:
- Quicker matchmaking boosts retention.
- The system proposed above will generally make matchmaking a little slower.
- Player success boosts retention.
- The system proposed above will make skill matchmaking less of a priority, negatively impacting lower skilled players by some amount.
- Playing in a party with others boosts retention.
- The system proposed above should increase social play in parties.
- Toxicity harms retention.
- The system proposed above is inherently promoting social interaction with strangers, likely resulting in more opportunities for toxicity.
- However, a focus on more repeat encounters & reduced anonymity should make players less likely to behave badly to one another.
I absolutely can understand hesitancy from those who know the data from the current system. The benefits of social interaction in the gaming space are a lot harder to measure – ‘a sense of community’ as a core reason for sticking with a game is a bit of an abstract concept and can manifest across dozens of metrics instead of a singular one.
Designing for ‘addiction’ with playtime & retention as the success metrics is rapidly pushing us towards a breaking point within the current systems: Continuing down this path will ultimately mean stripping much of the ‘humanity’ of multiplayer and growth will prove difficult.
Meanwhile games which promote social interactions as a primary goal will prove to be considerably stickier than those that do not.
We are a culture driven by the ‘next big thing’ and a rapid rate of discovery – when an exciting new title comes out, it is much easier for gamers to leave their current game if they don’t feel attached to the community. Highly successful franchises without a social emphasis can suddenly find their players flooding away as friend groups migrate to the new thing, while games which create new relationships centered around their game will continue to thrive in the face of new trends.
Healthy social bonds are the type of thing that attaches people to a game or franchise for decades and transforms the game into the ‘water cooler’ around which friendships are built and memories are forged.
While I believe that this social approach is also ‘good for business’, it’s really those newfound friendships and memories which make me excited to work on multiplayer games.
Matchmaking systems are the foundation of millions of friendships and childhoods, and we should strive to provide more for players than an endless stream of anonymous opponents.
