Improve mobile rank by reducing file size, Part 2

5 min read

In part 1 of this series, I explained how file size can affect your rank on mobile app stores. For this part, I will offer a few suggestions to keep your file size down in your games.

How can I reduce file size?

The difference of even just 10MBs could prevent thousands of uninstalls over time. So, take the time to audit your games assets before shipping it. Can you reduce the file size? It is worth the extra time and effort.

Here are some ideas to help reduce the size of your app.

Design your assets with file size in mind

When designing your game keep in mind what unique assets are needed, what can be generated on the fly, and what doesn’t need to be there at all.

That fancy menu border might look great in the concept drawing, but would a simple beveled edge look almost as nice? If so, you’ll end up using way less texture files, not to mention reduce work for your artist.

Whenever it would look ok, use a repeatable texture rather than a larger image. When you have to use a larger asset, ask yourself if you can break it up into smaller elements.

Breaking up images into multiple files has other advantages. For example, it could allow you to add parallax scrolling effects to create the perception of depth.

Generate assets dynamically

It makes sense that you would have different colored buttons in different parts of a game, but do you need a separate image file for each one? Could you instead have a grey “template” button and recolor it programmatically?

Background music for games can also be a huge hog of disk space. Yet, you don’t want the same 30 second loop to repeat over and over and drive players crazy. Try layering your music! Have various 30 to 60 second “base” loops (Ex. base/drums) and then randomly layer on 15 to 90 second “tunes” (Ex. guitar/sax/whatever melody) on top. That way, the player will hear a randomly generated “song” each time they play.

The song may have repeating elements, but the unique way it’s streamed together will be good enough to keep the player from getting bored.

Compress your assets

Use the compression format that makes the most sense.

JPGs are great for heavy compression, although they are notorious for artifacting.

PNGs are great for sprites, as they allow transparency. Make note if you’re using PNG-8 or PNG-24. PNG-8 allows for up to 256 different colors, and PNG-24 supports up to 16 million. Do you really need all 16 million colors, or can you make your asset look nice using only 256? It isn’t wrong to use PNG-24, or even PNG-32 if you need per pixel alpha transparency. Just make sure you aren’t using them when a more compressed version would look just as nice.

Also, remember to crush them.

Remove junk code

It seems like every advertiser out there wants you to integrate their SDK.

“Get set up in five minutes!” they’ll claim. Well, that’s right, but often you aren’t using all the features they offer. You may only end up using one aspect of their framework.

Take the time to go through their SDK and look at what you really need. Can this be simplified? Can whole files and assets be removed if you’re not using them? It’s not uncommon for companies to bundle in lots of stuff even if you don’t need it. If you can, try to cut the fat and remove the parts of the SDK you aren’t using.

Also, consider using ad mediation solution to reduce the number of advertiser SDKs you need to import.

Remove temporary files

If your game downloads or generates any files, keep close track of them. When you don’t need them anymore, clean them up!

During development you will constantly install, uninstall, and reinstall your game. You may not notice the rate certain file(s) grow over time. In the real world, players will likely only install your app once per device they use. You don’t want to accidentally have your game become bloated.

What if I can’t reduce my size?

This post isn’t a one stop solution that will solve all of your App Store Optimization problems. My goal is to make you think about your file size during your development, and to recommend to take meaningful effort to reduce it.

Gamers can be forgiving for certain types of games, but only if it’s warranted by impressive graphics or hours of content. Even then, bottom line is that the larger you are the more likely players will uninstall over time.

Next Steps

I hope this two part series inspired you to think about different ways you can optimize your app store rank without just pouring money on the problem.

If you liked it, didn’t like it, or had any questions or comments please feel free to reach out to me directly! My website and contact information are located below.

About the author

Right after graduating college in 2009, Tobiah Marks started his own independent game development company called “Yobonja” with a couple of friends. They made dozens of games, their most popular of which is a physics based puzzle game called “Blast Monkeys”. The game was the #1 App on the Android Marketplace for over six months. Tobiah stopped tracking downloads in 2012 after the game passed 12 million, and people still play it and its sequel today. In 2013, Tobiah decided to go from full-time to part-time indie as he got an opportunity to join Microsoft as a Game Evangelist. His job now is to talk to developers, teach them how to develop better games, and help their companies be more successful.

You can follow him on twitter @TobiahMarks , read his blog at, or listen to his podcast Be Indie Now where he interviews other independent game developers.

Share this post