This past week we were featured as Apple’s Free App of the Week. It also marks the first time we’ve gone the freemium route with one of our games. We’ve previously had a $3 app, a $1 app with IAP, and now a free app with ads and IAP. As before, we want to share some figures with other indies out there so you can get a better idea of what to expect. Keep in mind we were also featured in numerous other places in the App Store like the Games page, Games > Puzzles, 15 Most Huggable Heroes, etc. We also have screenshots and descriptions localized in 15 languages.
Localizations are a big factor in how successful your game or app will be in foreign markets. There are many steps to localizing your app and they all take time, so decreasing or removing the time spent on any step will undoubtedly help your business. We’ll walk you through what you should do to cut down the time spent on uploading Apple App Store localizations. We’ll cover how to provide app descriptions, keywords, screenshots, in-app purchases, achievements, and leaderboards.
When we published Furdemption – A Quest For Wings, we didn’t really have a good strategy for uploading all our localized data to iTunes Connect. In fact, due to the lack of tools and time, we were forced to input all of our localizations directly into the iTunes Connect website. This involves navigating pages and filling forms for each locale for each thing we wanted localized – a lot of mind numbing work. Our latest game King Rabbit had even more localizations to publish so we were determined to make this process easier and faster.
Apple have provided a tool called iTMSTransporter that can be used to upload App Store localizations and images directly to iTunes Connect. However, it’s quite a time sink to modify the contents of the xml package with your new localizations. We wrote a few scripts that help with populating the xml with the localizations you provide through simple .csv files and uploading it. An example of the kind of data you need to provide can be found at this Google Sheets template. The ruby scripts and instructions can be found on our GitHub.
Essentially all you have to do is populate some .csv files with your localizations, put your images in the given folder structure, then type
We wanted to be able to put some text in our screenshots and have it all be localized in each language we planned on supporting. The process to do this will vary depending on what kind of game engine/framework you’re using, but in general, you can write an automated test that loops through your base images, applies a localized label, then renders the result to a file. We have a localization helper class that helps with switching languages during the automated test. We used the cocos2d-objc game engine for King Rabbit, so cocos2d devs – check out this gist for a method that does the trick.
Let us know if you have any questions about app store localizations!
Our current game in development, Furdemption 2, will be more of a service rather than a one-off product. Being a service, it’s crucially important for us as a company to be able to answer the questions: How are players playing the game and when are they buying in-app purchases (IAP)? Through the use of event logging, we’ll be able to look at certain data points to try to answer these questions as best as possible.
We want Furdemption 2 to be as fun for as long as possible for our players. This means it’s important for us to know how they are progressing through the levels and which levels cause them to stop playing. Through event logging, we’re keeping track of how long it takes players to beat each level they play. Looking at the data points for each level, we can get an average value of completion time, telling us the general difficulty of the level. We’re then able to tweak the difficulty curve by moving levels around or updating the levels themselves.
We’re also using event logging to track what level a player was on when they background the app. This gives us an idea of which levels might be too difficult to keep trying or when in the game people tend to stop playing.
Probably not a level you want early in your game
Since Furdemption 2 is going to be a game that could make money over the long term, we’ll be including IAPs. It’s easy to see which IAPs are being bought (check your revenue!), but the deeper question we want to answer is when they’re being bought, which will give us a better idea of why. We’re event logging a few pieces of information to help us answer these questions. Since we have multiple avenues where the store can be accessed from, event logging will tell us if players are looking at the store before they start playing, after they finish a level, or when they want to use a boost they don’t have. Other data points include how long players look at each store page before they make a purchase or close the store, and how long they’ve been playing the game before making a purchase.
Being able to inform ourselves of what players are doing with Furdemption 2 will help us figure out the tweaks we should make in order to make it a better service for all. If you’re a developer, what kind of data are you tracking that helps you make better decisions? If you’re a player, what do you want to know about how you or others are playing? Leave a comment with your thoughts!