E-Book
E-Book: Best practices from successful mobile indies
Oct 31, 2023
A cartoon tank on a hill

Learn how to help your mobile game go big

If you’re developing desktop or console games, you probably love the luxuries of building for powerful CPUs/GPUs, lots of RAM, and big screens. You may think that a mobile version would be limited by a smaller display and fewer controls. But you might also be surprised at how much mobile capabilities have expanded over the last few years.

The potential on mobile is tremendous. The numbers don’t lie:

  • Nearly 1.8 billion people have downloaded mobile games.¹
  • Estimates suggest that this number will have exploded to more than 2.2 billion by 2025.²
  • The majority of gaming revenues will be mobile by 2023,³ at over $100 billion.⁴

Given the huge (and growing) market, developing for mobile is an exciting opportunity. Small indies naturally want to get their game in front of a large audience, which means exposing it to as many potential players as possible.

For this e-book, we interviewed developers from five successful indie studios. We’ve collected their insights, not only how to make great indie games, but also to help indie developers build and run strong businesses.

The best practices these studios told us about, again and again, boil down to this:

  • Design for UX simplicity
  • Mobile development and optimization is not one-size-fits-all
  • Test early and often
  • Put serious work into app store optimization (ASO)

Footnotes: 1. Statista. 2. Statista. 3. Gaming Market – Growth, Trends, Forecasts (2020–2025). 4. Newzoo 2020 Global Games Market Report (Unity owned).

Several game tanks meeting in battle

Meet the studios

The contributors who share their experiences here are developers from indie studios with teams ranging from five to 20 members, including artists, engineers, and business managers. Some have been mobile developers from the start, while others expanded to mobile after finding success with console and PC games. Their experience, expertise, and success qualifies them to help other indie developers navigate through the challenges and opportunities of the rapidly expanding mobile game market.

A space battle game screen
Crying Suns by Alt Shift – Made with Unity

Alt Shift

Like many indies, the Alt Shift team got its start striking a balance between having fun creating video games and putting food on the table with commercial web work. Their first mobile hit, with over 15 million downloads, was the F2P puzzler Not Not: A Brain-Buster. They followed up with Crying Suns, a story-rich, tactical rogue lite inspired by Foundation, Dune, and other serious science fiction. Located in sunny Montpellier in southern France, the team continues to develop multiplatform games.

A train passing a grid meant for in-game building
Hundred Days by Broken Arms Games – Made with Unity

Broken Arms Games

Broken Arms Games approaches its tenth anniversary both producing its own games and providing comprehensive contract game development services, from artwork to code. After successfully creating multiplatform games – from Kaboom Monsters, a fantasy strategic card game, to rogue lite shooter Atomine, to physics-based racing MXGP Motocross Rush – Broken Arms Games decided to take its motto, “play your life,” to heart. Located in the heart of a producing Italian vineyard, the studio launched a mobile version of its multiplatform Hundred Days, a premium SIM app that playfully teaches the complex art of winemaking.

A Lego world with two small characters
Lego Builder's Journey by Light Brick Studio – Made with Unity

Light Brick Studio

LEGO Builder’s Journey is the first offering from Light Brick Studio, an internal team of game developers at Danish LEGO Group. The mix of seasoned industry veterans and bright young talents launched its award-winning puzzler, set entirely in a LEGO brick environment, in 2019 for Apple Arcade. Encouraging players to “sometimes follow the instructions, and sometimes break the rules,” it’s now available on popular gaming platforms.

A crab-like creature wearing a hat, doing battle
King of Crabs by Robot Squid – Made with Unity

Robot Squid

Robot Squid’s multiplayer battle royale King of Crabs is the London studio’s first mobile game. This game, which authentically captures crab behavior in a world where crustaceans rule and anything goes, grew from prototype to a full market release in just a year – an incredibly rapid development cycle. The team also created a unique server-side technology that enables remarkably synchronized cross-play for over 10 million players worldwide while successfully negotiating diverse devices and network latencies.

An animated dinosaur
Hills of Steel by Superplus Games – Made with Unity

Superplus Games

Aiming to create the best casual multiplayer games for mobile devices, a team of veteran Finnish developers launched Superplus in Helsinki in 2015. They provided crazy tank action and addictive physics-based mayhem with Hills of Steel, and upgraded Hills of Steel 2 with coop and PvP modes, a friend system, and real-time chat. Superplus Games will be launching their newest title Oceans of Steel globally later this year. Rather than focus on highly competitive markets such as RTS, RPG, and FPS, Superplus looks to provide long-term, playful competition in more casual settings.

A cartoon laboratory

Design for UX simplicity

The essence of mobile gaming is simplicity – a smartphone is small, with few controls. For developers, this can add significant gameplay design challenges. However, the simplest games are often the most challenging to master, which means that you can use mobile device simplicity to help your game excel.

A game screen with a bird and color options
Hundred Days by Broken Arms Games – Made with Unity

Optimize storytelling

Communicating a game narrative well is always tough, and smaller screen sizes make it even tougher, particularly when stories and instructions need to be translated into several languages.

But, just as you optimize your code for limited RAM and CPU/GPU power, you have to optimize your text to use as few words as possible.

As Light Brick’s Karsten Lund explains, “Initially, we wanted it to be a completely nonverbal and text-free experience. The problem with nonverbal is that players need to get what we are doing and we need to make sure that they don’t feel lost.”

After noting issues in gameplay testing, the team realized that a minimal amount of text was needed for optimal gameplay, explaining how to pick up, rotate, and place the bricks. They also found it challenging to simultaneously balance the intensity of the puzzle and the game’s story.

Lund says, “You cannot have a difficult puzzle and a narrative beat at the same time. The players will be so focused on the challenge that they won’t get the narrative.’’

Manage experience on multiple platforms

It’s important to account for additional time to test and rework the UI and UX across multiple platforms. Broken Arms Games’s Hohler notes, ‘‘Even though Unity is really powerful and flexible, you will need to rework at least 10% of the game to go from one platform to another.’’

For Alt Shift’s Julien Cotret, giving mobile players the ability to pause gameplay brought the team back to the drawing board after an easier experience with PC. ‘‘For mobile, we decided to change the gameplay and automate the pause to validate any significant action a player makes.’’ This proved to be a significant change for Crying Suns players, giving them more time to absorb the flow of information on the screen.

One of Hohler’s proudest accomplishments is that when playing Hundred Days on different platforms, the player has a one-to-one experience. ‘‘After launching on PC, while we were making some bug fixes for maintenance for the PC version, we started to test it on mobile to see what changes we needed to do for the UI. We redesigned it to ensure the UI wasn’t blind, that it responded well to the touch input, and was optimal for mobile. In the end, we were super pleased because we didn’t cut back on any features and if you play on PC or on mobile, it’s the same game.”

A pixelated game screen in a frozen world
Crying Suns by Alt Shift – Made with Unity

Mobile development and optimization is not one-size-fits-all

To drive a smooth development process and top performance for mobile games targeting a wide range of devices, it’s important to understand which techniques work for everyone and which are project-dependent.

To debt or not to debt

During game development, technical debt can build as teams decide what functionalities to prioritize and whether to focus on quick delivery or perfect code. Alt Shift focused on limiting their technical debt. Cotret explains, ‘‘We learned a lot on Crying Suns, but we also chose to not take on a lot of technical debt, because, as it implies, at some point you need to pay it. When you are porting a game, that is when you are paying it tenfold.”

However, when porting to mobile, concessions had to be made. “One of the things that we did to limit the technical debt in the PC build is limit the game to a 16x9 aspect ratio. When we decided to go mobile, we had a choice to make,” says Christophe Sauveur of Alt Shift. The team had to decide whether to stay in 16x9 ratio and have black bars and limited Apple features, or adapt the game to adjust to any ratio. “We decided to do the latter, and it was a good choice in the end. It was a costly investment, though.’’

Sprite smoothly to the finish line

With more complex 2D games using 2D art, a mobile version typically needs sprite sheets to run smoothly. Broken Arms Games used the Unity Sprite Atlas to both increase performance and reduce loading and startup times by compiling hundreds of sprites into a few images. This lets the renderer draw sprites with fewer calls instead of generating draw calls for each sprite.

They were also looking to adapt the frame rate to improve interactivity. ‘‘We wanted it to hit 60 frames per second for it to look really smooth,” notes Hohler. “We had to redo the UI because it was too much for every single sprite, so we had to change it to the Texture sprite. We also baked some of the 3D models together that were static to make it a little bit lighter to have the same experience as on PC.’’

Embrace expert advice

Nuggets of wisdom about saving time and money can be a life- and game-saver during game development.

Hohler credits Unity’s Nested Prefabs capability, which maintains Prefab references inside other Prefabs, as a huge timesaver for Hundred Days. ‘‘I would estimate that Nested Prefabs has saved us about three months of development time,” he says.

Cotret has discovered an efficiency when taking a game to both mobile and the Nintendo Switch™. ‘‘If you try to optimize your game for mobile, whether it’s for UI or performance, you are also optimizing your game for Nintendo Switch, because Nintendo Switch as a device is quite close to mobile in terms of performance,” he reveals. “This is good because you can share the costs for porting the game between mobile and Nintendo Switch.’’

The Unity Editor uses physically based rendering, and while this is typically a technique for PC and console games, Superplus uses it to add pop and realism to the lighting environment and this process has offered them time savings. ‘‘In Hills of Steel 2, we use physically based rendering,” notes Jyly. “With Unity’s help, it was a quick and easy step to take even for mobile. It saves time as using a shader keeps the work consistent between different artists.’’

For LEGO Builder’s Journey, Light Brick uses a dual render pipeline setup to efficiently and quickly scale between platforms. The team uses the Universal Render Pipeline (URP) for mobile, macOS, and Nintendo Switch, and the High Definition Render Pipeline (HDRP) for PC, Xbox, and PlayStation®.

Mikkel Fredborg of Light Brick explains “We are able to scale from low-end platforms to high-end platforms by using a dual render pipeline setup. Every asset in the game supports both pipelines, and we are able to automate the switching between them and share 99.9% of our settings between them".

Nintendo Switch is a trademark of Nintendo.

A Lego player on a platform
Lego Builder's Journey by Light Brick Studio – Made with Unity

Test early and often

In mobile app stores, the first reviews of a new game are critical because they’re heavily weighted since players haven’t posted that many reviews yet. Mobile gaming is extraordinarily competitive, and studios can’t survive with buggy releases. That’s why good DevOps and testing systems can be life or death for a game.

“You can’t get around the need to do lots of testing to find a common denominator of gameplay that works on all your target devices.”
KARSTEN LUND / LIGHT BRICK STUDIOManaging Director

Minimize launch crunch with DevOps

Implementing DevOps strategically can help you save time and money. Setting up a system early helps you reap the benefits of a happier development team and more satisfied customers. Continuous integration is critical for agile development, and, according to Cotret, “Unity Cloud Build was essential for testing and build validation, and the fact that it’s integrated in the development platform makes it a much more manageable process.” Built-in bug reporting was another important Unity capability that proved to be a significant timesaver for the team.

Alt Shift’s devotion to fundamental DevOps practices has been a major factor in their success. They test early and often, and they take advantage of Unity’s continuous integration capabilities for frequent builds along with using unittest for automated QA. The result is a remarkably relaxed work environment, given the enormity of what they’ve achieved with Crying Suns. Lopez adds, “Unity integrates so many different capabilities – from the game itself and artist collaboration to software development workflows. It’s a big part of the Alt Shift team.”

Two Lego characters
Lego Builder's Journey by Light Brick Studio – Made with Unity

Test, test, test

When it comes to testing, you need to look at “creative” bugs as well as code integrity. In Light Brick’s LEGO Builder’s Journey, players build structures by pressing on a brick and dragging it to a desired location. To track user behavior, the team coded markers where touch pressure was highest to represent exact fingertip location during gameplay. On small mobile screens, players often had a hard time finding the right location to place a brick because their relatively large fingers were in the way.

To manage this issue, Light Brick added an offset so that a brick moves away slightly from the player’s fingertip when dragging. Lund says, “We needed to let players see the underlying brick pattern without losing the sense of touching the brick, finding the balance was very tricky.” All told, perfecting the gameplay for brick placement ended up accounting for 30% of the game’s development work.

When you track actual player behavior like this, you come up with an outline of your game’s most important use cases. From there, you have the data to creatively and accurately analyze and improve the gameplay.

A focus for Alt Shift is reducing iteration times in order to ensure that they can quickly test the game on multiple platforms. According to Sauveur, “To minimize 15–20 minute on-device compile times, we implemented custom extensions to test multiple platforms with only 15–20 seconds of platform switch time – basically ‘stop play mode,’ ‘change platform,’ and ‘start play’ mode. We were able to do 90% of our testing in the Unity Editor and then double-check the last 10% on the devices themselves. It was a very efficient process.”

A large crab with a skull hat on its head
King of Crabs by Robot Squid – Made with Unity

Put serious work into app store optimization (ASO)

A successful launch naturally depends on the quality of the game itself. But with over a million games on the App Store and Google Play Store, success also requires visibility – and that means optimize your game for search.

Two crabs fighting in the game
King of Crabs by Robot Squid – Made with Unity

Increase your app store visibility

Regardless of how dazzling a game is, it will have a hard time penetrating the mobile market if it doesn’t appear in app store searches. ASO for a game studio is just as critical as SEO is for any other web presence. Not surprisingly, ASO has become an industry in itself, with a number of service providers.

As with SEO, ASO is mostly about researching and writing the right titles, subtitles, keywords, and descriptions, and each app store has its own ways of weighting content. What’s more, as Robot Squid’s Dawson notes, “Getting found and downloaded is not just about searches. Really good screenshots and videos make a huge difference.” His team used Unity Cinemachine, a suite of tools for dynamic, smart, codeless cameras, to generate attention-grabbing trailers and promotional assets. They then used A/B testing in different territories to evaluate their content.

Plan for app store setup when budgeting

App stores are constantly evolving their processes. As a multi-hyphenate indie, your focus is typically elsewhere early in the development process, so setting up the stores is not always top of mind. You should prioritize this, though, as it can lead to unexpected delays and costs later on in deployment.

“The most difficult thing about the launch was setting up the stores,” says Cotret. “It’s not something that you account for when you plan your budget.You think about the potential technical issues, but not how to configure the store pages. When it’s your first game on mobile, you have to think about the extra time that it will cost you to dig into the API and documentation. This is one of the areas where we had a lot of costs.’’

“We paid a lot of attention to polishing Kind of Crabs content and things like marketing banners for app store algorithms and curators. You have to be seen to be downloaded!”
CHRIS DAWSON / ROBOT SQUIDCEO
A crab and a shark fighting
King of Crabs by Robot Squid – Made with Unity

Be selective and translate early

Making the game available in as many countries as possible can be extremely lucrative for a studio. As an indie, sometimes the budget doesn’t allow for translation and distribution in multiple languages, and, when it does, it’s important to be mindful of potential exponential costs, game type and launch dates.

“It’s first about choosing the right language to localize,” explains Lopez. “We had to take into account all of the data when choosing because Crying Suns has over a hundred thousand words, so it’s pretty costly to localize. This is an issue for a lot of indie developers that have storydriven or story-heavy games. It also depends on your game type, because that can dictate whether certain countries are interested or not.’’

Lopez also stresses the importance of localizing at the onset. He says, “For any indie developer looking to launch their game in multiple languages, your potential for success will be higher if all languages are ready to go live at launch, if it’s possible. The communication momentum will help you get more sales.’’

Takeaways

We hope you’ve picked up some practical techniques and ideas for your next mobile project.

To recap:

  • Focus on user experience and simplicity
  • Find the development and optimization practices that work best for you
  • Test early and often, and follow DevOps best practices
  • Remember that app store promotion is key to commercial success

_________________________________________________________________________

Unity powers over 70% of the top mobile games.

Join the millions of mobile game developers around the world using Unity to build the next generation of successful games.