The makers of Immortality, Night in the Woods and Into the Breach reveal the challenges of porting hit games to mobile.
Unfortunately, making a mobile port isn’t quite as simple as clicking some kind of ‘Export To Mobile’ button in Unity, then watching the cash roll in. Whereas porting games from PC to console has generally become a lot simpler over the years (although still far from easy), porting to mobile is akin to exploring a different country. People do things very differently over there.
There are dozens of different things to consider. Will your game work with touch-screen controls? What parts of the graphics will be covered by a player’s hands? Will the text be legible on a tiny screen? How will you cater for the various devices out there, with their huge variations in processing power and screen size? Getting your game to work on mobile might involve radically retooling every aspect to optimise it for a completely different gaming ecosystem. And this is all before you consider things like pricing, and the regular updates needed to ensure the game isn’t pulled from stores by Apple or Google with the next iOS or Android release.
In short, porting a game to mobile takes months of hard work. And in exceptional circumstances, it might take much, much longer.
Sprite in the Woods
Jon Manning is the head of Secret Lab in Tasmania, Australia, and says he faced considerable challenges with bringing the 2017 indie smash hit Night in the Woods to mobile. The port was announced in October 2017, with a release date of 2018 – but the iOS version didn’t come out until September 2021, after some four years in development. So what happened?
“First of all, it’s memory,” says Manning. “That’s one of the biggest things. Night in the Woods does not do the standard approach that 2D games these days try to do, which is skeletal animation sprites, where basically you create a 2D paper puppet that has hinges.” With this technique, you would draw a character – the sprite – then tell the computer where its arms and legs bend, and the game engine would handle the animation. But Night in the Woods didn’t do this. Instead, the game used thousands and thousands of individual high-resolution sprites to depict every single movement of the various characters. And these thousands of sprites took up an enormous amount of memory – far more than the 600 megabytes or so of RAM that Manning had available to him on iOS (some of the phone’s RAM is reserved for the operating system).
“The second challenge, of course, is the screen that you’re playing it on,” continues Manning. Getting the game to work with touch controls on a tiny screen was a huge headache. “You’re doing the whole thing from scratch, basically. For a lot of the interactions that are in Night in the Woods, we had to come up with brand new ways to represent them. For example, there are a couple of scenes where Mae the main character has to steal items from a clothing shop, and the way that you do that on the PS4 and on the PC is you have to move Mae’s paw as slowly as you can [using the analogue stick]. But if you’re dragging a paw around on the screen, and it’s following your finger, then we can no longer do that, because it’s trying to be where your fingertip is. So how do we make this feel like it’s slow and tense while still giving you direct control?”
Tiny mobile, tiny text
Then there’s the problem of legibility. “Text is everywhere in the game,” Manning laments, who says that increasing the size of the speech balloons by one-and-a-half times seemed like an easy fix at first. But then he found the player’s speech balloons were overlapping the speech balloons of characters in the background, and the dialogue for the latter was sometimes spilling off the screen.
“Figuring out ways to keep up performance was also a big deal,” he continues, “because the way that the scenes in Night in the Woods are drawn, it’s lots and lots and lots of overlapping sprites. So lots of overdraw, which is a thing that you generally are trying to avoid, especially on iOS devices. Long story short, they perform much worse than a desktop or a console at the specific task of blending multiple transparent layers together – and that’s basically all we were doing in Night in the Woods.”
Manning had to come up with an ingenious solution to cram thousands of sprites into the tiny iOS memory allowance. “What I did was make use of a technique called sprite dicing, where basically you take your sprites, [and] you chop them up into small squares.” Any squares that were blank were discarded, and any squares that are identical were also filtered out. “Mae’s shirt, for example, is mostly one orange piece with a design in the centre of it. So we can find all the bits that are orange, and only keep one block of orange colour, and toss the rest away.” These squares take up less memory space than full sprites, and the computer can build any sprite with them, duplicating squares of the same colour where necessary. By the end, it’s thought that sprite dicing allowed Secret Lab to reduce the game’s memory usage by 40–60%.
After spending endless hours squeezing and tweaking a Night in the Woods to work on mobile phones, Manning’s advice to other indie developers is to think about possible mobile ports at the start of development. “It’s something that you should consider doing very early on in your pre-production,” he says. “It took me four years to bring what’s a relatively simple platformer/dialogue game across, and that was almost entirely getting the memory right, getting the interface right.”
Sam Barlow, the head of Half Mermaid, is also no stranger to the headaches of mobile conversions. He brought the BAFTA-winning game Her Story to mobile platforms back in 2015, followed by Telling Lies in 2019 and most recently Immortality, which launched on iOS and Android via Netflix Games last month following a console release in August. “I looked ten years younger than this six months ago,” he jokes. “This wasn’t the [result of the] pandemic, this was six months of squeezing Immortality onto a phone.” That said, a bit of forward planning has helped. “Usually I’m lucky because I’m either designing with mobile in mind from the start, or I’m working with interfaces that are quite unconventional, so it’s not a huge issue to figure out how this works on the phone. And oftentimes the phone controls are more interesting, right?” He notes that scrubbing through film reels in Immortality with the swish of a finger or zooming in by pinching the screen is perhaps more satisfying than using conventional control methods.
Unlike Barlow, Matthew Davis of Subset Games hadn’t even considered a mobile version of the breakout hit FTL before it launched in 2012. “It was not something we ever planned on doing,” he says. It was only when Subset was making the Advanced Edition of FTL some 18 months later that they decided to create an iPad version, purely because “people kept asking us if we’re going to do iPad,” says Davis. “Which is the last thing I should really say, because you don’t need more encouragement for players to be bugging you about platforms.”
“Justin [Ma] and I both had very limited experience with any touchscreen or mobile development at all,” he continues. “I had low expectations, and we went into it not sure what was going to happen. And we were very pleasantly surprised in that it’s probably our favourite version of the game now. The iPad version I think is the most playable, most user friendly, and looks great.” They also experimented with a phone version, which was quickly abandoned. “It was not nearly as nice as the iPad version,” says Matthew, “and we’d rather not give people a subpar port.”
However, Subset did create a phone version of their second game, Into The Breach, which launched on iOS and Android via Netflix in July 2022, some four years after the game came out on PC. “Getting the game on the device and running was less than a month’s work,” he says. “That was never difficult. It was the six months afterwards of iterating and tweaking the UI and testing and kind of making sure it all worked.”
One problem with mobile development is the fractured state of the market. “You’re looking at hundreds of different device configurations,” Barlow says. “You have, like, 30 different aspect ratios and screen sizes, plugged into different GPUs. So you might have this incredible, high-res, beautiful screen plugged into a lesser GPU.” Mobile developers have to account for all this, and make sure their game works on every device. “I remember I visited a Chinese company, and they showed me their testing labs. It was unbelievable. I walked into this room, and they had a series of walls… and they had every single physical phone device mounted on these walls, all simultaneously running the same game.” The system was entirely automated using artificial intelligence. “It’s ridiculous what it takes to genuinely, thoroughly test all these devices,” he says.
To test Immortality, Half Mermaid contracted a QA company called Sculpin. “Their obligation was to test it on as many devices as possible,” explains Barlow. “And there comes a point where, especially for an indie developer, there is the financial question of: is it better to have someone test the game for four hours on one device, so it’s been thoroughly tested, versus spending one hour each on four devices, or half an hour each on eight devices?”
Davies says that Subset also hired an outside QA team to test Into the Breach. “And then Netflix also has their own internal QA system, so they run it on a bunch of things as well.” Even after all that testing, there were still some issues at launch. “But it’s not been too horrific,” he says, adding that he’s currently in the process of rolling out patches to fix them.
The long (mobile) game
The developer’s work is far from finished after a mobile game has launched. The pace of operating-system (OS) changes on iOS and Android is relentless, and updates are required periodically. “I’ve had several titles of my own pulled from the App Store,” explains Manning. “Basically, Apple emailed us, going, ‘Yeah, we need you to push an update to this game.’ And I said, ‘No, I’m not working on that anymore’. In some cases, I no longer have the source code. And they went, ‘Okay, well, it’s gone’. And these games still worked, you could still download them.”
Andrew Carvalho, owner of the Canadian studio Laundry Bear, has found the same thing with Apple: “They’re very aggressive with deprecating devices, and constantly updating the OS. So even if there are no bugs, they will sometimes contact you through their little developer portal and be like, ‘You need to push out an update, because we said so’, even though nothing’s broken.”
Barlow says he had a situation a little while back where an Android OS update somehow made Her Story completely unplayable, necessitating an urgent fix. But he says the biggest problem comes with middleware, such as when an OS update requires you to upgrade the game to the latest version of Unity. “In the worst case, you might have to rewrite 50% of your code,” he says. Then again, he notes that many publishers will take ongoing updates to mobile ports into account when allocating budgets. “The maintenance is baked into the deal in the way that it would be if you were just making a pure live-service game.”
Grow the mobile pie
One advantage of making a mobile port is that it helps your game to reach a new demographic.
“I think you’re going to reach a very, very different audience who don’t necessarily identify themselves as people who play games,” says Carvalho, who is helping Half Mermaid to port Immortality to mobile, and who also worked on A Mortician’s Tale and Speed Dating for Ghosts. Barlow agrees: “If we pick, say, my parents as people who would not identify as gamers: [They] do not have gaming consoles, [they] do not have Steam. They have a phone. They know how to install apps. They know how to text, check their e-mails on their phone. So many people told me, like, ‘Oh, I installed Her Story on my parent’s phone, my partner’s phone, whatever, and then I just gave it to them. And they didn’t realise they were playing a game until it finished’.”
Davies says that one of the reasons Subset partnered with Netflix to bring Into the Breach to mobile was to find a new audience. “We’ve definitely saturated the market in terms of, you know, your average Polygon reader has probably heard about Into the Breach enough times that they don’t need to hear about it again, while your average Netflix user hasn’t, necessarily.”
The mobile price is right
The question of how much to charge for your mobile port is a thorny one, with the ‘free-to-play’ boom leading mobile users to expect to pay little or even nothing for the latest games. “On Steam our games [are] 10 bucks,” says Carvalho. “[But] we can’t sell a 10-dollar game on mobile, that’s ridiculous.”
However, Davies did exactly that with the iPad version of FTL. “If the game costs 10 bucks on PC, it should cost 10 bucks on mobile,” he argues. “It’s the exact same game, we didn’t do anything different. And I didn’t like, and still don’t like, that you see a lot of indie game ports where you pay five bucks for a 15-dollar game just because it’s in the App Store instead of on Steam: I think that’s intentionally devaluing it.”
That said, he acknowledges that a lot has changed in the past five years, as the premium market has withered in the face of free-to-play and the emergence of subscription services. “In the FTL days, it was much simpler: it felt like that you could give [it] a go at premium, but I feel like in today’s world, premium is less and less of an option.” He adds that the mobile version of Into the Breach only exists because it’s on a subscription service: “We wouldn’t have a mobile port if Netflix hadn’t reached out.”
Sam Barlow has a similar story regarding the release of Immortality via Netflix. He saw success with the premium-priced Her Story seven years ago, but now he thinks the only feasible way to bring a premium game to mobile is through a subscription service. “The introduction of Apple Arcade pretty much overnight killed the idea of a premium game on the App Store,” he says, adding that the family-friendly focus of the subscription service puts constraints of what can be featured. “[It] single-handedly destroyed most of the market for premium gaming, and also then limited the types of stories and games that that you can deliver.”
Still, Night in the Woods did see a premium launch in 2021. “I’m always going to have a soft spot for the notion of owning your own games, and not being worried that a game was going to suddenly disappear off of a service at some point,” says Manning. “That said, game developers really do receive quite a bit more stability when it comes to subscriber services.” An upfront payment from a subscription service can essentially eliminate the risks inherent to developing and releasing a game.
After his experience with Night in the Woods, Manning now thinks constantly about the possibility of future ports whenever he’s coding. “You need to be able to go, okay, for any given performance, or architecture, or gameplay or interface decision that I that I’m making, will this make it easier for me to bring a different platform? And if it will, the other side of that coin is, is it worth me taking that extra effort? Because the most essential thing that a game has to do is ship.” Ultimately, he says, it can be worth the extra effort to create beautiful code that can be easily ported – but not if that prevents the game from being shipped on time. As ever, game development is a series of compromises between time, money, and sheer exhaustion. It’s by no means any different in the mobile space.
A version of this article was previously published in issue 70 of Wireframe magazine.