Hello there! :)
This is the second part of a Post Mortem article for my exploratory platformer Nubs' Adventure. It was released for iOS (iPad and iPhone) and Android on the 28th of May, 2015. While Nubs' Adventure is developed as a multi-platform game, I decided to release for mobile first. The game will also come out for PC (Windows, Mac and Linux) and is currently on Steam Greenlight, competing for votes. May I ask for your vote, btw? :)
Prior to the release of Nubs' Adventure, I wrote an article about its development process, the good/bad/ugly bits and how long it took. If you haven't read it yet, here it is! It is not vital to read it first, but might put things into a better perspective.
While the first part dealt with pre-release things, this one covers post-release topics, such as monetization, sales figures and player reception! In a "lessons learned" chapter, I try to formulate noteworthy things I experienced post-release and attempt to provide relevant infos for developers and other people interested in game development. So let's get started:
What I did with Nubs' Adventure in terms of monetization was an experiment. When it comes to making money, the mobile gaming world seems to be composed of three categories: F2P with ads, F2P with In App purchases and Premium, but combinations are also possible. Presented with these options, here are my thoughts on each:
- F2P with In App Purchases: I definitely didn't design Nubs' Adventure to be a typical F2P title. I can't imagine how to combine a metroidvania platformer with F2P elements (The infamous Dungeon Keeper for mobile comes to mind when I think about forcefully cramming F2P mechanics into a game that can't support it).
- F2P with ads: I personally despise ads in games. Furthermore, Nubs' Adventure is a game about immersion, which would be ruined completely by ads. Also, my research showed that you need INSANE user numbers anyway for ads to make even little sense financially. Not feasible for a single developer.
- Premium: with the first two options scrapped, that only left the premium route open. But I didn't want that either! I wanted players to get to know the game before they make the decision to spend money on it. In addition, my thought process was that many more people would try out the game if it was free, and I was hoping to turn those free players into buying players by delivering a good game! Being a single indie developer with a marketing budget of $0, I thought my best asset is the game itself and that I let it speak as loudly as possible by making it free.
So this is what I did:
- the game is free to download
- players can explore ~25% of the world for free
- at a specific point in the game, there's a gate that blocks the way, which can only be opened by paying $4.99 (or the regional equivalent) via a single-time IAP.
- After paying once, the game is fully unlocked and can be played in its entirety without any more blocks.
In my mind, this was a really cool system. I thought it leverages the advantages of the dated demo/full game model known from PC releases with the user experience of IAPs. Users play a part of the game for free, then decide whether its worth their money and can unlock the complete experience without even leaving the app or downloading anything else!
In reality, it wasn't met with as much positivity as I had hoped, especially on iOS. Many players left bad ratings and comments stating that they felt mislead and deceived. The game said "Free" when they downloaded it, so they were expecting to get the complete game for free. I guess it's a matter of expectations. Players get to download the game for free (positive), hopefully like it (positive), but then get brought down hard by suddenly being asked to pay $4.99 to explore further. They're upset and leave a bad review/rating even though they enjoyed the game itself up to that point!
Some players left bad reviews and comments claiming they were only able to complete around 10% of the game before they hit the pay wall. That's because the progress system in the game is almost solely based on how many gems you collect. So if a player blasts through the first areas without looking for gems and not taking any detours, then yes, he/she will hit the gate very soon. And I think at that point, many players simply stopped even though they could have explored much more of the game for free. In fact, the majority of the bad ratings were not because of the game itself, but because of either technical issues or the monetization model.
I think there's another layer at play here that also touches on the topic of expectations. Many of today's mobile gamers seem to feel entitled to free games. With the rise of F2P games, players have enjoyed countless hours of Clash of Clans, Candy Crush, etc. without paying a single cent. And most of them will never pay anything in the future either. The big companies in the mobile gaming market are of course well aware of this and instead of fighting against it, work around it. Most of the content in typical big F2P titles can be unlocked without spending money, but through collecting and spending in-game currency, watching a video ad or simply waiting a day until some form of energy bar is re-fueled again.
Nubs' Adventure does just the opposite, by saying "here's the cut, either pay or you can't continue here, no backdoor!". But many mobile players seem to start expecting these backdoors. They would probably be fine with waiting a day, watching an ad or two or grinding until they have the in-game money to spend. But paying cold, hard cash? Never!
And that's the problem with making a game free to download. You will attract a lot of players who only play F2P titles. Having a hard pay-wall in the game shatters their expectation of free content. If I had just released Nubs' Adventure as a premium title with a price tag from the start, the game would be virtually invisible to them, which would have spared Nubs' Adventure from many bad ratings. Interestingly, judging from the reviews, this was not that big of a problem on Android. Take it as a single data point, but I found that people on Android seemed to be much more open towards my monetization model than people on iOS.
To clarify: I'm in no way shitting on mobile gamers! I can't blame them for having these expectations when they are constantly being fed new F2P titles that offer hours of fun without having to pay a cent. The mobile gaming industry has gradually shifted towards the state it is in now, but this is surely not the fault of gamers alone.
Nevertheless, it was really disheartening to read so many comments accusing me of scamming people into paying. And what made matters much worse, I had no way of explaining myself on the App Store. The bad reviews just came in and stayed there, without my opinion or comment on the issue. On Android, I had the possibility to reply to comments and for the very few people who issued concerns about the monetization model there, I was able to give my reasons for why I did it this way. And some of the commenters even changed their rating/comment afterwards for the better!
I also have to mention an unexpected, but good implication of my monetization model that I didn't consciously think about before release: players who had technical problems with the game (which I will talk about in chapter "The Incidents") did not waste their money or had to go through the refund process. Sure, some again left bad comments and ratings because the game didn't work for them and that sucks, of course! But it would have sucked even more if they had already paid! Nubs' Adventure had technical issues at release, so I'm glad that people who experienced them hadn't spent any money beforehand.
So was the experiment a success in the end? Partly, I'd say. I think that the main issue was my inability to communicate the monetization model correctly which made players feel cheated as a result. I wanted to try this model as a service to the players, but it was in parts interpreted in a negative way. All things considered, I'm still happy I conducted this experiment! I did not have to implement any gameplay-altering F2P mechanics that would have destroyed the experience. And at the same time, I was able to present Nubs' Adventure to many more people than I could have with a premium app. And that was my main goal! :)
Before I talk about sales, I want to say a few words on the topic of pricing: pricing your own game is a really hard thing to do. Being so deep into it, you lack any objectivity on the matter. Various people telling you wildly different things about what they think it should cost doesn't make it any easier either. I think part of the problem stems from the multitude of angles you can tackle this question from. Do you price it based on...
- how much time you spent on it?
- what you think makes the most money?
- what other, comparable games cost?
- how much fun it is?
- the playtime it offers?
- its "artistic value"?
- a combination of the above?
Most of the point aren't even objectifiable. There is no right answer here! In the end, my main motivation for making Nubs' Adventure cost $4.99 (or your regional equivalent) was a certain elusive feeling that the game was worth just that. I sometimes deviated towards a lower price due to the ubiquitous pressure of the mobile market, but in the end I didn't cave in and released it for this exact price. Another reason: my estimate for a typical playthrough of the game is around 5 hours, which results in roughly 1 dollar per hour of game time. Sound reasonable to me!
While I received a few comments regarding the price being too high I still genuinely think that I priced Nubs' Adventure correctly! I don't really want to spend time contemplating about how much more (or less) I would have made with a different price point, as that would be nothing more than guesswork. What I can say however is that I'm happy with my decision! :)
Let's get to the meat! Here's the data for the first 35 days since its release:
|iOS:||~$12.700,- (Dollar)||~$8.540,- (Dollar)||~197.000|
|Android:||~672€ (Euro)||470,42€ (Euro)||17.339|
These are the sales figures and download numbers for Nubs' Adventure from the 28th of May, 2015 to the 1st of July, 2015. Please forgive the difference in currency between iOS and Android. The two developer portals (iTunes Connect and the Google Play Developer Console) list them like that.
The biggest reason for why the game has so many downloads and sales on iOS is the simple fact that Apple decided to feature it from the 11th of June to the 18th of June. In most countries of the world (including the US), it was part of the "Best New Games" section on the App Store title page. It was not one of the first in the list, but around the ninth place, which made it visible without scrolling on most iPad devices. The feature alone resulted in ~179.000 downloads, which leaves only ~18.000 downloads that accumulated in the rest of the time. And many of those can still be indirectly attributed to the feature as download numbers continued to be high afterwards (relative to pre-feature numbers at least). You know what? Graphs are cool, here's a graph:
The corresponding Android graph does not have any noteworthy features, so just imagine a slightly jagged, but otherwise flat graph. ;) A few other interesting bits:
- The conversion rate from downloads to paying players is around 1% on both iOS and Android, which results in a download to be worth around 5 cents (before the platform's cut).
- Nubs' Adventure currently has a rating of ~4.4/5 stars on Android from 967 ratings globally. On iOS in the US, it holds a rating of ~3.9/5 stars from 212 ratings. What I found interesting is the (in relation to download numbers) very low percentage of iOS users who did rate the game compared to Android. Only about two in thousand people on iOS in the US who downloaded Nubs' Adventure left a rating. In comparison to ~42 out of thousand on Android (globally).
- If I compare my sales to my working hours (about 750 hours, which you can read about in the first part of the post-mortem), I'm not financially viable yet, also given I live in a relatively expensive country (Austria). That might or might not change in the future with a Steam release and ongoing mobile sales, but I can't make any predictions.
- The Apple iTunes Connect Dashboard also shows the number of visits to your App Store page, which amounted to 1.261.677 (that's a crazy number!) for Nubs' Adventure during that timeframe. That's a visit-to-download conversion rate of about 15%. Is that good or bad? I have no idea as I don't have anything to compare it to! But I would be very interested in other developer's numbers. :)
- I can't help but see a dangerous snake that has eaten an elephant in the sales graph above... or is it just a hat?
Am I happy with sales? I'd say so, yes! I developed Nubs' Adventure as a side project in the spare time I had between jobs and studying. I'd categorize it somewhere in the middle between a hobby and a part-time job. For a job, the salary obviously sucks, but for a hobby, it's downright amazing! My feelings about how sales went so far are somewhere in between, so I'm happy! :)
The App Store Feature
I'd be lying if I said getting an App Store feature was not my goal. It was! I knew from my last iOS game Rico - A Tale Of Two Brothers that this is the one and only thing that counts. Get featured, win the game (or rather, have a chance at winning). Don't get featured, lose the game. When the first week after release without a feature was over, I almost abandoned hope that it would ever happen. With so many games coming out each day, you are almost required to make it right after release where you get that initial attention.
I was very active on the Touch Arcade forums during that time, as the people there are very dedicated to iOS gaming and the forum topic for Nubs' Adventure got quite a bit of attention. Huge shout-out to the Touch Arcade forum and its members for providing valuable feedback! After release, a member of the staff (@ShaunMusgrave) also checked in, but he unfortunately ran into what I now like to call "the $-bug" (you can read about that in chapter "The Incidents") that prevented people from buying the full game. Among others, he reported this problem and told me he will probably have to "pass up on this one". Luckily, I was able find and fix the bug soon afterwards. A few days after the update went live, a Touch Arcade review surfaced on the 9th of June:
And it gave Nubs' Adventure 5 out of 5 stars!!!! :D I was so happy! I didn't have concrete wishes although I was obviously hoping for a good review. But this exceeded my expectations! :)
There are rumors that the people at Apple who are deciding on what to feature in the games section look at Touch Arcade, although no one knows for sure. But I was certain that this review would turn some heads at Apple's... and it did! Starting on the 11th of June, Nubs' Adventure was on the front page of the App Store, among games like "Blades of Brim" and OH SH**, Transistor!!!
I didn't have any expectations in terms of download/sales numbers, as I had no clue. The next day, I was frantically refreshing the iTunes Connect page for numbers: 16.8k downloads, awesome!... but only $123 of gross revenue for the 11th. At first I feared that very few people liked the game enough to pay for it or that there was another bug, but I realized that it takes players quite a while to even get to the gate where it asks them to pay to unlock the complete game. So I waited another day. 12th of June: 45.4k downloads and $897 gross revenue. Much better! That also marked the highest day in terms of download numbers. But while downloads started to drop from then on, sales continued to rise, reaching their peak at the 14th, with $1.550 gross revenue. In the next couple of days, Nubs' Adventure also grossed more than $1000. An interesting fact is that while the download numbers completely tanked after the feature was over, the sales numbers only gradually sunk. My explanation is that with an install base of this size, there are still players who make the deliberate choice to pay up each day. It's a really cool feeling to know that Nubs' Adventure is installed on so many devices, each copy waiting for somebody to pick it up, pay, play and enjoy it. I feel like that's one of the advantages of the monetization model is chose (you may have already read enough about the disadvantages in the previous chapter anyway).
After the release, bugs appeared. Which is to be expected. Being a single, free-time game developer makes it almost impossible to release a bug free game right off the bat. Having beta tests definitely helped, but it didn't save me from royally screwing things up!
This is definitely my biggest screw-up. The $-bug caused many players on iOS to not be able to unlock the full game after release, which in turn resulted in unhappy players and lost sales. A lose-lose situation for everybody. The symptoms: players wanting to unlock the full version (either from the main menu, or within the game) had their game either freeze or crash before they could make the purchase.
Right after release, comments from players who experienced this bug were posted on the Touch Arcade forums. I couldn't explain what was happening as I wasn't able to reproduce the bug at all. It worked just fine on all of the devices and configurations I tested on. Beta tests and Apple's review process didn't bring it up either. So what was happening?
At some point, I realized that it was a regional issue. Players from Europe seemed to have no issues, while many players from the US did. This assumption turned out to be correct, but my first attempt at explaining it was wrong: I incorrectly assumed that the IAP that unlocks the game just wasn't distributed yet across all of Apple's servers and that's why certain regions experienced crashes. I came to this conclusion after a googling session, where I found that other developers also had troubles with IAPs not being available right after release. So I waited for 24 hours... but the bug was still there!
The more feedback I gathered, the more strange the issue became. People who were relatively close to each other geographically had different results. The game would crash for one player, but not for the other when unlocking the game. One person even reported that he just tried it a bunch of times (including device restarts and App Store log-offs) and at one point it just miraculously worked! But the bug was definitely only happening in certain countries, one of them being the US.
About 32 hours after release and not having slept at all, furiously trying to find the cause or reproduce the bug, I had an epiphany: I changed the country of my App Store account to US, tried to unlock the game.... and BOOM! Crash! I've never been so happy to see a game of mine crash!
I frantically started debugging. Why did it suddenly crash? And why not all the time? About an hour later, I knew what it was: as an app developer, you need to query the Apple servers for an IAP's price in order to display it to the user. The price is returned as a string and is already formatted for display. During development, when I was testing the IAP functionality, Apple's servers returned "4.99". But after release, depending on the region set in the user's App Store account, it was sometimes returning "4.99€", or, in the case of the US "$4.99". Now it gets technical.
Some of you can probably already smell it. It took me a while. This roughly was my (Java) code:
String money = ...; // String as returned from Apple's server String question = "Do you want to unlock the full game for %money%?"; question = question.replaceAll("%money%", money);
Do you see it now? If you don't know the specifics of Java's String.replaceAll method (like I didn't), here's the documentation. Especially this sentence is important:
Note that backslashes (\) and dollar signs ($) in the replacement string may cause the results to be different than if it were being treated as a literal replacement string
A dollar sign ($) in the replacement string is treated as a so-called back-reference. Developers can target parts in the source string and re-use them inside the replacement. For example, "$1" refers to the first (sub-)group in the preceding regex. In my case, the replacement string was "$4.99", so the method tries to find the fourth reference... but there obviously is no fourth group in the regex, there's not even one! What does it do then? It throws an exception! Did I properly catch it? Nope!
The fix itself was an easy one, but finding it took me quite some time and cost me a lot of nerves. As I released the game on a Thursday (which many people claim is optimal), but was only able to send an update with the fix to Apple on Friday, the bug-fix was in effect not until next Monday (despite requesting and getting an expedited review). It's probably a lesson every software developer learns at some point, but I had to re-learn it the hard way after having forgotten:
Never trust data from the outside!
While I mostly have to blame myself for this, I'm also not fond of Apple's technical setup in this case. Why does it sometimes return the price string with a currency symbol and sometimes not? And why did I never see it when testing in Apple's sandbox? If I would reside in a country with the "$" as its currency symbol, I would have probably found the bug much sooner as well.
I also have the feeling that this bug was the reason why Nubs' Adventure was not featured initially, but this is just a guess. Despite my major screw up, I'm incredibly happy that I was able to fix the bug before Nubs' Adventure was featured. Otherwise, my sales would look bleak. The $ screwed me over... Ironic, isn't it? ;)
The shifted screen bug
Some iOS players reported that the game appeared strangely shifted and rotated on their device. Here's a screenshot I was sent:
The screen is shifted toward the bottom and strangely cut off on the right. You can see part of the logo "Nubs' Adventure", which should normally be at the top of the screen. I measured some distances and found that the screen is cut off at the right exactly after the number of pixels that is also the screen's height. Just as if some part of the app still thinks it's in portrait-mode... but that doesn't explain the down-shift either.
What's even more strange is that inputs continue to work just as if everything was correct. That means that players could press the menu buttons just as if they were at the correctplace. It's just the drawing that is off. One user even told me he used screenshots of how the menus should look like to get into the game, where the screen was also shifted like that and the game was obviously unplayable. To this day, I have not found a plausible explanation for this behavior.
I tried to narrow it down, but couldn't exactly pin it to a certain device or iOS version. Given the reports I got and its rarity, I suspect that it is a rare iOS 8.0 bug in combination with libGDX. But as I was never able to reproduce it on any device I could get my hands on and nobody else in the libGDX community seems to have had this problem with their games, I could only give up and move on. It was hard for me, but after many hours of testing and trying out things, I accepted defeat. The bug has won! :(
Crashes on weaker devices
This is an issue that's not only pertinent to my game, but it seems like it's more and more a general problem for mobile game developers. While Android's ecosystem has always been fragmented in terms of available devices, different hardware capabilities also plague iOS developers nowadays. And especially games which tend to use a lot of processing power, suffer from that. Developers try to support as much devices as possible, but often have to make the cut at some point, which leads to games that simply don't run on older models anymore. But at the same time, Apple's and Android's facilities for developers to specify (minimum) requirements are completely lacking! People with an iPhone 4 can download (and buy) basically any game on the App Store (barring iPad-only games of course), even though it may run horribly slow or not at all due to memory pressure. Many developers had to resort to listing compatible (or incompatible) devices in the game's description, but many users don't even read those.
Nubs' Adventure received its fair share of bad ratings and harsh comments because the game simply did not run properly on some devices. Especially when memory starts to run out, both iOS and Android start killing off apps with high memory consumption. On iOS this is especially painful, because the game is then just killed and the user is booted to the home screen without any message whatsoever.
But I'm definitely not alone in this. For example, the critically acclaimed game Don't Starve was just recently released on iOS. It apparently doesn't run well on older devices and even people with relatively up-to-date devices experience crashes. This is the first line of its App Store description:
***NOTE: Don't Starve requires at least an iPad 3, or iPad mini 2. Due to memory constraints, it will not run on iPad 1, iPad 2, or iPad mini (1st gen) devices. - also requires iOS 8***
At the time of writing, Don't Starve has a rating of ~3 out of five stars in the US App Store. 3 stars!!! That's an average rating in the region of scam apps! And it was once even at ~2.5 stars. People are down-rating it into the ground because - as it is a premium game - they paid money up-front only to have it not work on their device! The game itself is one of the best (if not the best) game in the survival genre on PC(!), yet on iOS so many people rate the game based on the technical issues they are having.
I definitely think both Apple and Google should work on improving the situation as it is currently unsatisfying for all parties involved. Everyone is losing right now! Players, developers and platform owners! Give developers the option to exclude devices on which the game clearly does not run! That would be a service to everybody.
I received a lot of user reviews since the release, some of which I want to share with you. Some reviews are funny, some are uplifting, some are downright depressing. One of the reasons I want to show what users had to write about Nubs' Adventure is that their sheer range in terms of tone and sentiment was really surprising to me: from the highest of praises to "just ok" to "this game sucks", all the way to "worst game ever!". Some comments are completely reasonable critique (which I was looking forward to very much), some I don't understand and some are just plain wrong. I was debating whether to put them into categories and give my comments on some of them, but decided against it. It doesn't feel right to me somehow. However, I do think that they are interesting on their own and offer insight into people's thoughts, which is why I handpicked a few that stood out and are each representative of a lot of similar ones. So let's start:
bad ★ von Coooooooooonnor - Version - 1.1 - Jun 19, 2015 This was so good until I realized u had to pay to play it all. THIS GAME WAS THE BIGGEST WASTE OF TIME IN THE WORLD WHO IS GONNA PAY 5 DOLLARS FOR A STUPID APP. AND THEY ARE LIARS THWY SAY ITS 4.99 BUT ITS ACTUALLY 5.02
Best game for the iPhone since it was invented ★★★★★ von Big Bad Alf - Version - 1.1 - Jul 3, 2015 Pure genius. Deceptively complex world and challenges. Had me playing for hours. Well worth the extra few bucks to unlock the entire game. I'm not kidding when I say it is the best game I've played on my iPhone yet (and I've been on the iPhone since Gen 1).
Trickery! ★★ von Jackhazz - Version - 1.1 - Jun 19, 2015 I pay for games A LOT. Because I think of it this way: A cup of coffee costs 2 bucks, and drink that and it's done. I will gladly pay for a decent rated/cool looking game because I'll have it for good. ... So I was stoked to see this free download. But as other reviewers have said, you get to a point in the game when they ask you to pay to keep going. Which is Crap! I'd pay 5 for the game... But this is the wrong way to go about it. So therefore, deleted AND forgotten. Who knows what other spots in the game I'll get to and have to pay yet again.
Beautiful ★★★★★ von MrHedgeyMan - Version - 1.1 - Jun 19, 2015 This is one of the most magnificent platformers in the App Store. It's beautiful, relaxing music, smooth physics, and challenging stages. It is entirely worth the $4.99 (yea btw, despite being a free game if you want to play all of it you're going to have to pay the money). WORTH EVERY PENNY!!!
Noooooooo!!! ★★★★ von Moviefan1381 - Version - 1.1 - Jun 15, 2015 This game is awesome but... I DONT HAVE MONEY!!!... Dude im just a KID!!...
Thoughtless Paywall ★★★ von coolslice93 - Version - 1.1 - Jun 14, 2015 Sadly I was hoping to give this game 5 stars due to it being one of the best iOS games I've played in quite some time. Yet once I got a little into the game, a $5 paywall (literally a red wall which asks you to pay to get past) shows up demanding money to continue. I'm all for creators getting paid for their work, but if you want to charge $5 then don't make the app free to download, charge the initial $5 at purchase. The creator was clearly trying to be sneaky with this hoping to sucker unknown gamers into paying. You either charge up front or not at all. Otherwise a great game if you are willing to part with $5 (which is a lot in my opinion for this game).
Make It Free!!! ★★★ von SillyTimeLord - Version - 1.1 - Jun 13, 2015 I Love the game, but please make it free! The game is made for the players! Not so you can just earn big Bucks, only big video game company's do that! Team Fortress 2 makers were kind enough to do that! I'm Rating it 3, negative 2 because I have to pay for the full game.
It's a trap ★★★ von Dxuducjxhfhxjchhutrkfhj - Version - 1.1 - Jun 16, 2015 There's nothing I love more than casual platformers. Being able to relax on a weekend afternoon and hop my way through a game like this is a ton of fun.The art was great, the music was superb, but then I hit a wall. At 15% completion, the game makes you pay $5 for the remaining 85%. THIS IS NOT A FREE GAME. I was appalled by this setup. I would have gladly bought the game if it was paid from the beginning, but apparently pay to win is all the rage now.
These comments were all taken from the Apple App Store. Oh how I wish I could respond to them! To give my side of the story, to explain why I did things the way I did or just to say "thank you". But alas, I can't!
After release, I was checking the reviews multiple times a day. But after reading so many negative comments, I had to stop that. Especially during the App Store feature, I couldn't force myself to check the reviews as it negatively affected my mental health quite badly. It took me about a week to put enough distance between me and the game to not have it affect me too much anymore. Today I can laugh about it! :)
I learned quite bit since the release of Nubs' Adventure for iOS and Android. Here are some noteworthy points:
An Apple Feature is crucial, but it doesn't make you rich
I think my sales figures show how hard it is to base a business on having success in the App Store. While getting a feature is cool (and mandatory if you want to reach a bigger audience), it doesn't mean your game is a hit. The games that ARE featured need to compete even more fiercely for users. Being on the App Store front page is not the holy grail of mobile games, it's merely just a ticket of limited duration into the higher class of apps.
But after that, my knowledge runs dry. How to be more successful after you've managed to be featured is something I don't have any clue about. At that point, it's probably down to either becoming viral, spending a lot of marketing money... or simply having an amazingly awesome game that's appealing to many people! I think Nubs' Adventure is a niche product (for mobile standards) and considering that, it did quite well I think!
Be more aware of people's expectations
Sound like a very unspecific lesson... and it is! It's hard for me to formulate a coherent advice for other developers on this topic.
What I can say is that I felt really downhearted when players accused me of ripping them off. I do not want to go through that again. My skin got thicker in the process, but I could definitely do without.
What I will take away from this experience is that I should spend more time thinking about the game from a user's perspective. What are the user's expectations towards the game and what does it actually offer? How can I respect player's wishes better and be more up-front about what the game is and isn't?
The App Store review team doesn't work on weekends
I thought a big company like Apple would have people working all the time. But from what I experienced, at least the review team does not process any apps during weekends. So if you find a critical bug in your app/game, don't expect it to be processed during the weekend, even if you are granted an expedited review. My lesson from this is that I will not release my next game on a Thursday, too close to the weekend to fix critical day-one bugs. There are quite a few people claiming that this is the best day for release. I found that questionable to begin with, but still took the advice. Now I would definitely advise against it.
Don't rely on Apple for testing
Yes, Apple has a review process and yes, they will reject your app if you fail to meet their guidelines... if they find anything. In the case of Nubs' Adventure, they apparently didn't find any of the above bugs. I doubt they played it a lot at all, to be honest. And that's ok! App developers should not rely on Apple to do the testing for them. I did a bit. Before the release of Nubs' Adventure, when the game was already feature complete and I was just finding and fixing bugs, I remember thinking about Apple's review process quite a bit. "If Nubs' Adventure has game breaking bugs, the Apple guys will surely find them and tell me, right? They definitely don't want crashing apps on their store, right?" Wrong. While they will definitely test your game, you can't rely on them doing it thoroughly. They found neither the "$-bug" nor the "shifted screen-bug". Speculation on my part: I suspect that, in my case, a single person tested Nubs' Adventure on a single up-to-date device with a single iOS version. This tester didn't run into the $-bug (probably by chance) and also didn't experience the shifted screen issue. He/she went through the guidelines, checked all marks and approved it. Case closed.
Lesson learned: don't treat the review process as the last round of testing! Don't expect that, once your app is approved by Apple, it is also bug-free.
Developing Nubs' Adventure and releasing it for iOS and Android was a rollercoaster ride of emotions for me. I experienced the full spectrum from dancing in joy to being downright depressed. Would I do everything exactly the same again? Probably not... Would I do it again? Definitely! :)
I didn't get rich in the process, but I definitely improved my game development skills in so many aspects, which makes me feel like it is worth it for that alone. Each finished game makes me a better game developer and if I keep at it, I might at some point in my life make the jump to being a full-time indie developer that is also viable financially.
I sincerely hope reading the second part of my post-mortem for Nubs' Adventure was interesting to you. And if it was, I'd be grateful for your vote on Steam Greenlight! Thank you! Maybe I'll be back with a third part after the PC release! :) Take care, Max
Nubs also says goodbye! :)