Matchmaking is always a thorny subject for an online game. There are hundreds of options, each with benefits and drawbacks. And there’s no matchmaking system that’s universally liked.
In Nova Blitz, we split matchmaking into two types: League and tournament matchmaking, and casual matchmaking.
For leagues and tournaments, you are matched entirely based on your record in the event. No outside factors come into play. This means you’ll have an even playing field, because everyone else with your record in the tournament is playing at the same level. We don’t factor in outside data like a matchmaking rating or overall match history because that would penalize the best players – they would have harder matchups than the average.
For casual play, we’re using a different system from other games. Many games matchmake using the Elo system that was developed for Chess (if you want to go down the rabbit hole, check out Microsoft’s True Skill system, which is great). In Chess, the game is the same every time – two identical sides of 16 pieces on an 8×8 board. This means that player skill is the only variable, and that player skill is constant across multiple games. This makes Elo a great tool for determining player skill, and for matchmaking. There are modern games that follow similar patterns, especially first person shooters like Halo, Counter Strike, and Team Fortress. For these games, Elo is great for matchmaking.
Many modern games don’t follow the same patterns as Chess – the game is different every time. The best examples are trading card games like Nova Blitz, and MOBAs like League of Legends or DOTA 2. These games have many more variables than a single data point of player skill can measure. In a MOBA, champion matchups matter a lot. Additionally, players aren’t equally skilled at every single champion. Since the game is different every time, player skill is not constant across all games – maybe you’re great at support champions, but you’re stuck playing the AD carry because that’s how your team shook out. The same is true in a TCG. Different decks and different matchups complicate the skill picture, and mean that “skill” is both not constant, and hard to quantify for matchmaking purposes.
So, let’s take a quick look at the big picture and ask a couple of questions. Firstly, “what’s the goal of matchmaking?” If you ask most people, they’ll tell you “to create fair matchups”. What’s really important is something a little more primal. “Fair” is not the goal – it’s the means to the end, and that end is creating fun games. So our goal for casual matchmaking is to do just that – create games that are fun. The key drivers of fun in TCG matchmaking are:
- Fairness. It’s the feeling of fairness that matters the most. If the two players have similar overall play skill, similar experience levels, and similar access to cards, there’s a better chance that both players will feel that the game is fair.
- Variety. If you play against the same deck 5 times in a row, that’s not fun for you.
- Luck. If you lose to luck (energy screw, random effects), the game feels less fun.
Now, the second important question: “Who is casual play serving?” We have tournaments to scratch the itch of high-level competitive play. For everyone else, casual play is about being able to pick up a deck and play straight away. There’s three types of players we need to aim casual play at – New players, casual players, and tournament players:
- New players. Once you finish the tutorial, your first experience of the game is going to be in casual play. If that experience isn’t fun, you’re not coming back.
- Casual players. Kind of a self-fulfilling prophecy there, right? If you identify as a casual player, you might dip your toe into a league or tournament occasionally. You like to be competitive. But competition isn’t your primary goal; your primary goal is to have fun.
- Tournament players. If you’re a tournament player, you spend time in tournaments. You also want to practice for tournaments. And the casual play system should let you do that.
We’ve set our goal of fun, and segmented our players. Now, we have to figure out how to meet those goals.
Let’s get the easy ones out of the way first: Variety & Luck. We can’t do anything about in-game luck via the matchmaker. We’re going to have to handle that through game play (things like the smart shuffler help). Variety, we can definitely help with. We’re a digital TCG, so that means we know the last few decks you played against. We can make sure you get a good variety of games, no matter what your level of play.
When we look at the rest of our factors – skill, experience, collection size, and whether you’re a new, casual, or tournament player, there’s a common thread to all of them: Level of success. The more skill you have, the more experience you have, the better your collection, the more success you’ll have – better league performances, better tournament results. The same is true for new players vs tournament players – a new player by definition has no success, a tournament player will have a least some.
Our casual matchmaking system measures exactly that – success. We’re using a point accumulation system. Each month, you accumulate points through casual play, league play, and tournaments. Only your best finishes each month count towards your monthly rank – there’s no grinding for rank here.
Your monthly rank runs from 0 (low) to 30+ (high). Winning is the only way to increase it, and there’s no way to decrease it – there’s no penalty for playing and losing. If you stick to casual play, you’ll cap out around rank 10. If you play leagues, you can get up to rank 20. To get up to higher ranks, you’ll have to play (and do well in) tournaments.
When you play a game, you’re matched based on your historical rank. This is the highest monthly rank you’ve achieved, -2 ranks per month since you achieved it. The historical rank measures your overall level of success, discounting month-to-month variations.
We’re always looking to build Nova Blitz in a way that makes the most sense to you, so if you have any feedback on the matchmaking system, let us know on the forums!