Hello, and thanks for stopping by for the this week’s entry in my Weekly WaveShine series! In this week’s entry you can look forward to:
What I’m Reading: Ratings, Rankings, and Tournament Systems
This week, I was able to finish reading and taking notes on Chapter 14 of Game Balance by Ian Schreiber and Brenda Romero. In particular, I covered:
Tournament Melee: Big House 5
Some footage from a tournament series I’ve played in. Important to note that I am not in this clip and that both of these players are much better than me.
This section covered a few of the issues frequently encountered when designing a rating system. The most prominent of these issues is that somewhat depressingly, there will always be players that seek to exploit the system and gain an unfair or unintended advantage over their opponents. Briefly, the issues covered included:
In a perfect rating system, then all players at a particular skill level would have a (nearly) constant rating, assuming there aren’t any major changes in their level of skill. In such a scenario, then for a 1 v 1 game, this rating system would predict that a player who would gain X points for winning a game against a specific player and lose Y points for losing to that same player would have a probability of winning such that P(win) = Y / (X + Y). What’s interesting to note is that when Y = 0, the player has 0 probability of winning and will correspondingly lose 0 points for doing so. Similarly, when X = 0, the player has a 1 probability of winning, meaning that their victory is guaranteed and that they will be awarded 0 points for winning.
While rating systems may hold up as win/loss predictors on paper, the outcome of most games is affected by other sources like:
This analysis has a limitation that you can’t actually know a player’s “true skill” rating. What you can do is look at actual win/loss rates and compare them to the predicted win/loss rates based on a rating system. By looking at carefully selected subsets of data, you can tell if factors like character selection, teammate familiarity, or other factors cause the error between expected and actual win rates to diverge from the average error.
While rating systems can be helpful from a matchmaking and analytics perspective, openly displaying player ratings has historically been found to be demoralizing for players. This is because most players are not in the top 10% and are in fact, mediocre. Furthermore, growth and improvement come slowly, so constantly seeing a mediocre, unchanging number can negatively affect player retention. This is where rankings can be helpful. They can obfuscate exactly “how good” a player is while providing a sense of progression. Some factors to consider when designing a ranking system:
Tournament systems are often used to determine the best player amongst a group of competitors, and the specific design of the tournament system can affect perceptions of fairness and overall player experience. Some of the formats covered included:
Unreal Side Project Update
I promise that I’m still working on this! It unfortunately keeps losing time to other things. Last week, it was a technical design test, and this week, it’s been a resume rework. That being said, I’m continuing to clean up my implementation of free camera movement and am clarifying the roles of each component in the code architecture. The involved systems include the Enhanced Input System, the Gameplay Ability system, custom Camera Actors, the division of responsibilities between my custom Player Controller and my custom Game Mode, creating an overridden Movement Component, and programming a camera state system for maintaining what particular mode the camera is in at a given time. As you can see, there’s quite a bit there and lots of places for things to go wrong (which they definitely have in all sorts of fun and interesting ways). Once I’ve gotten everything cleaned up, and commented clearly, I’ll be able to provide some visual examples, a breakdown of the different responsibilities of the architecture in place, and probably a diagram to make it all a little bit clearer. Definitely look forward to it! Or don’t. I’ll be working on it anyways. Thanks for reading, and have a great week!