The “skill-based matchmaking” backlash

men gaming on personal computers

I came across a Washington Post article from May of this year that presented a nice summary of the simmering backlash against “skill-based matchmaking” (SBMM), and it became a good writing prompt for me to organize my thoughts on the topic.

I think most players will agree that matchmaking is one of the biggest benefits of modern online games – versus local multiplayer (be it physical board games, arcade halls or pre-Internet PC/console games) – the promise of an infinite number of players ready to play with you, and conveniently at (almost) any time and (almost) anywhere. “Skill-based” is simply the common default prioritization of the matchmaking algorithm, and it stems from a very utilitarian argument – all else being equal, and taking the long-term view (assuming that the players want to play the game repeatedly), putting players of approximately equal-skill together in a match will output the most satisfaction / happiness (utility) of all players combined.1

What makes matchmaking not live up to its promise in reality (from players’ eyes) is due to various factors that it cannot fully accommodate:

  • At the extremes of the player-base distribution, the player population is small enough that matchmaking eventually inevitably great concessions to find a match. (Even with widened search parameters, a top-ranked League of Legends player could still wait upwards of an hour to find a game.)
  • The player ratings used for matchmaking may be grossly inaccurate due to fake new accounts (“smurfing”). It’s not just the streamers in the Washington Post article that want to play against lower-skill opponents, so that they can put on flashy plays – many people create new accounts to do exactly this.
  • It’s impossible to know (and account for) player intent in advance – is the player looking to climb the ranked ladder tonight, checking out a newly released hero, or just wanting to let off some steam with friends? There is also the synergy or mismatch of play-styles that could tilt an apparently fair match.
  • Similarly, random events during the game, such as a network spike or ill-timed phone call could easily derail the outcome.

To make matters worse (from the perspective of understanding how skill is measured and represented), it is now common for developers to intentionally distort the ranked ladder system by infusing it with a progression element. The Hearthstone ranked system is a great example of this2: aside from the very highest Legends rank, the system is inflationary in terms of stars output, so with enough games played, most players would naturally be rising up through the ranks. This would be what the Washington Post article referred to as “engagement-optimization”, at the macro-sense: players can make progress through sheer effort, not improved skill, and thus it encouraged more play. Most players would probably agree that this is a worthy trade-off – the added sense of progression feels better, whether they realize what’s going on or not – but it further obfuscates the conversation around “skill” (and thus SBMM).

Unfortunately, the Internet has been great at fostering conspiracy theories on all kinds of topics, and SBMM is no exception. Last year I was quite saddened reading some of the Chinese gamer discourse around League of Legends: Wild Rift (since I worked on it for a number of years) – there was a lot of griefing towards the ranked matchmaking, and players were vividly describing all sorts of scenarios (to avoid) where they were adamant that the system would “reward” you with a soul-crushing lose-streak.

It’s also worth noting the likely general player fatigue with SBMM, now that it is so prevalent. Players know that this is a PVP “treadmill”, and some may be less interested in the grind (and would rather seek more novel experiences).

Thankfully, there are already some design or technical breakthroughs that can break the convention here. For starters, PVP games with asymmetrical designs – PUBG‘s last man standing setup, or Dead by Daylight‘s 1v4 approach – already break the dreaded “50% win-rate” expectation, and the Battle Royale formula has rapidly become a staple game mode across many genres.

A second, and (to some) more controversial approach, is the utilization of bots – as in, pretending that the player is facing other real players, when in fact they are playing against bots – to help with “engagement optimization”. For example, when a player is on a losing streak (and perhaps predicted to be at higher risk of churning), games like Honor of Kings will give players a fake PVP game (all players on the opposing team are bots) to break the streak. The fact that this is obviously a bot game does not seem to bother most players – they might make fun of the game (and in doing so feel smart about themselves, as they can see through the facade), but a win is still a win, and breaking the streak certainly helps with reducing “tilting”/”inting”.

Some developers probably frown at this practice – it feels like lying, and breaking some sort of an implicit promise made to players that the matches will be fair and that of course you are playing against real players. I used to be in this camp – now I’m a lot more relaxed about this topic; I’d say now that this is contextual and there’s probably broad upside in utilizing bots. There are plenty of games where bots are demonstrably better than humans – in go, or chess, bots have long been able to beat even the best human players. So in theory, there should be plenty of opportunity (even if strictly for “engagement optimization”) to widely utilize bots to provide the “perfect” match for human players, with bots as partners or opponents. This has the side benefit of solving the “cold start” or “minimum viable player-base” problem for new games; combined with asymmetrical designs like Battle Royale, even mediocre bots can greatly alleviate the matchmaking needs without breaking the immersion for players3.

  1. Before the advent of matchmaking, players had to somehow manually discover other players to play with, often via waiting in public game lobbies (where one can host/join games). In these circumstances the friction to get a game going was high enough that players gladly overlooked the quality of the match – I’ve sat through many lopsided games of DotA, and my Counterstrike days mostly consisted of rounds of fy_iceworld rather than the “real” defuse mode.
  2. It is by no means the only game that does this – its implementation just happens to be very transparent.
  3. As a thought exercise – the average player in PUBG probably only encounters 1-5 other players in a typical game – given the typically mid-long engagement distance, and the size of the map, players probably couldn’t easily discern bots (unless they had very obvious behavioral patterns) even if there were 90 bots to 10 real players.

F.I.S.T.: Forged in Shadow Torch (2021)

F.I.S.T.: Forged in Shadow Torch is a Metroidvania game made by Shanghai developer TiGames, and released first on PlayStation recently (coming to PC in future). The team is about 20 people.

With a Metacritic score of 81, this game is in my opinion a good example of a new breed of Chinese games that are successfully establishing a beachhead in the premium console space. And now it’s not so far-fetched to envision a future where Chinese developers can ship successful $70 AAA titles cross-platform, competing with the biggest console franchises.

I’m not heavy into this genre, and during my first hour with F.I.S.T. I was not too impressed. I didn’t like the grimy dieselpunk art style, and the starting weapon, the eponymous giant fist felt too slow. At this particular moment, I felt I was playing the game more due to professional curiosity (and a natural desire to support a Chinese title).

But the game does open up over the next few hours, as you unlock new abilities, including traversal abilities like double jump and wall jump that are staples of the genre. (I would argue that perhaps these abilities can be unlocked even earlier – at the cost of a more accelerated learning curve for players new to the genre.) And once you acquire the second weapon (out of 3 total), the game’s combat system fully reveals its deep combo-chaining potential (seemingly inspired by action games and fighting games).

Probably around the 10 hour mark of my playthrough, I was fully hooked on the game. I felt compelled to explore every corner of the map, and practiced every boss fight like how I would approach a Soulsbourne game. The game is quite hard – there were few boss fights that I completed in 1-3 tries, and many took me practicing up to an hour to crack.

I ended my first playthrough at the 26 hour mark. I still didn’t care much about the game’s narrative – but I was completely sold on the combat and level design. There are some really fun and intuitive puzzle elements to the levels – an area focused on puzzle gameplay that unlocks very late in the game is especially memorable – and I was impressed by the mileage that the level design got out of a single mechanic.

What’s most impressive about the game – and I’m paraphrasing a line from a Chinese review I had read – is that I don’t need to go out of my way to hype up this game because it’s made by Chinese devs. The game’s quality speaks for itself, and while it’s maybe not at the very peak of the Metroidvania genre, it is a very competent entry with a super-rich combat system. The production feels very mature and there doesn’t seem to be many rookie mistakes (I will complain about the font-size feeling too small for couch-play).

Death’s Door (2021)

Death's Door

I played through Death’s Door on Steam this past week. It’s a highly enjoyable action adventure that lasts about 10 hours, and to my surprise it was made by a 2-person studio (Acid Nerve – the full game credits list 8 people).

To me, the game is heavily inspired by Soulsborne and Zelda games, presented in an isometric camera view. The eponymous doors (there’s lots of them) function quite similarly to bonfires, resetting the game world whenever you go through them, and also acts as a teleportation device to switch you to different locations / levels. (The doors also reminded me of Pixar’s Monsters, Inc. franchise.)

Like Dark Souls, the level design has a strong emphasis on “connectivity” – as you explore a new area for the first time, you’ll repeatedly unlock shortcuts that take you back to the beginning area (and close to a strategically placed door). The levels are intentionally maze-like, with lots of winding pathways and verticality – for example, to access the cliff on top of you (where there’s a collectible), you might need to walk around a large section of the level. In addition, sections of the level are completely inaccessible (usually, rooms with juicy secrets) until you’ve unlocked some later abilities to your character – this is clearly meant to make the levels have repeat exploration value, as you come back to hunt for specific collectibles.

With these elements in unison, the game could feel like a chore sometimes – you could be lost (“how do I get there again?”), or just frustratingly trying to figure out how to access a secret area you’ve spotted, with no feedback of whether that goal is currently achievable or not. But these are minor gripes, especially considering that it is trivial to search online the solutions to the game’s secrets & puzzles – indeed, it took great restraint for me to not open YouTube during the majority of my playthrough (at my age, if I can’t figure out the solution to something in a game in 5 minutes, I usually start searching online, as I feel I’m “wasting time”.)

The game’s combat is simple (in mechanics complexity) but quite robust:

  • You have a light and heavy melee attack (the heavy attack can be charged up to be even stronger).
  • Melee attacks charge up your energy bar, which can be consumed as ammo for your 4 ranged abilities (unlocked over the course of the game – you start out with a basic bow / arrow).
  • You have a dodge with invulnerability-frames.
  • You have 4 health (initially, can be upgraded to 6 through collectibles) – each enemy hit always cost 1 health. There’s very limited health regen available in the levels, so there’s the Souls-like tension of trying to push to the next “break” in the level (usually unlocking a shortcut back to the nearest door).
  • Enemies can hurt each other – AOE explosions and projectiles can be utilized against other enemies. You can knock-back projectiles (e.g. a fire bolt aimed at you), and the ping-ponged projectile will damage other enemies. You can also trick enemies into environmental deaths (rolling off a ledge; walking into a laser). This creates a fun mini-game.

There’s about 10-20 types of regular enemies (your usual mix of melee / ranged / elite enemies), and perhaps 6 boss fights. Combat is about learning and reading the telegraphed movesets of each enemy, and taking advantage of their vulnerability windows. Interestingly, the game does not have HP bars for enemies (most enemies die in 1-3 light attacks anyway), but rather communicates damage state visually (blood stains on the ground, red VFX cracks in the enemies’ bodies). This ups the tension in boss-fights as you don’t have full insight on how many additional hits you need to land.

I would say the combat is not difficult (the windows of opportunity are overall quite generous), but they require discipline. I also liked some clever bits of the moveset AI – for example, there’s one fight where the enemy will always use a leap attack when you try to aim a ranged attack. I was a bit frustrated at the final boss fight (not the “True Ending” fight, the boss-fight that leads to the credits scene), I felt it was a tad overlong and felt repetitive (I hadn’t unlocked any health upgrades at the time, and I felt it was a bit punishing on 4 health). It reminded me of an extended platforming sequence in Ori and the Blind Forest (which to be fair was much more rage inducing).

In all, I felt this was a great game made by a surprisingly small team, especially considering how polished the game feels, and how good it looks. It is a good reflection of the state of the industry, where small teams through smart creative decisions (stylized art, re-usable design) and tight scope control can deliver such quality experiences.

Hades (2020)

I’ve had an interesting relationship with Hades. I purchased in Early Access in late 2019, on the Epic Games Store, when I felt it was already very hyped. I played about 20-30 runs (no clears) on 2 different saves (1 at work and 1 at home – this was before they integrated Epic Game Services for cloud saves), and moved on to other games.

When the game moved out of Early Access in 2020 – I was quite surprised at the big reception it had, perhaps even more so amongst game developers (at least those that show up in my Twitter timeline). This revealed a bias I had developed: I had subconsciously discounted the marketing opportunities of the “real launch” and the subsequent (well-deserved) critical acclaim.

I would though, love to see an updated sales figure, which would help better quantify what portion of lifetime sales are from “Early Access”.

Somewhat related: as of Mar 10, Valheim has sold 5.7M copies in 5 weeks of Early Access on Steam; what are the odds that it will have another massive adoption bump when it removes the “Early Access” label?

In any case – I got back into Hades back in January, with another fresh save. And I was truly hooked. As of this writing, I’ve spent roughly 200 hours, and have completed all achievements (it’s been a long time since I cared about doing that in any game – the last game I aimed for 100% was Red Dead Redemption a decade ago). I’m still doing 1-2 runs per day, mostly trying to beat my speedrun personal best – which, as of Mar 17, is 9m35s (the world record is 5m57s; my very first clear was over 40m).

My personal best time in Hades

Design systems

Let’s talk about the design systems that Hades employs to deliver a 200h gaming experience.

Within a “run” – leveraging randomization to create a unique experience every time:

  • A full “run” consists of 30+ rooms across 4 biomes1, with 4 boss fights.
  • Randomized room types – a “run” is constructed of a random collection of rooms (with some assembly parameters) :
    • Majority of rooms are combat oriented, with some variation in enemies composition: standard enemies rooms, mini-boss rooms, boss rooms. There are also some special objectives that can be applied, for example “survive 45s” or “compete with Thanatos to see who has more kills”.
    • Non-combat rooms: shops, fountains, story rooms (one per biome in the first 3 biome), Chaos Gates (which gives players the chance to take on some additional risk for some reward).
    • Parameters: typically, biome 1 has 14 rooms; biome 2 is 10 rooms; biome 3 is 12 rooms; the last room per biome is the boss room, while the preceding one is a shop.
  • Crafted room layouts and runtime enemy spawn behavior:
    • Rooms are picked from a handcrafted pool (not procedurally generated).
    • There are a (large) number of spawn points from which enemies can spawn; enemies spawn in waves; and spawn location is influenced by the player’s location.
    • The result is that even when the same room is played repeatedly, the flow of combat is rarely exactly the same.
  • Randomized room rewards – after the player completes a typical room, they are presented with 1-3 choices for the next room, with the corresponding reward (and sometimes indication of room type) displayed:
    • “Boons” are usually the most sought-after, and directly shapes a player’s build each run. There are 8 “standard” Gods that offer roughly 150 Boons in total, including 28 “Duo Boons” (which require any 2 of the 8 Gods as prerequisites, 8*7/2=28). There are also 2 special Gods, Hermes (with a set of Boons unrelated to other Gods), and Chaos (from Chaos Gates, who grants bonuses after inflicting debuffs).
    • “Hammer upgrades” significantly alter your weapon’s effects, providing another layer of build customization.
    • Other items that impact the run: “Poms”, which level up your Boons; gold, which can be spent at the shops in the run; “Centaur Heart” which grants bonus HP.
    • 4 meta-game currencies for permanent progression (which can impact a run, after certain meta upgrades).
  • Heat system – as a significant end-game system, the Heat system offers players a variety of choices to increase the difficulty and modify a run’s experience, for example:
    • Quantity of enemies, their HP, damage, attack speed.
    • Armored enemies have special additional effects.
    • Boss fights are modified and upgraded.

Outside a “run” / permanent progression systems:

  • “Mirror of Night” – this is the main permanent power progression system, with 12 passive ability slots, and 2 choices per slot. These passives unlock a lot of power very early on – for example the 3rd ability Death Defiance grants 1 extra revive per upgrade.
  • “Fated List of Minor Prophecies” – this is a quest system with 50+ unique quests. A typical quest is to acquire each Boon of a God at least once, and as such, quite directly encourages exploration.
  • Weapons and Weapon Aspects – starting out with one weapon, players eventually unlock 6 different weapons, and each weapon has 4 “aspects” (variants with different passives or movesets).
  • Keepsakes and Companions – “Keepsakes” are items that grant passives during a run (for example, the first keepsake listed grants bonus HP). “Companions” are a special type of keepsakes that grant a consumable active (e.g. 5 charges of an big AOE damage spell). Both are gradually unlocked by meeting with the game’s vast cast of NPCs, and progressing the narrative. In the end-game, keepsakes are integral to players crafting their desired builds in a run, as after each biome you can change your equipped keepsake, so there’s a light min-max game with keepsake management.
  • Achievements – this is the distribution platform (Steam / Epic etc.) achievements system. Functionally it overlaps with the quest system above, but provides a different set of goals. In my experience this list was easier to finish than the quest system.

I realize this is a pretty dry list to read through. But there are a few things that jumped out. The first is that these systems are quite independent, and as a result multiplicative in their impact on replayability. The second is that each system is scalable in isolation, and once scaled up in content, gives a nice boost to overall replayability. I suspect this pattern is partly a reflection of the game’s public development in Early Access: new systems were layered on over time, and content per system were also added over time. (I haven’t gone back to check the patch notes to validate this guess.) In any case, this is an elegant set of systems, and collectively the game feels surprisingly content-rich given the small size of the dev team.

Experiential recap

Recapping my 200 hours with Hades so far, the game has consistently given me a smooth experience with clear progression goals to pursue.

In the very beginning, the game is primarily about exploration: pushing deeper into the biomes, overcoming the major bosses for the first time; seeing new Gods and their Boons; trying out different weapons. At the same time, the early meta progression was generous and directly lifting the player’s power, which meant the player was making deeper runs even without necessarily growth in skill (but usually the 2 were organically intertwined).

At some point, I ran into the final boss Hades for the first time (and beat him!). This significantly moves the narrative forward – without giving away too much, this is why I embedded the soundtrack at the top. The narrative momentum compelled me to keep playing – I needed to find out what happens next, and with every full clear, I learnt a bit more. I can’t emphasize enough how surprisingly strong the narrative hook was during this phase.

After beating Hades enough times, the main narrative concluded. At this point, I kept playing because there were still more gameplay content to experience – weapon aspects to unlock and upgrade; and the Heat system which rewarded the rare currencies needed for weapons. There was also a narrative epilogue, that essentially required grinding more conversations with NPCs and increasing the relationship with them.

There were also still quests and achievements to chase, and interestingly, chasing these quests often meant playing sub-optimally, for example picking a Boon option I never played before (to move towards completing a quest), even though there’s a more powerful option.

As an aside, after about 50-100 hours with the game, I switched my input device from keyboard+mouse to ps5 gamepad. I was motivated to do so because I was seriously hurting my wrists playing this game (the game’s frantic spamming is quite excessive). One lesson of this switch-up: at least in my case, understanding of game state mattered a lot more than execution ability, as I did a full clear in my very first gamepad run, despite noticeably fighting the controls as I tried to retrain muscle memory.

Up to this point, I hadn’t really done any theory-crafting, and was not thoughtful about builds. After venturing into some Youtube content, I found myself accidentally diving into speed-running. The 2nd 100 hours was thus spent on a mix of farming Heat levels, pushing high Heat to accomplish a challenge, and dabbling in speed-running. I found that I liked the game enough to always give myself a new immediate goal, just as I was getting tired of the grind.

Speedrunning

A section about speedruns specifically. Hades has an active speedrun community, and the game seems aware of the fact that speedrunning is a key source of community content (UGC). There are some nice nods in-game towards this: for example, right after beating your own fastest time, your character will say “I bet I can go even faster”.

As an aside, I’m the type of player that never theory-crafts builds, and rely on “netdecking” (to borrow a CCG genre term), i.e. referencing the community-discovered meta builds and strategies. So my venture into speedrunning was accidental, out of a desire to understand the meta. Once I tried executing some meta builds, I got some very addictive positive feedback as I saw my clear times dramatically decrease. At least for me, this was a very enjoyable loop, and I see it as a type of engagement lever for a pure PVE experience.

More broadly, I’ve found it interesting how the Hades speedrun community has kept engagement up, by constantly adopting new speedrun formats. What do I mean here? The main Hades speedrun leaderboard is the “Unseeded AnyHeat”, which translated to plain English is a competition to see who has the fastest time for a single clear (based on the in-game clock), at any difficulty, without manipulating the run’s RNG seeding. However, this leaderboard has gotten quite stale, as the meta has largely been solved (there is one particular weapon that is clearly the fastest), and the current best record has already been set to under 6 minutes.

If you are a speedrunner / video content creator, trying to improve your standings on this leaderboard is an effort in diminishing returns. Instead, you could switch your attention to the other leaderboards, for example, the high Heat leaderboards, or “Fresh File” (fastest time to beating Hades for the first time, from a brand new save), or 3 Weapons (3 consecutive clears, with 3 different weapons). These different leaderboards spawn their own unique metas. And it’s not hard to imagine new formats being invented – as long as there is a common interest in playing the game, and competition based on it, the community can make up new rules to play by.

In the grand scheme of things, this community is quite niche. The amount of people who are good enough, and care enough to record and submit their speedrun videos for this game is probably just a few hundred to thousand. But I think there are some useful insights here for game developers making PVE experiences and worried about long-term engagement.

  1. For those familiar with the game, I’m cheating a bit as I’m mentally treating each of the branches in Styx as 1 “room”.

设计师的执念

把最近读到、听到的一些东西串起来写篇感想。

最近在听的一档游戏播客,接连两期都是很赞的访谈。先听的一期是访谈Control的Game Director Mikael Kasurinen。Game Director,我想通常翻译为游戏总监,不过我认为游戏导演在这里更为贴切——Kasurinen在被问到职责时,大意说“我是捍卫游戏愿景的人”。

Control是去年相当出彩的游戏,我写过英文点评。Kasurinen整个访谈最令我回味的是,他提到在项目一开始,他就提出了游戏里一切物件皆可被玩家操纵的核心概念,这给技术团队带来了大量的挑战。我想,当时团队大概率是有反对声音或者质疑的,技术同事很可能会问,“真的需要所有场景物件都可被抓取吗?为什么不能是一部分定义好的物件?这个玩法到底是怎样的?”

的确,这里很容易被扣上“策划需求不明确”的帽子,尤其是这样一个似乎找不到参考玩法的主意(并且,也只是玩家若干技能中的一条)。对这样一个需求兴师动众,似乎性价比极低。然而Remedy的这个团队就是把它原原本本地做了出来,把连带的各种细节雕琢到了极致。

我不知道这个团队的氛围是怎样的:这个需求是导演以强大的意念强压出来的,还是团队从一开始就有共鸣去给自己挖这样一个坑。仅从结果看,他们显现出了我标题所谓的“设计师的执念”。

听的第二期节目是访谈Valve的设计师Robin Walker,他参与了VR游戏新标杆Half-Life: Alyx的设计。Walker有几段分享很有见地。

他提到了团队为了找到VR独有玩法的一个研究过程:他们早期做的一件事,就是把当年Half-Life 2的资源在VR场景里加载出来,然后邀请玩家试玩,他们去观察玩家的行为。他们注意到,玩家会走到敌人很近的地方,去全方位近距离观察角色模型——这是在非VR中玩家少有的猎奇行为。于是,团队就试图以此作为启发去打造一个体验,结果是一个玩家不得不近距离接触的boss。他说这个boss战,在很长的时间里面都是有严重问题的,他们也差点放弃了。似乎又是一处“执念”的例子。

他还有一个很实在的项目观点,那就是项目做到了前中期,其实这个阶段你开发的内容越多,离终点就越远。(开辟的战线越多,打磨的工作量就越大。)

Walker还说了这样一句:novel game design is a search problem. 新奇的玩法设计是一个搜索问题。也就是说,新鲜玩法是要通过大量尝试搜寻出来的。他说这是为什么Valve坚持开放的生态:有更多的modder和独立团队去创作,就有了更多的实验尝试,也就离穷举出下一个新鲜玩法更近了一步。(这的确是Valve的游戏创新理念——他们绝大多数的项目,都是把社区里的团队转正而来的。)

他这个讲法,也让我想到了另外一个观点。我前阵子终于读完了Stephen King那本讲写作的书On Writing。King认为,故事不是构造出来的,而是像考古挖化石那样慢慢挖掘出来的。也就是说,故事本身是客观存在的,创作者是在按照蛛丝马迹把这个故事搜寻出来。听起来有点玄学,但和Walker那个搜索玩法的描述不谋而合。