My first look at iOS vs Android vs Microsoft

Welcome back. I’ve been hard at work on my new game, but more on that when I have something more to tell.

The story continues with Stray Cat, the first game that I managed to get through the submission process and onto the App Stores. It’s available for both iOS (iTunes) and Android (Google Play and Amazon)

Android: A story of Ice Cream Sandwiches, Jellybeans and KitKat’s

Initially I had pinned my (Android) hopes on the Amazon App Store but to date have yet to see any movement whatsoever on it. So is it alive, does it have a heartbeat? Maybe I’m missing the plot but I think it’s a dead rubber. I’ve stopped checking on it altogether, in fact I’m considering just pulling the game off the Amazon store altogether.

So Amazon isn’t the way to go and Google Play doesn’t pay to South Africa, so revenue is pretty much non-existent there. The only form of revenue to be made from Google Play is advertising. In the end, I added AdMob advertising into the Android version and released one for free on Google Play. This was a problem for me, as it meant I had gone back on my ideals of not releasing add supported games.

I spent lots of time pondering on it and spoke to friends and asked questions and in the end, I realized that I can live by my ideals or I can try to make things work. It turns out that being adaptable remains the one thing true to an indie developer. I also realized that people are not keen on spending any money whatsoever on a game they know nothing about, made by someone they known nothing about. Of course, I had done fairly little in terms of advertising at this point, but I’ll share my advertising findings in another post.

The final moment of irritation was that we’ve tested a lot on a Samsung GT-I9500 and I know for a fact it works. Yet I have people contacting me saying it doesn’t work at all on that exact model. I also found that things that generally worked rather easily on iOS always took a tweak or two more on Android. I can’t help but see flashbacks of the nightmare that was developing for Nokia’s Symbian OS.

You might not remember, but if you wanted some game to run on your Nokia, you had to choose the exact version that was specifically made for your exact phone model. The same game had various versions for various phones and if you picked the wrong one it wouldn’t work. I’ve not had any similar issues on Apple’s iOS. Things just generally seem to work. Also, Apple just has the recipe right in terms of hardware which just seems to perform much better than even the top of the range Galaxy Tabs. I’ve not collected an extensive set of data on it, but certainly on our tests on frame-rate and processing rates at least it seems to hold true.

Apple, yes just Apple

This hasn’t put me off Android, but combined with the very poor download stats compared to iOS’s pretty low total, I’m not going to focus as much on Android for the time being. If I made games full-time, I would still focus just as much on Android as iOS but since I have to split my time, it’s Apple first. So my plan is to make the games for iOS, then to migrate them to other platforms afterward, rather than doing it all at the same time.

Microsoft, still in version 3.11, alpha.

Bring on the Microsoft store and in true form, what just works on the other App Stores is a complete headache here. If you are lucky enough to figure out how to navigate what I can only describe as the worst program flow ever, then you are probably going to realize that just after you’ve paid your subscription fee that you’ve done it to the wrong store. You paid the Windows store instead of the App store. Of course that’s what you meant to do, right?

Enter the App Store and Windows Store confusion. Yes my friends, lets cross brand, cross name and ultimately confuse the crap out of everyone. Once you are in, you’ve sorted out your payment mess, you create your application profile and then you are stuck. You notice that you can’t do anything until Microsoft Verifies you. HUH? 7 Days of waiting for, erm, nothing to happen. Apparently, they didn’t need to verify me? WHAT? I’m confused.

On the next step I learnt that I need to configure the BETA testers using a box that I couldn’t use because it’s all greyed out. So, after much searching and struggling with horrible KB articles that seem to be a circular reference to themselves and mention just about every Microsoft product under the sun, I figured out that there is no good reason why I can’t simply delete and recreate my app. Oh yeah, you guessed it, in true Microsoft “reboot” it style, I could progress to the next stage with the newly created app profile. a Few weeks wasted. I have lots of spare time, right?

Microsoft, promoting the use of aspirin worldwide.

Hold on to your horses, that’s not it yet either. So I get that there is a need for things like content ratings and PEGI and so on, but by comparison, Apple asked a few questions about my game and rated it accordingly. So did Amazon, so did Google Play. No my friends, not Microsoft. They provide you with a list of all the approvals you need from all the Countries to accomplish the same thing and even though their vastly confusing KB articles stated that I don’t need to complete all those forms, the fact is you need to spend a serious amount of time to do what the mainline app stores do for you.

And the verdict is?

If Apple was my primary store and Google Play was my secondary store, then Microsoft would be somewhere between I’m bored, it’s 3am and I can’t sleep and I’ve already finished my book so “hey, lets see if I can make some progress with Microsoft” and well, nothing really. I can’t imagine anything I’d rather want to waste my time on. Skip, at least until I have much, much, much more time available!

So that meant the end of my initial App store experience. I had created and launched my Game and now people would start to download it.

Until we meet here again, in a few days perhaps?

Here be dragons

I am a creature of habit. Sometimes I resist change simply because of that and other times I change simply because I know I resist change. On top of that, I’m a purist, so I like getting my hands dirty and being in control. To me, this meant monogame made perfect sense, as I could build my own engine to do whatever I wanted in the way that I wanted. This strategy had served me well in my professional career so I had no reason to think it would fail this time. As I said, I’m a creature of habit.

Sure, my judgement might have been clouded and I didn’t quite spend as much time looking at other frameworks as I did monogame. It also has to be said that at this point I had already converted my ‘Battle City’ to XNA and the idea of just porting that to monogame to run it on a device just made sense. But how?

Xbox Screenshot

My ‘Battle City’ clone in action on the Xbox

Follow the breadcrumbs

Luckily they make it quite clear on the monogame website, you need Xamarin. So I promptly followed the trail of cookies that so far had led me to game development, Xbox gaming and I was on the Xamarin site, downloading their 30 day trial.

This solution, this one thing that meant I could now change my game in such a way that it could work on iOS and Android presented me with a problem. I don’t have an Android  device. This should be ok, because I have an iPad and a few iPhones that are collecting dust from years past. The irritating thing though, I had to pay to be an Apple developer and I’m not even sure I can do this.

Remember when I said I couldn’t go away on holiday because I can’t afford it, well, that’s true for paying to become an Apple developer too. I don’t have money to throw around and if I spend the money I need to be sure I have at least some chance of generating some form of revenue.

Ok, let’s move back a little, I mean, it’s $99 we’re talking about. Living in South Africa is a curse when you have to spend dollars, but it’s a blessing when you get them. That’s because of the Rand/Dollar exchange rate, which as I type is 0.098/1. So, every dollar is worth R9,80. So, $99 is a lot of money in Rands.

So I settled on Android, which I could do for free provided I could find a device to test with. Luckily for me, it just so happened that my mother had a Galaxy Tab which I could borrow for a few days.

Sailing the seven seas

At the time the mere mention of creating a game was a complete stretch for me as I wasn’t sure if I was comfortable telling anyone about it. You might be thinking I’m ashamed, but that wasn’t it. I was motivating myself and having fun but at the same time nobody would think I was doing something that mattered. I’d be ridiculed and told to do other things or spend my time better. Just this morning a colleague asked my why I’m writing a game, wasting the fact that I’m probably the best networking programmer in the country and here I am writing a game that’s not even networked! I pushed on, nonetheless and borrowed the Galaxy Tab. Ping back to Sean right here, you’re a rockstar man.

I felt completely outside of my comfort zone. This was uncharted territory for me. I was expecting to see signs of “here be dragons” all around me. I was borrowing a device, to write software for something I couldn’t afford to buy, so that I could release it on a platform I couldn’t test for.

Pack-a-gun

My ‘control‘, if I could call it that, was to go back to something I knew. I knew, that if I got it working on the Android device, that I couldn’t sell my ‘Battle City’ clone. So I needed to do something different. I substituted the tank with a guy somewhat resembling Robert Trujillo from Metallica. I didn’t plan on this, but my limited graphics skills meant that was the best I could do. It was only by pure luck that I went ‘hey, that looks like Robert!’. My ‘Battle City’ clone went to what can at best be described as Pack-A-Gun. Imagine a pacman type clone where you ran around on the screen wielding a gun, shooting bad guys who are coming at you from all angles and shooting back.

This was incredibly fun on the Xbox and I slowly started drawing graphics, things like tables, chairs and pool tables. Before I knew it, I had something that resembled an office and the game looked a little better. But it lacked purpose. This was good enough to test with though. I mentioned that it was fun on the Xbox but it’s worth mentioning twice because it really was fun. But it was mindless and without purpose of any kind. Would that ever be good enough to sell a game? I didn’t think so…

Character

He resembles Robert a bit, doesn’t he?

Curiosity killed the cat

Getting the game to run on Android was the easy part, getting the sound to work properly was an irritating mission. Eventually I just disabled the sound but the point here is I could get it working on the Android if I spent enough time on it. Don’t get me wrong, getting the audio to play is not that hard, but to control the audio and play certain things at exactly the moment you want, is a headache.

So my curiosity got the better of me. I got ahead of myself, I went to Google and started looking at what I needed to do, what process I needed to start if I wanted to release the game on the Google Play store. I wasn’t prepared for what followed. Remember my story about the Xbox and the hoops I had to jump through to get the game running on it? Remember I mentioned that as a South African I can’t take part in the Microsoft Indie Developer Programme? Guess what, I can’t sell my game on the Google Play store either.

Go to Google and search for disappointment. I’m sure by now they have added my portrait next to the word in the urban dictionaries. If not, insert whatever words of disappointment you’d like here. I could release my game, but Google didn’t have a way of paying me if I wanted to sell it.

So why sell it then? What happened to seeing where the road takes you? It’s simple, I need to buy licenses and software to make this happen. Software I can’t afford to buy as it seems I can’t afford to live these days. What’s more, I spend so much time working that unless I can generate some kind of revenue from it, it would make more sense for me to sit back, relax and just do something else. Also watch series and movies, which believe it or not I don’t do, I work. Insert any funny remark about making games and expecting to make some kind of revenue here. I get it. Odds are against me, let’s move on though.

Be the change you want to see

So this is just frustrating. We keep hearing that the old era is gone and South Africa is this changed beast, yet sometimes it still feels like we live in isolation. We’ve had the iPhone since 2007, we still can’t [legally] download games in South Africa. Jung would call us insane for expecting something different I suppose.

So let me re-iterate:

  • I can’t be a Microsoft Indie Developer because South African’s are not allowed at all
  • I can be a Google Android Indie Developer provided that my game is free
  • I can register on Apple and sell on the iOS App Store but nobody I know can buy it because no games allowed in South Africa

So those were the issues I could do nothing about. iOS was the de facto option. Thank you universe, message received loud and clear. If only that was it, but there was one more problem, I didn’t have a Mac, not even an old one. So here’s how it works, you install Xamarin on your PC (on which I plan on working) and you also install it on your Mac. Whenever you want to compile your code for iOS, the PC sends it to the Mac and the Mac has to do the work. You can’t develop for the iPhone or iPad unless you have a Mac. I didn’t want to work on the mac alone for the same reasons I dropped Objective-C and XCode in 2007, I want to play to my strengths, which happens to be Windows and C#. Sure I can work in C++ or Objective-C, but then it would take me much longer to do what I already know how to do in C#.

Crunching some numbers

So here’s how I saw it playing out financially:

  • Registered Apple Developer costs $99 anually
  • Xamarin for iOS (with Visual Studio supported) costs $999 anually
  • Graphics & Sound $???? for every game I make
  • Mac of some kind $1000+ which is probably a once off every few years

This just felt wrong. All of it. I couldn’t afford a small break away for a weekend and I was moaning at having to pay $99 I didn’t have to register as an iOS developer, yet here a few days later my only option was to spend at least $2000 just to get going! Now that’s a lot of money even before you apply the Rand/Dollar exchange rate. On top of that, I couldn’t afford a graphic artist or sound engineer so I’m going to have to pull a rabbit out of the hat.

On top of this, I can’t test on my iPhone or iPad unless I fork out all of that money.

The restaurant at the edge of my universe

Now I know what you’re thinking, there’s no such thing as a free lunch. But just think about it, if I sell my game for $1 I’m sure there’d be people moaning. Even some people I know would scrutinize me for charging anything, as software should be free and open. But even if I wanted to give it away for free, I’d still end up paying all these license fees annually, so I’m paying lots of money that I don’t have for you to play my games that I make myself, without the help of a sound or graphic artists. What’s more, I can’t really share what I do with my local community because they’re not allowed to buy it!

So why do it at all? I can’t remember how far into my 30 day Xamarin trial I was at this point, but I received a mail from a “Customer Success Engineer” at Xamarin. He was enquiring about my Xamarin trial and asked if I needed any support.

I didn’t want to reply straight away. In fact, I wasn’t sure if I wanted to reply at all. The one thing I couldn’t ignore was that the path had lead me here and there was an open end to it, if I didn’t reply I’d never know what if.

Enter the Zombie

I had a long hard look at what I was doing and after chatting with my brother-in-law and my wife, randomly decided to substitute the “bad guys” with “Zombies”. The point of the game was to have fun shooting and what’s more neutral to shoot at than zombies? I decided that if I could get the game working, with some kind of graphics, with multiple levels, on the Galaxy tab, I would reply to the mail and include screenshots.

I had no idea what that would mean, but I would do it. My leave was almost over too, so I had to do it quickly. I wasn’t sure what I was expecting, but eventually I had a working version and I replied and also included a few screenshots…
2

The town. The mailbox is the entry point into a building

4

The view once you enter a house