Part Three – Load Times
In our first bulletin in this PIQ series dedicated to minimising App Store performance complaints, we focused on gamers’ visual experience and its associated performance drivers. Last time we dug deep into the surprisingly rich and complex subject of device temperature. In each case, we’re exploring: – What are the dimensions of experience quality? – How do performance issues impact those? – And which particular metrics do we need to understand to uncover the causes, and execute the necessary game optimisations? For the final bulletin in this short series, we now turn our attention to the – again remarkably fruitful – issue of game load times.
Why load time matters
Generically – inside and outside gaming – shorter load times are of course invariably preferable. And in all cases, there are both experiential and commercial penalties for excessive waits. But an interesting – and commercially critical – paradox emerges when we look more closely at the characteristics of the hypercasual gamer. To set the scene, let’s look at some statistics. The broadly accepted inception of this category is 2013 (also the year when GameBench launched), with the release of Flappy Bird. This was the first successful game to combine the now-standard hypercasual characteristics of short levels and simple play. Interestingly, from 2014 Flappy Bird has been controversial. The Vietnamese developer, Dong Nguyen, became concerned by what he saw as the addictive attributes of the game: its availability on the App Stores has since then been patchy. But from the start, we also get the sense of the commercial promise in the hypercasual category. Flappy Bird is estimated to have exceeded 50m downloads, and within a year of its launch, Dong Nguyen, its solo developer, was earning in the region of $50,000 per month from the title. Growth since those early days has been immense. The global Hyper Casual Gaming market size was valued at USD 15600.0 million in 2021 and is expected to expand at a CAGR of 7.96%, reaching USD 24700.0 million by 2027. For casual, hypercasual and hybrid-casual games, revenue is typically divided between IAP (in-app purchases) and IAA (in-app ads). As these two models typically reinforce each other, a combined IAP and IAA approach has become common. Both models naturally depend upon successful gamer acquisition, play time and retention. And while the appeal, stickiness – and word of mouth – conferred by great game design are front and centre, the less-exciting but important performance issue of load time has significant impacts on both gamer experience and commercial results. This is because of a “perfect storm” that deserves a closer look. On one side, we have enormous choice: an abundance of options – hundreds of new titles released and aggressively promoted every month. On the other, we have a relatively skittish, semi-engaged – often impatient – and low-skilled audience. And while it’s obvious that an excessive load time is an immediate deterrent to trialing any new game at all, the commercial penalties incurred by disappointing the hypercasual audience are especially painful for developers. Taking just one example, the user profile and behaviour of the hypercasual gamer will naturally predispose them to be far more receptive to in-game purchases, compared to more experienced and skilled players’ preference for effort-based progress and rewards. So we can see that carefully optimised load times are basic table stakes in this increasingly competitive, complex and high-value segment of the industry.
Causes and effects
As always in game development, performance issues arise at the tension points between the best possible gamer experience, and one or more key technical limitations. Looking at load times, there will always be a critical trade-off between the amount of dynamic content required for initial – and of course also subsequent – download to enable satisfying play to begin, and the restrictions imposed by device and network performance. When a game is loading at its most basic level, the app is reading save files and loading assets. This in itself is a fixed load time, provided that the values read from file do not exponentially increase in quantity and complexity. It’s the most basic loading scenario, where we can look to see what the CPU is doing during this time. Each value read from file will need to be converted from string to data type. The processing is queued, and loading will be complete once this action is done. Now let’s add more complexity, by adding in a login to a game server, or an API to send metadata home. Is this call vital for loading? If so, loading will be reliant on the return value from the server or a sensible timeout. Here we can check the load time, first to see if it matches the network timeout. Second, we can use network information to establish when the uploading spikes for messages sent and downloading for information returned. Is the download network spike the last event before loading finishes? Finally, let’s look at an established game, where uploading a new version to the App Stores will require users to update. How to provide updated seasonal assets and events? The app can build in its own updater, to passively download new assets prior to an event. This could be done during the game loading, in particular if the game is not updated close to an event launch. The impact of having the game updated during loading can be seen in the load time, and confirmed using network and CPU metrics.
How GameBench tests load times
So we can see the trade-off between fast loading and providing the most dynamic experience for gamers. Tweaking the load time goals and assessing them against the percentage of gamers that don’t make it to gameplay are thus a key determinant of success in the increasingly lucrative and overcrowded hypercasual market. Testing and analysing load times is simple and intuitive. Our SDK records when the game has finished loading, and this metric is added to every session. In the Web Dashboard we can then isolate and examine the loading sections of the sessions, to identify and analyse spikes in CPU and network.
Matching these reports with the developers’ agreed performance parameters – the load time trade-offs explained above – determines whether an issue needs to be flagged for review and optimisation.
As we’ve also noted in the previous two PIQ bulletins covering this subject, apparently prosaic performance concerns not only emerge as far richer and multi-dimensional issues – for both new and existing games – than would be expected. Their significant impacts on gamer experience, and therefore on hard commercial results, demand both priority and close attention.
Performance IQ by GameBench is a hassle-free, one-minute read that keeps you abreast of precisely what you need to know. Every two weeks, right to your inbox. Here’s a quick and easy sign up for your personal invite to the sharp end of great gamer experience.
The intelligence behind outstanding performance