November 26, 2018

Hunt’s New Skill-Based Matchmaking System Explained


In our latest update we deployed a new matchmaking system. But since that update went live, we've had a number of questions from players about how it works. To clear up any misunderstandings on the subject, we're going to take a closer look at how it works.

The first important thing to know is that the new system is flexible, and we can feed multiple parameters which will compute a single value that will be used to group players. At the moment we are using one parameter: player vs player performance (aka pvp_rating). This rating is calculated similarly to the ELO system in chess. So when two players have the same pvp_rating, each has, statistically, a 50/50 chance of winning a showdown between the two of them. So if Player A has a higher pvp_rating than Player B, that means that Player A has a statistically higher chance of winning in a one-on-one showdown against Player B.

As players encounter each other during live Hunt matches, their pvp_rating will continue to evolve. If two players have faced off against each other, and one is killed, the player who is killed will lose rating points, while the player doing the killing will gain rating points. The amount of points being added or subtracted depends on the difference between the players' pvp_rating at the moment of the kill. A player with low a pvp_rating who kills a player with a high pvp_rating will gain more points because they clearly overcame all the odds against them, demonstrating considerable skill. A player with a high pvp_rating who kills a player with a lower pvp_rating will gain less points than the player in the previous example because the odds were already in their favor.

During the first ten ranks of Trainee Mode, new players are not given a pvp_rating. This allows them time to learn the game's mechanics before finding themselves matched against veteran players. A pvp_rating is assigned starting at rank 10.

The system works continuously as each kill is made. As a player's pvp performance improves, their pvp_rating will increase, and they will be matched up with players with a higher pvp_rating.

How does it work for groups?

For duos, the pvp_rating between the team members can differ widely. We take this into consideration by using a coefficient for duos that accounts for the difference of skill between them and the rest of the players.

How do you group players in a match?

During the matchmaking phase, the system attempts to group players with a similar pvp_rating queuing in the same region for a match. For this purpose, the system divides pvp_ratings into brackets, which are different per region and are manually defined to provide a good balance between matchmaking time and pvp_rating difference. The matchmaking system bases its search range on what it can do during the maximum matchmaking time that we have defined (currently 5 minutes) to optimize finding as many players as possible.

What does anti-teaming do?

Anti-teaming randomizes players in consecutive matches. In order to work, the anti-teaming system needs to wait for a defined number of players before randomizing players into sessions. Because the system has to wait for more than 10 players, this can increase waiting time. This has the benefit of preventing players from synchronizing by queuing up at the same time. We enabled anti-teaming for testing purposes, and we are monitoring its impact and effectiveness. We don't want anti-teaming rules to negatively affect the experience, so we may make tweaks in the future depending on how frequently it gets used and which missions are impacted by it.

Don't own Hunt yet? You can buy Hunt now on Steam. You can stay up-to-date on the latest from Hunt and leave us feedback on Discord, Facebook, Twitter, Instagram, and Steam.



We use cookies on this website to improve your experience, analyse our traffic and integrate with social media. You may adjust your cookie preferences by clicking “customize”. Please find further information in our Privacy and Cookies policies.

CustomizeRejectAccept
Please log in for

Support