Chinese app stores ecosystem, revisited

selective focus photography of person holding turned on smartphone

Several years ago I wrote about how China’s Android app stores ecosystem took a different path after Google’s exit. It’s time to briefly revisit this topic, thanks to some recent news.

The first news is related to Dungeon & Fighter Mobile’s China release. It’s been widely reported that the game generated $270M of iOS gross revenue in its first month, and Chinese media have further guessed a staggering RMB 5B ($690M) first month combined gross across iOS and Android.1 With this massive launch as the backdrop, Tencent then decided to pull the game from certain Android app stores – players will instead have to download from other stores, or directly from the game’s official website (i.e. sideloading, the behavior Epic had wanted people to adopt for Fortnite).

We can speculate the rationale behind this move. It’s probably a combination of the following factors:

  • The game is primarily targeting legacy Dungeon & Fighter PC players, who are tolerant to jump through hoops to play the game – in other words, there is little to be lost from reducing the distribution footprint;
  • The launch metrics emboldened Tencent to push for higher margins, even at the expense of new user acquisition.2

This is not the first game to get more selective with Android app stores in China. The fragmented landscape and the various tricks/schemes played have always incentivized developers to have a mercurial or even hostile attitude towards the store vendors. But combined with the next piece of news, I wouldn’t be surprised to see developer – store relationships further splinter.

The second news is about Huawei’s HarmonyOS(which started off as an Android AOSP fork), and specifically, the next major version HarmonyOS NEXT scheduled for Q4 2024, which will officially drop Android compatibility. This is a fascinating development. Most people (myself included) would say the mobile OS wars have long been over – and both iOS and Android won – so it’s intellectually exciting to see a dramatic new entrant.

Huawei has a big uphill battle, but it certainly has some advantages as well, and the current Android-compatible HarmonyOS has established a foothold already – Counterpoint Research estimates it has 17% OS share in China, slightly ahead of iOS (16%), with the remaining majority being Android. Now of course, dropping Android compatibility is still a huge gamble, but at least Huawei can present a somewhat legitimate sales pitch to developers given its market share.3 So far, Tencent has been a notable holdout, and apparently there are negotiations ongoing about porting WeChat (but I’d assume also the tentpole/cash-cow games).

  1. Using a rule of thumb 60/40 Android/iOS split – not accurate, but not a bad ball-park guess.
  2. As an aside, I’m a bit surprised at some of the analysts’ bullishness on the title. The first month figure is certainly staggering – even by China market standards – but the title is a unique snowflake (given its years-long regulatory limbo) with lots of pent-up demand. Its performance in Korea (a big sharkfin graph) is certainly not inspiring from a longevity perspective.
  3. just look at this amusing headline today from TechRadar – “Huawei succeeds where Microsoft failed miserably — HarmonyOS now on almost one billion devices, and China’s largest mobile phone manufacturer has completely eliminated Android”.

The futility of predictions (and a path for seizing success)

I’ve now worked in the games industry for well over a decade. And with the accumulation of experience (and hopefully some wisdom), I’ve formed a few convictions. One thing I feel strongly about is that “hits” (massive successes) are fundamentally unpredictable.

What do I mean by this? The industry’s biggest hits (in terms of engagement or revenue, and regardless of platform) are often surprises out of left field. Helldivers 2 and Palworld are two examples just in the past two months; from the past 5 years, Monopoly Go!, TFT China (Fight for the Golden Spatula), Among Us and Fall Guys come to mind; and if we go back to when I was a newbie to the industry, Minecraft and League of Legends both seemed to come from nowhere. After the fact, people can come up with plenty of rationale to backwards justify each of these cases, either trying to look smart (”it wasn’t a surprise to me!”) or being driven by an innate desire for attributing causality. But before the fact, if one were to analyze any of these games and try to assess a business case – I’d argue that the more you thoroughly analyzed the less you’d be able to confidently present a bullish case. Each of these cases was a low probability event.

Let’s take Helldivers 2 as a concrete example (I’m lovin’ it, and just want to talk about it). Its sales performance has blown by internal expectations. But pre-launch, there seemed to be little to be bullish about this title:

  • It’s competing in a crowded 3rd-person shooter market, and this is the first game from developer Arrowhead in this space (lots of execution risk on “table stakes” features);
  • To make matters worse, it’s made on a discontinued engine, Autodesk Stingray, further raising concerns of execution risk;
  • As a sequel title, the brand has little recognition; the sci-fi setting feels generic, and again, the competition is fierce (Halo, Destiny);
  • The co-op gameplay is punishing (mandatory friendly-fire), which suggests a niche audience and presents a challenge for onboarding and retention.

Post-launch, it’s clear that not only did Arrowhead nail the execution, but the gameplay also managed to capture the zeitgeist as a bit of counter-programming to modern shooter design conventions. And if you trace back to the original Helldivers, it’s “obvious” in hindsight that the team had already “found the fun” of the core game mode (albeit in a top-down camera-angle; and thus the design risk is not as big as it first seems). Furthermore, when faced with the unexpected success, Arrowhead managed to quickly overcome the server capacity issues, and thus sustain the momentum – this is an important feat that I’ll come back to later.

It’s not just that the “unknown” hits are unpredictable. Even for “sure-bets”, sensible analysts would likely be laughed out of the room if they made forecasts that actually lined up with the outlier results. Success is nonlinear, while the burden of proof in justifying a nonlinear forecast is insurmountable. One recent example is Elden Ring – FromSoftware had built up an impeccable record and a loyal fanbase prior to its release, so there was plenty of ammo to be bullish, yet the actual sales performance still shattered expectations (at least 2-3x internal forecasts). Going further back, it’s fun to look at Wall Street analysts’ forecasts for *GTAV* (probably the biggest “sure-bet” ever), and compare to the results.1

This is not a rant against analytics, or business forecasting. “All models are wrong, some are useful.” We need to remember that these are just tools to assist decision-making – “what needs to be true, to justify this amount of marketing spend?” The danger is to blindly follow the outputs of the models.

What I’ve found more interesting – and to make this post a bit more constructive – is to think about whether there is a better way to develop games, given that we know we have very little ability to make good predictions about outcomes. For starters, given the above discussion, it seems that we must allow the game to see the full light of day – no amount of confined player research is a substitute for a real launch and the potential surprises. I’d go as far as to argue, even in the cases where there is little organizational faith in a product, it should be allowed to launch – TFT China is one such example where Tencent launched it with minimal commitment and have been completely floored by its performance.2 This also means that the team needs to be able to cut their losses early, if needed; and that there needs to be a delicate balance between controlling the marketing budget and not starving the game of the minimal spend needed for a viable launch.

The next part is tricky. One thing that separates the outlier successes versus their peers is the developers’ readiness to solve the myriad emerging challenges associated with unexpected success. For example – Arrowhead’s performance so-far in tackling Helldivers 2 capacity scaling has been impressive, given this is the first time they’ve ever encountered such scale.3 And I’ve always felt that a big reason Epic Games leapfrogged PUBG with Fortnite was because they were perfectly positioned with the engineering know-how to quickly iterate and deliver a more polished and stable service. So ideally, the dev team has either the previous experience and/or has done some scenario planning in advance, so that they can better react to situations in real-time and not lose the momentum. But too much pre-planning can derail the development momentum as well, and the team could get paralyzed pre-solving problems that may never arrive. In hindsight everything is obvious – before then the team just has to make their bets and live with them.

In summary, I think I’m advocating for:

  • Don’t let forecasts dictate launch decisions;
  • Take real shots by launching games;
  • Build teams such that they have the problem-solving experience / skills to be responsive to the challenges of unexpected success.

This is by no means rocket science, nor is it the only way. But even when this seems to be the desired approach by an org, it’s very hard to actually practice it. There are a lot of needle-threading and judgment calls, which in hindsight looks either foolish or ingenious – “history is written by the victors.” But I find this ambiguity to also be the appeal of the craft.

  1. Even though many of the game examples I’ve used are premium games / AAA, I’ve seen the same phenomena in free-to-play.
  2. One typical push-back against this approach is the potential damage to the brand (in the case of a poor product). This is a real concern – Google now has an uphill battle with any new consumer product/service launch because they’ve launched and killed off so many (rather haphazardly). But this surely can be mitigated, by carefully managing the player expectations and the launch spend.
  3. I still remember that when I first joined Riot Games in 2011, the all-hands-on-deck situation was that the server tech at the time couldn’t keep up with the game’s growth, and this got to the point where the company had no choice but to make the painful decision to split the EU server into 2 servers to buy some time. (This migration itself took many months, and was painful and controversial in the community.)

2023 year in review

flare of fire on wood with black smokes

Previous yearly reviews: 2022, 202120202019201820172015.

Industry stuff

The global games industry had a peculiar year in 2023. Pandemic-delayed production resulted in one of the most stacked years in memory in AAA releases (and I’m ashamed to say my backlog is so long I might as well just declare bankruptcy). Meanwhile, mobile didn’t grow, and China arguably led the decline.

Sadly, layoffs were a major theme of the year too. In the west, the main drivers were over-expansion in the pandemic-boom (Epic) and the end of zero-interest fueled acquisition sprees (Embracer Group). The Embracer story was particularly depressing, because even during the buying frenzy it was highly questionable how operationally the whole strategy was supposed to work – and when it didn’t, it was the thousands of developers at those various studios who paid the price first.

In China, layoffs were also ongoing, with the Bytedance event late in the year being probably the biggest. What’s notable about the Bytedance layoffs is that it was mainly driven by the company’s shifting strategic priorities, rather than financial pressures or over-expansion per se. When Bytedance marched into gaming 4-5 years ago, it was driven by a desire to create a significant new source of revenue growth. Gaming has always been “core” to Chinese internet conglomerates (in contrast to FAANG), so the decision back then made strategic sense even if there were lots to critique about Bytedance’s execution plan. However, Bytedance has since discovered a new revenue engine in Douyin e-commerce, while the gaming initiative has been predictably slow to show results at a scale that is material to the company’s ambitions. So the strategic divestment of gaming assets reflects a desire by management to focus and shed distractions – and once again it’s the developers in the affected studios who are paying the price.1

Depressingly, as I’m writing this in January of 2024, we’ve already seen a bloodbath of new layoffs – Unity, Riot and Blizzard (to name just a few). The Riot news hits close to home, since I worked there for 8 years. To be honest, I was shocked reading the publicly released email that since 2019 – which happened to be the year I departed – the company had doubled in size. The reason for my shock is simple – I felt back in 2019 the mood of the company was already “let’s be more fiscally disciplined and improve operational efficiency, since the new games outlook is uncertain”. Thus, it’s very hard to not point the blame at management, for either misjudging the big picture or not being able to fight back the institutional growth inertia (or both).

Moving on – the metaverse hype-cycle may have passed, but 2023 actually saw some tangible developments in games with platform ambitions. Epic unveiled UEFN to developers at GDC, and ended the year with a major expansion of diverse experiences in Fortnite – Lego, Rocket Racing and the Festival. Meanwhile, the “party-game as platform” war commenced in China, with Tencent launching Dream Stars in December in a direct head-to-head against Eggy Partyfrom Netease. Dream Stars released with a staggering (and almost comical) amount of features and game modes, including a UGC-platform that was already seeded with community-made content. As a small sample, the official game modes already include the classic Fall Guys race, an Among Us clone, a team vs team hide-&-seek mode, and a team death-match 3rd-person shooter mode.

Valorant finally launched in China; I’m unsure if it’s living up to expectations. Judging from PC cafe data, it’s a distant 5th in market share, behind the perennial top 3 of League of LegendsDungeon Fighter and CrossFire, as well as 4th ranked Battle Royale game Naraka Bladepoint. This may be more of a regional product-market-fit issue rather than any particular execution failures – mobile is just too dominant in China, and we may be past the days where a PC game can break out of its niche hardcore audience into true mass market (like League of Legends did over 10 years ago). At the same time, from some anecdotal figures I heard, Valorant’s revenue performance in China is quite strong.

One dark horse the past couple of years in China has been Battle of the Golden Spatula – this is the Tencent-made China-only mobile version of Teamfight Tactics (Riot’s take on the auto-chess genre). The story of this game’s journey deserves a proper account some day. Suffice to say there were not high expectations for this game initially – both Riot and Tencent only had a skeleton crew to support the launch. And it has outperformed since, frequently overshadowing the much bigger Riot-Tencent mobile production Wild Rift. By 2023, it has become a regular name in Tencent’s quarterly filings – a honor bestowed only to the very few titles that are driving significant impact to the corporate P&L.

One last China-related commentary – the big game teams seem to have consistently gotten bigger in the last few years. I feel this is a combination of the “industrialization” death march and the market uncertainty driving consolidation. As one anecdote, I’ve heard Dream Stars has over a thousand full-time devs supporting its launch (this includes the “game team” and also supporting resources pulled in.

Work stuff

Last year was a rollercoaster of emotions at work, coupled with a lot of change. The highs involved reaching a successful internal project milestone, and stepping into some new responsibilities that forced me out of my comfort zone. The lows were several unexpected people-related challenges. One was particularly stressful, and in hindsight a big test of whether we lived our culture or was just paying lip service. I’m thankful we passed that test with flying colors.

All in all, I think I grew a lot personally through the trials by fire, and the Shanghai teams and games did so as well. Hopefully there’s more things public to write about next year:)

Personal stuff

I want to say “back to normal” was the main theme last year. I’m not sure how accurate that really is. Sure, I traveled a lot more, both for work and leisure. (I even managed to take my better half on a trip abroad, just the two of us – I can’t recall the last time we did that.) And it seems everyone quickly forgot what life was like under zero-Covid; I was only occasionally reminded by the box of leftover antigen test kits in my living room cupboard. They were put to use again when I got my second infection in July.

One thing I should a tiny bit proud of – I’ve gotten into a semi-regular habit of rock climbing, thanks to all the Sunday afternoons taking my son to his classes. In the grand scheme of things I’m still an absolute beginner, but it’s been great challenging myself and my comfort zone. One memorable failure was a session where the gym was more packed than usual, and I was too afraid to make a fool out of myself on the wall to get enough reps in. I think I’ve made some meaningful improvements on this, though I’m still painfully self-aware some days.

Media consumed

I did a bunch of catching up on my American history last year. I read in order 3 books by Alan Taylor – American ColoniesAmerican Revolutions and American Republics. I then moved on to the Civil War, with Battle Cry of Freedomby James McPherson. I’ve since hit a total roadblock with the reconstruction and the gilded age through The Republic for Which it Stands, a much difficult read for me. I’ve just gotten back to it recently – hopefully I can say I finished it in the next yearly review.

In terms of film and TV, I did a lot of “Netflix and chill” last year (when I felt too fatigued to even play video games), and honestly there didn’t seem to be many memorable stuff (Blue Eye Samurai was great!). I do believe it was last year that I did a full rewatch of The Wire. Apple TV+ has some decent shows – I’m a fan of For All Mankind (which wins by sheer scale of ambition) and Slow Horses – but it doesn’t seem to have the quantity or the prestige yet.

Games – I sampled many games for work; one of the few games I finished was Final Fantasy XVI, which I played at home during my July bout of Covid. Diablo IV made me realize that I’ve always been a casual player of the franchise, and I bounced off it very quickly after its launch. I went back to Dead Cells and sunk a couple of hundred hours in it – I need to go back to it still since I haven’t finished 5BC difficulty yet. Towards the end of the year I picked up Warcraft Rumble – I wouldn’t say it’s a great game, but it perfectly served a need and I’ve played it almost daily since its launch.

Closing thoughts

This is a shorter piece than some past year’s, mostly due to a hectic January. I’d like to be a bit more disciplined about writing this year – otherwise this is going to be an annually updated blog (as opposed to a quarterly one) – let’s see how that goes…

Featured image by Pexels

  1. As an aside, last month I had lunch with some folks from one of the affected Bytedance studios. They were on a sales tour pitching themselves to potential buyers. (Bytedance’s general approach was – if you were in an R&D team, you would be laid off immediately; if you are in a live game team, the company would like to find a suitable buyer to acquire the game and the team as a package.) I have a lot of sympathy for those folks – they were in a deeply ironic situation.

Final Fantasy XVI (2023)

I’ve been down with Covid again the past week (second infection, I still had a nasty fever and sharp throat pain for several days), while the family is out of town. The downtime did give me the opportunity to play through Final Fantasy XVI.

I should state that I’m not a loyal fan of the series – I was a PC gamer growing up, and have only finished Final Fantasy VIII previously. So I’m viewing FF16 from a relatively casual lens, or rather, as a standalone RPG game (versus other RPGs) and without any franchise-related expectations.


Having said that, even I could tell that FF16 is a departure and perhaps new era for the franchise. To begin with, the combat is a full real-time action-RPG experience, with flashy combos, skills, evades and parries. And even though you are often traveling in a party, in combat you have few meaningful interactions with your companions, and hence the combat is focused on your lead character.

I didn’t enjoy the combat initially, but it grew on me as I unlocked more gameplay and also learnt to work around the rough edges. To start off, I personally didn’t like the input system that was fairly restrictive on when button inputs would register – during an attack animation, there is a long window where all inputs are discarded and not buffered. For me this incentivized button spamming – I found I could reliably do a 4 melee + 1 missile attack combo (one of the first combos you learn) by spamming (at a fixed pace) the melee button 8 times and the missile button 2 times. This is exacerbated by the game’s general enemy design of all enemies being meaty HP sponges – I would assume this is to afford the design space for your active abilities, so that they can do 20-40 times the damage of your basic attack.

In any case, the combat system primarily evolves around boss fights against a powerful solo enemy. Bosses have 2 bars, the HP bar and a “Will” bar (stagger meter). At 50% of the stagger meter you get a mini stagger (5 seconds?), while fully depleting the stagger meter gets you what feels like 10-20 seconds of free attack time. In a typical boss fight I feel I need to stagger the boss 3-4 times.

I remember from FF8 the over-the-top (and lengthy!) combat animations, and that seems to be a tradition that FF16 also maintains. Many of your skills have extravagant presentation that takes over the full screen, during which either time is completely frozen or at a very slow pace so you are rarely at risk of taking damage. And the bosses will also have skills that shower the screen with VFX. It’s clear the “cinematic”1 combat is a design priority here – and I generally bought into it, except in the frustrating edge cases where it takes away gameplay entirely. For example: quite early on I learnt a skill that literally creates a tornado on screen. (This skill is labeled as low HP damage but high stagger damage, and I was interested in building around it.) However, the VFX of said tornado is so dense that I literally cannot see the enemy in it – including what attack animation it is doing.

I also had some other general issues of combat clarity. Sometimes the camera would get in the way, especially when you are up close with a large enemy. And early on I often felt that enemy design was a bit gimmicky when I couldn’t get the evade timing right. What rekindled my enjoyment of the combat was the discovery of a neglected skill that provided a defensive shield (which could also deal damage). Said skill (Will O’ The Wykes, probably overtuned) completely changed my combat flow – it could absolve several hits for me, which provided enough margin for error of my evade timing to make most fights a straightforward affair.


Along with this new combat system, many traditional RPG elements have also been greatly streamlined. While there’s a large cast of characters you frequently engage with in the game, you don’t manage your party. Inventory management is also almost non-existent: yes, there is gear to craft and equip, and accessories and potions to use, but it’s clear they are meant to take up little of your play time. For gear, there are only 3 slots, and at any given point in the game there is clearly one best choice. Accessories (amulets) offer a tiny bit more itemization choice (and is the game’s messiest list to scroll through), but I felt it’s also entirely ok to not tinker with them. And with regards to potions – the game is so forgiving with health potions (when you die in a fight, you restart with full potions) that I’ve never purchased a single one.

That isn’t to say that the gameplay lacks variety or customization. Instead, the game’s equivalent of a skill tree offers plenty of build options, and I felt I only explored a little. At the start of the game, you have a couple of fire-based abilities on top of a basic fire-class utility (which makes you gap-close to enemies to set up melee attacks), and as you accumulate ability points (through combat and questing) you can invest to learn a few new ones or upgrade existing ones. When you progress further, you start unlocking new classes of abilities – wind is the second unlock – which each has 4 abilities on top of a basic class utility. By the end of the game, you would unlock a total of 6 such classes. You can equip 3 classes as your loadout, so in effect your combat toolkit is 3 class utilities and 6 abilities – that’s 9 active skills you are juggling at any given moment. (As a random comparison – Diablo IV only allows 6 skills on your active toolbar.)

Story and quests

FF16’s story is melodramatic, over-the-top and perhaps overlong, and fits my limited impression of the franchise. It has a M rating, so the tone is quite dark. It is a bleak fantasy set in a land near end-times, and it is about a group of heroes who are literally trying to save the world. There is ample amounts of tragedy, and there is a heavy-handed theme about systemic discrimination (class-based / race-based) and the injustices of slavery. Oh, and there’s a dose of Game of Thrones (a land of six nations with ample palace intrigue, politics and wars). It’s all very on the nose (but that isn’t to say I disliked it – I thought it was sincere and consistent).

The narrative is delivered through quests, which are divided into main and side quests. The mechanics of side quests are often straightforward and repetitive – fetch quests are common – but it’s clear there was real effort in their writing. I felt the game established quite early on that side quests are not to be missed – they provide important background on characters, advance significant side plots, and a few even unlock important mechanics such as the mount system (I’m curious if it’s possible to have missed that quest entirely…). Memorably, the game also does a good job keeping track of Chekhov’s guns from earlier quests – there was a “filler” quest where you collected some garments for a character, and they asked you for your color preference of a dress. I thought the game had forgotten about it, but towards the very end of the game, through dialog your love interest gives you a present calling back to this earlier choice.

I did feel the game had issues with the pacing of releasing side quests. This is tied to how they are unlocked based on the state of the main quest progression. If the main questline is flowing really tightly, there may not be a good window for a while to inject half a dozen side quests. It’s also exacerbated by the fact that as the story goes on, more side characters have been introduced, which naturally affords more side quests. This combines to create a very awkward pre-finale moment, where story-wise you are bidding farewell to loved-ones to go on a mission of (likely) no return, but on the map you see almost 10 new side quests pop up (and indeed, some new ones show up after you’ve done a few). I ended up spending a good 3 hours just clearing those side quests.

There are few more points of narrative dissonance with quests. For one, any side quests portray a sense of urgency (something bad is about to happen, you need to get there ASAP), but of course from a game mechanic perspective nothing is going to happen until you get there. Secondly, you need to just accept that “it’s a game”: when the main plot has you stuck somewhere, most of the time you can easily open up the world map and teleport anywhere (go back to base and buy some stuff? Do a side quest since you are feeling like it?).

These are not unique to FF16 of course, but it does get a bit hilarious and ridiculous when you have 5-10 side quests stacked up, and your presence is urgently needed everywhere and all at once. (At least the game is self aware about this – quite a few times you make a not-too-subtle comment about your “impeccable timing”.)

One last thing about the story – clearly there was a lot of effort invested in the setting, and the game developed not one but three features to present it. During cinematic scenes, if you pause the game you can call up an “active lore” page which shows you the characters featured in the scene and some simple intro to who they are. And then in your base, there are 2 characters dedicated to showcasing the world – 1 provides access to the compendium with entries on all characters, landmarks, enemies etc.; the 2nd gives you a people chart of all the characters for the current “state of the realm”, as well as a war map style world map explaining the major current events. I generally enjoyed those features and spent quite a bit of time going through them.


All in all I enjoyed FF16, and my impressions of it got more favorable the longer I played. I speculate it’s the product of a team aware of what their focus is – exciting action combat, cinematic presentation, and an epic story with a large set of characters. Given the ambition of the scope in these areas, they made meaningful cuts in others (gear, open-world style map etc.). I’m not surprised if some fans are unhappy with the set of choices here; I personally feel the dev team did a great job.

  1. Speaking of “cinematic”, the game also literally has a series of QTEs (usually during the “big” boss fights) called cinematic strike (hit attack fast) / clash (spam attack) / evasion (hit evade fast). Those are so over-the-top that I had to appreciate the game’s dedication.

GDC 2023 impressions

road beside buildings

I was in San Francisco for GDC 2023. The last time I was at GDC was 2011, as a poor student, so I won’t pretend to be intimately familiar with the conference. I didn’t do much networking, though I did catch up with a few friends I haven’t seen in a while.

Good talks

I attended over a dozen GDC talks Wednesday to Friday, since I got the Core Pass. (Monday and Tuesday’s agenda was mostly for the Summit Pass.) I tried to sample different types of content, though my natural interests gravitated me towards 3 themes – game design, product management, and leadership soft skills.

The Science of Managing Transitions During Crisis” and “Tell Me What to Say: Active Feedback Techniques for Teams” were my 2 favorite talks out of those that I attended. I was quite surprised by this, as I’m usually a bit on the jaded and cynical side when it comes to “business self-help” types of content. But those speakers totally won me over with their timely content which was well tailored to the quirks of the games industry. And their sharp public speaking skills left an impression – at a particularly soul-searching moment in “Tell Me What to Say”, Drew Kugler (a veteran executive coach) stared down the audience and pronounced: “YOU are here (at this talk) for a reason”.

I also greatly enjoyed a number of the design talks. “Designing ‘Marvel Snap’” was predictably enjoyable, despite Ben Brode on the verge of losing his voice. “Cards, Dice, and RNGs: Using Randomness Intentionally” paired well with “‘Good Numbers’ in Game Design“, and both were educational and practical. I also quite liked “Layered Battles: Generating Multiple Qualitative Tactical Battles for ‘Mario + Rabbids: Sparks of Hope’“, as it directly related to something we’re tackling at work.

I’d be amiss to not also mention “Prioritizing Roadmaps for Growth: Simplified Framework for Small and Growing Teams“, which was a short, sweet and uber-practical talk for product managers. In small teams I’ve been on, it’s common to eschew the more rigid dev processes (anyone love playing planning poker?), but far too often teams just end up suffering from a lack of process. The framework shared in this talk felt light enough to be adopted.

Expo floor

I squeezed in a couple of hours to walk the expo floor. It’s always a good reminder of how mature the modern video-games industry is: just look at the vast amount of suppliers providing various tools and middleware, and how specialized some of the solutions were – there was a vendor dedicated to motion capture of fingers. I’m guessing that maybe AI will take over the expo floor properly next year; for 2023, VR/AR and web3 booths are still around, and paying good sponsorship fees.

It may be a bit of a cliché, but I do believe you can get a sense of the players’ standings in an industry just by measuring the size and production value of their expo booths. In that regard Epic / Unreal Engine certainly seemed to have one of the biggest spaces, and they had a good crowd.

I also had a funny “duh!” moment on the floor: I was checking out one of the weird peripherals on display, and I commented to the exhibitor that it seemed like an interesting alternative to controllers. Then I realized I was in the alt.ctrl.GDC section, and alt.ctrl is literally “alternative controllers”.

Vibes / trends

Attendance at 28k was high, and more than doubled the 12k of last year. But this wasn’t an outlandish number per se – it only matched 2018’s record, despite a post-Covid rebound. I’m curious about the geographical distribution of attendees – it seemed like I was running into fellow Chinese speakers everywhere.

I didn’t go to any of the Unreal talks – my colleagues covered that – but it did feel that Epic made the biggest announcements. Much has been said already about UEFN, the new Verse language, and the new Fab marketplace. It’s clear that Epic is investing heavily across many fronts, and I’m almost tempted to make analogies to classic Microsoft which was immensely powerful / profitable due to owning both the platform (Windows) and the biggest app on the platform (Office). Epic is not at that level of dominance in our industry, but they certainly have a lot of the right stuff.

I don’t know if this is new – it might be – but there was a real effort by Tencent (and to a lesser degree, Netease) to spread awareness of their capabilities. Not only did Tencent sponsor a developer summit (which enabled them to deliver a host of talks on various aspects of their dev muscles), one of their in-house studios Lightspeed sponsored a summit as well. Unfortunately they may be swimming against the tide here, in light of the current US/China geopolitics.

Photo by Brett Sayles from Pexels

Marvel Snap (2022)

Marvel Snap logo

I’ve played Marvel Snap for about two seasons (Dec / Jan). I was late to check it out, out of laziness and lack of personal interest in turn-based card games. My quick verdict is it deserves all the praise it got, and has unexpectedly filled a “casual” competitive-PVP need that I was ready to give up.1 At the same time, the game certainly has its live-service challenges, and I’m eager to follow how the team will address them in their roadmap.

Design innovations

I look forward to the future design talks from Ben Brode and team that will shed light on their inside perspective. From the outside, I feel the game has the following significant innovations:

Core gameplay

The game’s core game reaches the vaunted heights of “easy to learn, difficult(impossible) to master” through a set of design choices that are mutually reinforcing:

  • Simultaneous turns, and only 6 turns total.
  • Simple Hearthstone-like energy system.
  • Small deck (12) and hand (max 7) size – by default you draw 9 cards in a full 6-turn game, which is 75% of your deck.
  • 3-lanes board, and limited card interactivity / simple win condition: you and your opponents’ cards aren’t dueling each other, there’s no attack/block or health, and very few cards can directly destroy opponents’ cards – it’s just who has more card power in 2 out of 3 lanes.2
  • Each lane has a unique effect per game, from a huge and actively growing list. This RNG introduces a lot of variation which provides a unique puzzle to every game.
  • Card abilities fall into intuitive categories, while end-game complexity comes from cards with memorable unique effects that open up new archetypes.3
  • The signature “snap” mechanic, which introduces a way for players to bet and double-down on the game’s outcome, and adds a Texas Hold’em-like mind-game layer. At first I wasn’t sure whether this was a gimmicky mechanic that was negligible to the game; now I see it as a huge design bet with wide-reaching impact (both positive and negative) on the whole game – more on this later.

The sum of these designs is a core game that is intuitive to learn, has deep replayability, and requires ridiculously low time commitment for a single game (thus very easy to impulsively tap “play” again right after a game – whether you won or lost). It is addictive, with all the pros and cons associated with that word.

Meta loop

On the meta side of things, Marvel Snap also takes some calculated risks, with the results being more divisive in the community:

  • The game ditches the card packs / loot boxes paid acquisition model, and card acquisition is primarily from randomized rewards chests earned through engagement. The notable exception is the card bundled with every $10 season pass, and for the past 2 seasons the 2 cards (Silver Surfer and Zabu) have largely dominated the “meta”. There is also an “end-game” rotating card shop where you can spend “tokens”, an ultra-rare soft currency, to acquire a card that you’ve set your eyes on. (To visualize this: after almost 2-months F2P play I have 5000 tokens, which can afford 5 “Series 3” cards at 1k each, or 1 “Series 4” card at 3k. I can’t afford any of the ultra-rare “Series 5” cards which would cost 6k.)
  • While individual cards have a shards-based upgrade system,4 they do not feature stats progression or individually become more powerful in anyway – what changes is the visual presentation of the card. At the same time, I can’t label this as a purely “cosmetic” progression, since these upgrades also count towards the main progression track (“collection level”), which is where you unlock cards.
  • There’s a purely cosmetic card skins (“variants”) system, and the game has a large variety of styles. As a F2P player I’ve not spent any of my earned currency on skins, but I can see the appeal to the community, in terms of collecting a specific variant of a card, and then upgrading that variant deeply to create a very unique look.
  • Overall the progression and spend depth is very tightly controlled. You can’t buy progression outright – you can buy a limited amount of extra missions per day, so this is a “pay-to-grind-to-win” game. The developers have explicitly stated their design philosophy that players should not expect to own all the cards, and the game is about everyone owning a unique collection. I see this as a razor-sharp double-edged sword: on the one hand, with a steady inflow of new cards (one card added per week), players are guaranteed an never-ending chase and long-term motivation; on the other hand, the frustration of not having a particular card and feeling locked out of the fun can be churn-inducing.

Sampling the vocal minority on Reddit (and also watching some Snap content creators on Youtube), it feels veteran players (who’ve finished the guaranteed early game card pools of Series 1 & 2) all feel frustrated about the card acquisition pace, regardless of whether or how much they’ve monetized. This is the intended experience – only the devs will know whether the metrics support the thinking behind this choice.

Speaking about my own 2-season F2P experience, I can say Marvel Snap has one of the most generous and rewarding loops in the first few weeks of play. You get a deluge of cards,5 fast, which unlocks a lot of basic deck types and gameplay possibilities. Then things slow down considerably, and depending on how much you are grinding per day, you will eventually be soft-currency constrained (you have shards to upgrade cards, but you are out of currency to complete the upgrade). This is the main rate-limiter to the progression. At my current level (early-mid Series 3), I roughly earn enough currency to unlock one reward chest per day from the progression track, which on average means one new card every 2 days. But I often neglect the new card anyway, even if it’s a top tier one, since I likely won’t have all the cards needed to form the community-tested meta decks. This means that if I’m serious about climbing ranked, I’m playing a small sample of meta-worthy “budget” decks that I have access to in my collection state.

Despite this, I still find the ranked climb addictive – I got to Rank 60 (“Platinum”) in my first season, and 70 (“Diamond”) in the current season, after the rather brutal season reset of 30 ranks. This is still a far cry from the Rank 100 (“Infinite”) goal, which I know is do-able F2P – if only I “git gud”. Doing some napkin math – I might have played a thousand games this season, which certainly speaks to the game’s high replayability.


Coming back to the “snap” mechanic specifically, as it has wide-ranging impact both on the meta and the core gameplay.

Talking about the impact on meta first – since it’s more straightforward – the “snap” mechanic adds a novel twist to the traditional MMR-based ranked PVP experience, and goes quite far to break the fatigue with the usual (and stale) “50% expected win-rate”. It does so by simply adding variance to the rewards of a single match, and giving players a great deal of control over that variance (you decide to bet, double-down, or quit). This allows for more risky or RNG-based decks to be viable in ladder-climbing. Indeed, the community quickly came up with a new metric to measure the efficacy of a deck – average cubes (ranked points) won per game – alongside the good old win-rate metric. It is quite possible for one deck to have a lower win-rate but higher average cubes than another deck.

In terms of core gameplay impact, “snap” significantly raises the skill ceiling of the game, as it is a mechanic that directly rewards game knowledge and the ability to read the game state (and predict future states). To fully exploit this mechanic, players need not only mastery of their own deck’s strengths and weaknesses, but also pattern recognition of what their opponent could be playing (based on up-to-date knowledge of the game’s “meta”,6 which basically requires consistent time commitment to the game). To paraphrase Jeff Hoogland, a content creator for the game, “snap” is the most difficult mechanic in the game, and you need to relearn “when to snap” with every new deck you play (while also factoring in what your opponent could be doing).

In addition, “snap” also greatly impacts card-play patterns, as it places greater emphasis on surprising the opponent. If the board state seems already clearly in favor of one player, and only then does that player “snap”, the other player would most likely fold (retreat) and not accept the bet. So to get the rewards for “snapping”, players must snap earlier (when both players feel they have a good chance) or when they feel they can somehow dramatically reverse the tides with an unexpected play. As a very specific example: Shang-Chi is a 4-cost card that destroys all opponent-cards that have 9 (or above) power in a lane (it’s one of the very few “tech” cards that can directly destroy opponent’s cards). It’s turn 4 (you have 4 energy to play cards with), your opponent does have a 9-power card on the board, and you don’t have better cards to play. In a game without the “snap” mechanic, it’s probably optimal to play Shang-Chi this turn so you bank the advantage and don’t waste the energy.7 But in this game, it’s could be optimal to waste the energy and save the card for a great last turn surprise.

Lastly, one downside (to some players) of the “snap” mechanic is it often takes away the big climatic finish of a game, because one player decides to retreat (and avoid possibly losing lots of cubes) rather than play out the turn. This is certainly true – the stats from this Jeff Hoogland video show that for a high-level player, 2 out of 3 games are concluded with a retreat.

Production – lean and mean

Marvel Snap clearly shows that it is made by devs with a lot of experience. As a game just beginning its live-ops lifecycle, feature scope is aggressively managed, with many “table-stakes” features still missing (for example, there is no friends-list, chat or other social features yet).

At the same time, the game already has a number of features that support live-ops longevity, while being low cost to maintain / extend:

  • The in-game locations (the unique RNG modifiers of each lane) is probably quite low cost to develop (it’s reusing existing card mechanics), and the twice per week “featured location” mechanic (a particular location is marked to appear more often) is a simple-yet-effective recurring event to temporarily alter players’ deck choices
  • The card variants / infinity splits system effectively adds unlimited personalization depth to any card, and while a F2P player like me might wholly ignore it (it feels impossibly out of reach to really care about), I would still (begrudgingly) agree that some of the end results look amazing (and desirable)
  • The game also already supports web-based events (i.e. an in-game banner that opens up a browser webpage in-app, showing a live-ops event). I would suspect the publisher Nuverse influenced this, as this setup (while aesthetically limiting) allows for very flexible live-ops development without the need to roll out patches (or even support from the game developer if they are not operating the game directly), and is extremely common in Chinese games

Market performance

Lastly, I wanted to take a quick look at the market performance so far. This part is probably the most speculative, since we are going by 3rd party data (estimates), and for a lot of the data you can argue both the bear and bull case.

One question is “what is the meaningful comp?” for Marvel Snap – what games are we going to compare it to? We can compare it to the top-performing games irrespective of genre, or we can just look at the CCG (collectible-card-games) genre which it clearly fits in. I don’t think there’s one right answer here; I’m quite curious how the Second Dinner team themselves think about this.

As for my personal answer, I’ll go with the latter and mainly focus on direct genre comps. A quick browse on Sensor Tower (source for most of the numbers below, and excludes China Android) shows not a lot of new games that have broken out in this space in recent years; Yu-Gi-Oh! Duel Links (global release 2017, 87M downloads to date, $758M net revenue lifetime) and Yu-Gi-Oh! Master Duel (2022, 9M downloads, $103M net revenue) are the breakouts in revenue, while Magic: The Gathering Arena (2021, 7M downloads, $58M net revenue) is helpful to illustrate the size of the audience even for one of the most fabled brands in the genre.

From this narrow genre lens, I’d say Marvel Snap‘s launch is an unqualified success: 15M downloads and $44M net revenue in about 4 months of global release. It also holds up decently (though not as well) in comparison to Hearthstone on mobile. Hearthstone saw a massive bump 1 year after global release (as the game released for tablets first, and then released to phones after a year), and would certainly have a stronger start than Marvel Snap. In any case, Marvel Snap is showing it can absolutely go up against the biggest names in its genre.

But how about from the broader lens of all games, ignoring genre? I’d argue the team should also be proud of themselves. On Sensor Tower, I looked at the top mobile games by revenue for the past 24 months, filtered for games that were released within the last 3 years (i.e. filter out the evergreen games like Honor of Kings or Candy Crush). On this list, the top 3 were Lineage W with a massive $734M net revenue (from only $4M downloads – and majority of that revenue was from South Korea alone); Royal Match with $631M net revenue from 83M downloads; and Cookie Run: Kingdom with $260M from 22M downloads. Yu-Gi-Oh! Master Duel was #13, while Magic: The Gathering Arena occupied #22. Marvel Snap is currently at #29, and will certainly go up in the rankings. This is an impressive feat for the first game of a new studio, regardless of the pedigree of the talent.8

As a minor point, the concurrency chart for Marvel Snap on Steam shows a steady game with very sticky retention. It’s hard to read too much into this, as this is a tiny fraction of the total player base, but one reasonable hypothesis could be that this is a decent sample of the game’s most hardcore players (who will actually multi-home and play this mobile-first game on PC), and the steady trend line is encouraging.

For the bear case, there is certainly room for concern in the rapidly declining downloads: at ~250k weekly downloads, it’s comparable to Hearthstone‘s weekly downloads 15 months after their phone release. But I’d say there are too many unknowns here to really know what’s going on (what’s intentional / expected, what’s reversible). The game isn’t live in China yet (and probably won’t be, for a couple of years), so the Hearthstone comp isn’t apples to apples. The publisher, Nuverse (part of Bytedance), should have lots of money to fuel UA, but they are an unproven organization (per Sensor Tower, this is already the biggest game they’ve launched, in terms of downloads). And I don’t know what is the actual division of labor between Nuverse and Second Dinner. In any case, revisiting the data in 6 months will give a lot more clarity on the game’s long-term legs.

  1. Mostly due to life circumstances – we came up with the term “gamer soul, adult responsibilities” years ago at Riot to describe this.
  2. The math can still get quite complicated with more advanced cards and combos.
  3. There is a concern about the long-term design maintenance of cards, since these unique cards often introduce exponential levels of effort to balance and constraints to future card-design space – for example, the January season pass card Zabu, which reduces the cost of all 4-cost cards by 2; or Mister Negative, which when played inverts the cost / power of each card in your deck.
  4. With seemingly infinite RNG depth due to the “split” mechanic
  5. As of this writing – you unlock 97 out of the game’s total 200 cards once you are Series-2 complete
  6. What decks / strategies are popular in the community; not to be confused with the design-lingo “meta loop” that usually refers to the game’s long-term systems.
  7. Playing “on curve”, in card game lingo.
  8. If there were a leaderboard for the ex-Riot / ex-Blizzard startups of the past 5 years, Second Dinner has just posted a high score.

2022 year in review

landscape photography of snow pathway between trees during winter

Maybe there is some sunlight at the end of the road?

Previous yearly reviews: 2021, 20202019201820172015.

Industry stuff

2022 felt like a good time to review some macro trends / predictions / hyperbole, past and present. To start, I’m rather glad that crypto is in a deep winter, and I remain convinced that the whole space is only meaningful for financing criminals and providing endless instruments for speculation. After reading Matt Levine’s entire Bloomberg feature on crypto (it’s loooooong), I have better appreciation for why crypto is intrinsically interesting (fun) to a group of people (especially those in finance / fintech), but more than ever I don’t see the broader opportunity or value. I also hope this winter means that at least I don’t have to listen to people rationalize why Ponzi schemes are not so bad after all.

I also remain heavily skeptical of VR, even with the recent rumors of the upcoming Apple device. Indeed, those Apple rumors illustrate the deep compromises that still need to be made. I also think mass adoption of autonomous driving is still a long time away – say, at least 10 years away before it hits 10% adoption.

On the more upbeat side, it’s been a long time1 since I came across an emerging trend and said “I get it / I see it”, and I’m definitely bullish about the current AI hype. I used Copilot in the summer and absolutely loved it; I also found ChatGPT and AI art mind-blowing in various ways. It’s important to see past the hype – no, I don’t believe AI art is going to replace professional artists, any time soon – but it’s also clear that these tools in their current form already have massive educational value, and have generally lowered the barrier for untrained folks to express their creativity. We are still figuring out how to be truly “productive” with these tools, but the opportunities seem endless.

On a more personal level, I also think this is a good time to reflect on some predictions I’ve made in the past. More than a decade ago, as I was about to join the games industry, I was very bullish on esports; I would now say it hasn’t changed the world as much as I had thought. In the world of sports, esports as a category has established a foothold; but it still feels a long time away to rival the mass popularity and commercial value of the biggest “legacy” products. Some of this is just a factor of time – you can’t have multi-generational fandom/legacy without generations – but some of it are attributable to inherent adoption hurdles.

Similarly, my personal pessimism towards PC gaming has not materialized so far, especially in light of the recent Steam concurrency records. And my fantasy about mobile / console convergence in terms of input paradigm (more adoption of controller peripherals for mobile) has remained just a fantasy.

For the games industry specifically, 2022 was not a great year. There was an industry-wide post-Covid consumer spending/engagement decline. Many studios were impacted by productivity hits and thus shipping delays. And with the macro-economy downturn (the credit squeeze etc.), there has been layoffs and closures.

With regards to the games industry in China, the headline (link in Chinese) was a general revenue decline of 10% in 2022, according to an official industry association. Mobile games (73% of the total industry) led the decline with a 14% drop, while PC games (23% of total) grew 4%. Many big companies had layoffs – Bytedance adjusted their gaming ambitions mid-year, after a crazy ramp-up in the prior years; Garena and miHoYo also downsized later in the year.

There was finally some good news in the last few days of the year – a batch of 44 imported games got approved (along with a batch of domestic titles). To put this into perspective – the number of imported games approved annually from 2017 to 2022 is… 456, 50 (that was the big freeze of 2018-19), 180, 97, 76 and this 44. One can speculate that this 44 was squeezed in to avoid a big 0 in the statistics. For 2023 I don’t expect a huge rebound – I think the 180 in 2020 is the new benchmark in the current regulatory climate.

This ~100 imported games / year ballpark is important for foreign games studios to really examine their China ambitions. The license supply is extremely constrained, with an “unknowable” lead time of at least 2 years (Riot’s Valorant, which is one of the lucky 44, probably filed the initial application in 2019-20). As a parallel, Hollywood studios seem to be going through a correctional phase with regards to how much they cater to China; there can still be lucky darlings like Avatar: The Way of Water, which as of this writing has grossed $230M from China out of its $2B global total, but it’s very much the exception now, with 7 out of the top 10 grossing films in the US last year not having a theatrical run in Chinese cinemas.

Work stuff

2022 was a weird year to work in China. Compared to 2020/21, more people in more places were impacted (severely, sometimes) by Covid regulations. And in December it felt like everyone took a month off, due to a mass re-opening wave.

Covid aside, work was challenging but rewarding in unexpected ways. I had a big project setback in the beginning of the year, but it was also extremely liberating and created new opportunities. Personally this lead to a lot of hard-skills learning throughout the year. This started out with picking up Javascript (really old school, plain JS + jQuery) to make some quick design simulations. One thing led to another, and soon I was coding in React (and the library), and even put together a quick next.js-based internal site (so co-workers can start/stop game-servers for playtesting). And over the last month I started a proper Unreal C++ course. I wouldn’t say the end-goal is to become a full game programmer – but rather, accumulate enough basics to be helpful to the team in various ways. And the AI tools have already made made it much easier for a “novice” programmer to be productive (and “dangerous”).

The year also presented lots of opportunities to practice and grow soft skills. The project setback I alluded to above forced me to go through some difficult decisions, and conversations around those decisions. And later in the year some interpersonal challenges on the team finally came to a head, which spurred some “crucial conversations” (yes, I applied the book’s framework, and found it quite helpful).

This seems like a good place to discuss my experience with the Supercell culture in practice. The core of the culture is empowering small dev teams (“cells”) with (almost) full independence, based on the belief that such cells (if high-functioning) yield the most creative outputs over the long run. And with small teams, people often wear many hats2 and there is a lot of fluidity in how decisions are made. In the happy path, folks who are like-minded (or who’ve built up deep mutual trust to tolerate big creative differences) are able to move rapidly on game ideas they believe in. In the unhappy path, teams can be split creatively and trapped in a constant contest of the “game’s vision”. And in this state, even with a small team there can often feel like there’s too many “cooks” trying to do game design3.

My temporary construct to alleviate this is a circular owner-customer analogy across the major domains of craftsmanship in game dev (typically, game design – art – engineering): the domain experts (e.g. game designers) are the owner of solutions in their domain, but they must somehow address the customers’ problems (e.g. artists’ concerns with the game design). This doesn’t avoid stalemates entirely, but it does seem to both give designers some breathing room to work out possible solutions, while making non-designers feel they are being heard and have real influence on the game’s direction.

Personal stuff

All in all, I’d say life in Shanghai under Covid was great in 2020, acceptable in 2021, and abysmal in 2022. The nationwide Zero-Covid policy became a cruelty with Omicron and later variants.

The Shanghai lockdown of late March to early June was a mix of bizarre, tragic and sometimes uplifting events. Individual experiences varied greatly. In my case, I was fortunate to be living with a lot of support at home, and once the supply of essentials stabilized, it was mostly a mundane 2-month home confinement. Trying to work-from-home was futile with 2 young kids; the biweekly PCR test downstairs became our “yard-time”4.

It was a much worse affair for those that lived alone, whether young or elderly. Several co-workers spent most of their waking hours trying to procure food (through the vastly inefficient group-buy networks that had sprung up in each community), and then cooking them. It was a different sort of subsistence living. And anyone that had any kind of chronic health condition was tormented by the constant worry of running out of medication, or needing to make a difficult trip to the hospital. And there were probably plenty of migrant workers who had no home to go to – from my window I can see this footbridge, and during those months there were signs that someone (or several people) were living in a facility room under the bridge.

Most of the uplifting moments came from ordinary people being wholesome. We got to know the people in our apartment building a lot better. We often exchanged various supplies, and helped the residents who couldn’t speak Chinese. My wife once complained in the building wechat group that we were running out of meat (she had lost the day’s group-buy and online grocery battles); a few hours later a care package arrived, with an assortment of meat and various food, and even a bottle of Coke5.

When the lockdown was finally lifted in June, I experienced some symptoms of what Morgan Freeman’s character in The Shawshank Redemption called being “institutionalized”. I wasn’t eager to go out on to the streets; I was angry at the celebrations. And as a tragic epilogue to this whole fiasco, we learnt that the gentleman in his 50s who lived next to us had died, after being rushed to the hospital in that very last week. He never got to see Shanghai free again.

In August, I got the chance to go abroad on an extended business trip, and I wrote down my impressions in an earlier post. I returned to Shanghai in early October, and had an interesting ordeal during the entry quarantine. It was supposed to be 7 days in a hotel + 3 days at home, but on day 6 I got notified that no one would be discharged. The quarantine hotel had gone into further lockdown; I speculated that it was due to hotel staff getting infected (some guests testing positive would be routine and expected – it’s the whole point of entry quarantine). I could do nothing but spend a total of 15 days in that hotel.

November was tempestuous (to put it mildly). It was clear that Covid was spreading, in many different parts of the country. And it was clear that the economy was suffering badly, due to the harsh uncertainties of the “zero-Covid” framework. Even so, I still felt that there would be no significant policy changes until the next summer; imagine my surprise when the big switch was flipped in December. I have gone through a lot of different feelings (anger, schadenfreude, sadness, to name a few) in the past month, but mostly I just feel relieved that my extended family have gone through this with no major incidents.

Media consumed

I played a lot of Elden Ring during the Shanghai lockdown. I wrote about the brief viral sensation Sheep a Sheep. I also played a lot of Returnal late in the year – I really should have wrote a post about it, it’s an excellent roguelite and a great take at a 3rd-person bullet-hell shooter (I recommend their GDC talks). And over the past month I’ve been quite taken with Marvel Snap – I’ve long announced that my gaming sweet spot is fast-paced PVE action games, but somehow this game has reoccupied the casual competitive gamer in me.

I don’t have a great reading habit, but I quite enjoyed some history reading last year6. I found Tower of Skulls, volume 1 of a trilogy on the Asia-Pacific War in WW2, excellent and informative. I’m currently slowly working through American Colonies (also part 1 of a trilogy), after hearing a friend mention it.

For films and TV – I didn’t enjoy Everything Everywhere All at Once; quoting my own Letterboxd comment: “I both appreciate this is a fantastic piece of film-making and feel that it’s not my cup of tea.” Top Gun: Maverick blew past my expectations (I ended up seeing it once in US and a second time in Finland on IMAX), while Avatar: The Way of Water mildly disappointed. Glass Onion: A Knives Out Mystery was the film I didn’t know I needed – it was a real palate cleanser to lift my spirits during a dreadful end-of-year.

Featured image by Pexels

  1. Long enough that I worry that I’m just old and more closed-minded than before.
  2. There are quite a few programmer-designers and designer artists, for example.
  3. This is often a symptom of people pitching and debating solutions when they haven’t agreed on the problem.
  4. The PCR test flow-of-traffic dictated that we walk around the building after testing; nobody enforced how long you took to finish that walk.
  5. Coke was a bit like cigarettes in prison during those months.
  6. This interest was naturally spurred by some current affairs.

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.

Summer travels

I was on the road for most of August and September in the U.S. and Finland. It was primarily for work, but I snuck in a short vacation as well. It’s the first time since late 2019 that I’ve traveled internationally.

I was not sure what to expect. Before the outbound flight, I had read about how chaotic the summer had been for international travel, so I packed light and strategized about how to fit a 3-week trip to Finland into a carry-on luggage. (It gets easier as I’ve gotten older. Now there are few things I can’t travel without.)

My initial flight was Shanghai to San Francisco, with a curious stoppage in Seoul – the plane was on the ground for ~90 mins, passengers did not disembark, and United changed out the crew. This is one of those precarious Covid travel compromises between China and carriers; I don’t fully understand the rationale/mechanics, but it somehow minimizes or avoids quarantine time in China for carrier crew.

I think the last time I was in San Francisco was 2016. It felt a bit surreal to be back, after reading about the city’s various woes in recent years. After a couple of days in the city, the most dramatic takeaway was how the pandemic has upended the downtown retail landscape. The financial district was eerily quiet on a late Sunday afternoon. On Apple Maps, many retail results were listed as “Permanently Closed”. The empty storefronts and boarded-up windows around Union Square relayed the same impression. I also found several (perhaps all? I gave up after 2 stores) of the Starbucks around Union Square to have no seating at all, which really breaks one of the brand’s core value propositions.

All of this was juxtaposed against the bustling Union Square Apple Store, which was busy as ever. The day I visited, the store had its jaw-dropping 2-story sliding glass doors open (I never realized they could slide!). The sun shone through, and on occasion you could feel a gentle breeze.

The other store that had remarkably long lines was Ross Dress for Less on Market Street – there was both a wait to get in the store, and a 20-minute check-out line. I was bargain-hunting for a piece of replacement luggage, and this was the first time I learnt that Samsonite has various SKU-lines priced below $100 that are exclusively available at Ross. Apparently they have been doing this for a long, long time – maybe a good example of a brand having their (premium) cake and eating it (extending to budget consumers) too?

Both Apple and Ross had SF police presence (apparently daily) out front. And across the street from the Apple store, there was a police mobile command center (permanently?) parked. Some of the police milling about were dramatically dressed in tactical gear.

I saw similar scenery in downtown Seattle, with lots of retail vacancies and reduced business hours for those that remained. My wife said downtown Portland was the hardest hit, of the cities she visited on this trip (she traveled around the US while I went onwards to Finland in late August). She said many of the restaurants we visited in 2017 were either permanently closed or only open a few days a week.

My US friends cautioned me not to read too much into this. Downtown areas with high-density commercial real estate have been precision-hit by pandemic restrictions and the shift to work-from-home. It’s not clear to what extent they will recover or what the new paradigm will be.

This was in contrast to what I saw in Finland. It had been a warm summer there. In late August, Helsinki was tees-and-shorts weather, more so than San Francisco. There were fewer signs of visible retail distress. Perhaps this is related to the size and layout of the city. Helsinki is small and highly walkable, with lots of urban apartments, so even in a work-from-home scenario the impact on retail foot-traffic would be less dramatic than US downtowns where people lived in the suburbs and drove in to work.

The other contrast was in the attitude towards masking. In Helsinki if you wore a mask (either indoor or outdoor) you really stood out. In the 3 weeks I was there, I could count on one hand the number of locals I saw masked – 2 elderly folks in supermarkets, and a passenger on the metro. In San Francisco, I was honestly surprised by the mask rate, even outdoors; and it wasn’t that uncommon to see shops or venues still have mandatory mask requirements.

What felt consistent in the US and Finland was the sense that “life has moved on”. Not necessarily in the sense of “Covid is over” – given the vigilance some displayed towards masking and getting the latest booster shots – but that “we’ve reopened and this is the new normal”. There are some debates still, but the big picture is clear. Most of Asia is headed in this direction too.

The elephant in the room is of course China – I happen to be writing this from my quarantine hotel in Shanghai. I’d say the “Covid-zero” policy was largely a net positive in 2020 and 2021, but its effects in 2022 are questionable (to put it mildly). Unfortunately it’s both a divisive topic and a hard position to navigate away from, so I’m generally not optimistic of big changes soon.

Oh, I almost forgot to write about inflation. Part of the “new normal”, in the US at least, is a complete reset of my price expectations. I struggled to find ramen that was priced below $15 (whereas my old anchor was $10-13). Regular gas was ~$5/gallon in Oregon, and got progressively more expensive as we got closer to San Francisco – the peak was $7.60 outside SFO airport.

The curious case of the game “Sheep a Sheep”

I’m on a late summer vacation and wanted to get back to writing. Sheep a Sheep provides an easy topic, even though it’s not usually the type of game I would comment on.

The short story: Sheep a Sheep is a hyper-casual match-3 puzzle game, available as a mini-program (roughly HTML5-based) within WeChat. The game has become a controversial viral sensation in China the past week. (Here’s a write-up about the game for more context.)

The controversy stems from a few areas. First, there is the question of whether this game is a copy of other works. The base gameplay is similar to mahjong solitaire. Many people have also pointed to the game 3 Tiles as the source of inspiration – indeed, 3 Tiles itself has shot up to the top of the App Store download charts in China on this unexpected tailwind (so, should they be thankful for getting ripped off?).

Second, the core hook of Sheep a Sheep is ethically shaky, to put it mildly. The game is labeled as an “ultra-hard puzzle game where only 0.1% of gamers can win.” After a quick tutorial level-1 where players are taught the match-3 mechanic, players are immediately presented with a procedurally generated level-2 that in vast majority of cases are mathematically impossible to complete. By watching ads – this is the game’s sole monetization -or sharing links to the game via WeChat, players can access a very limited number of power-ups that can improve their odds slightly – but usually this is not enough to actually win.

The game employs a proven bag-of-tricks to entice players to try for the impossible win. Even winning once is huge bragging rights, which plays right into the game’s viral referrals – “have you won once yet?” Furthermore, there’s a province-based leaderboard right on the game’s home screen, and by winning you contribute to your province’s rankings on this leaderboard. And winning games also gives you currency to buy cosmetic items, which of course are more avenues to show off and brag. All of these are battle-tested mechanics in China’s top games, and immediately familiar to players.

I’ve played maybe 10-20 rounds, and in a couple of tries I felt I was close to a win – but it’s hard to know for sure since the tiles can stack infinitely and thus you never know for sure how many tiles are left. Despite knowing that this game is in many ways a scam / hoax and the odds are hopelessly stacked against me, I felt compelled to play more, to just win once; and I gladly clicked to watch the ads which raised my chances by an infinitesimal amount (99% of the ads shown to me were for Pinduoduo). I guess this is similar psychology to people buying lottery tickets or playing slot machines.

In contrast – 3 Tiles is certainly a better-made game, with superior aesthetics and a traditional free-to-play puzzle-game difficulty curve. Like many other puzzle games, it has hundreds of levels and I cruised through the first dozen levels. My only complaint is the game’s high frequency of ads – an ad is played before every level and there are some UI “dark patterns” during the ads to trick click-throughs.

And this is where this “case” gets interesting for me. Comparing the 2 games, it seems like a no-brainer that players should choose the better-looking game where they can actually finish the puzzles, instead of the deceptive and poorly-made game where 99.9% of the time you are set up to fail. If you were to bet on the outcomes of the 2 games ex ante – say, you are a publisher or an investor looking at these 2 game pitches – it would seem crazy to bet on the latter. And yet, in this case we know the latter is the winning bet by far. What, if anything, should we take away from this case?

Well, “maybe there’s not much to really take away” is a reasonable answer in my opinion. No one expects Sheep a Sheep to have longevity – after realizing the game’s objectively bad (intentionally deceptive?) puzzle design, many people feel tricked and there’s likely a backlash.

At the same time, from a “jobs to be done” perspective, we should realize that 3 Tiles and Sheep a Sheep target entirely different needs (and thus different audiences): 3 Tiles serves the motivations of the traditional puzzle-game demographics, while Sheep a Sheep is about serving a flavor-of-the-month novelty to the Internet at large. The necessary ingredients of such a flavor-of-the-month novelty could be: illusion of skill, high element of randomness/luck, and a subversive x-factor that drives virality (“only 0.1% can do this – can you?”); it is coincidental that the 3 Tiles gameplay could be successfully twisted into this recipe.

For “serious” game devs, perhaps there’s some room to interpret Sheep a Sheep as yet another case for subversive design choices. Making the 2nd level of your game incredibly hard is a subversive decision, and maybe it does make sense in some very rare set of conditions.

[Sep 27 update]

I thought it was worth a minor addendum, one week after the original post above. A couple of things happened:

First, it seems the devs drastically reduced the difficulty of the game – by drastic, I mean that the odds of winning went from 0.1% to 5% (illustrative numbers, but you get my point). The net result is that in absolute numbers there seems to be a lot more players getting a win every day (in the above screenshot, there were already 500k winners during the day), but percentage-wise it still feels like a fool’s errand.

Second, I finally got my personal first win, after maybe 100 tries? Anyway I’ve played for ~10 days and this is the first win. With my win I got a cosmetic (the constructor sheep above). With this win, I also finally realized that the game also emulates Wordle‘s “a puzzle a day” format – once you’ve won a round, you have to wait 24 hours before you can challenge again, in effect setting up an appointment mechanic.