The Challenge

Hello dear friends. January came and went, we’ve all hopefully survived the “post Christmas” period and are already questioning our sanity on how it can be February already.

I’m finding it very hard to keep my blog up to date with my happenings. Maybe there is a lot happening and I’m just not getting to it or my time management isn’t what is should be. January saw a whole host of changes to my development process and truth be told, I don’t know what to make of it just yet. One of my friends brought forth the prospect of a partnership idea. In this idea he and I will be the programmers and then he re-introduced me to a 3D artist, who also brought a colleague into the picture. For me, he brings valuable business experience and 3D Artists. I don’t mean to play down his skill as developer, but I’m looking to areas where I am lacking and highlighting them.

So one could become 4 really. Listening to my universe could mean that I no longer have to draw graphics pixel by pixel, so it is surely a path I need to explore if I have it available.¬†We started off by throwing ideas around and I soon re-learnt that this is by no means an easy process when you can’t just do what you want to do or if you have a a raw idea. Zombie would simply take to long to re-work considering it has roughly 2500 images already.

In the end we came up with a pretty interesting concept and really started throwing ideas around. This would be a project of a few months and if done right, could work technically. We still had a lot of ground to cover to make up the concept to be sure that it will be fun yet challenging. I spent a great deal of time in front of my white board and we had quite a few long sessions of sharing ideas.

We tested our idea with everyone who wanted to listen and it turns out, everything we’re doing is adding complexity to an idea that is already fairly complex. So John and I challenged each other, could we each come up with a game in just a few days.

The challenge was simple enough: Create a one screen game that works with one finger input. It must be finished by Sunday. We had 5 days. It’s worth mentioning here that we are part time game designers, we have full time jobs at a large blue chip, so our time is very much limited. That means, we don’t have 5 days of 16 hours a day, or even 8. At best, we had about 2 to 6 hours a day to realistically work with. Of course Saturday and Sunday could be full days.

So on the Thursday, I started on a game concept I’d like to call “Stray Cat”. Our challenge was to have the game completed by the Sunday and then we could start the work with the artists to get the graphics out. My wife and I had plans to visit friends on the Sunday, so I had to finish by Sunday morning. Less time for me…

I did it though, I finished at about 9am on the Sunday morning. My game was fully playable, had fairly useful graphics and the sound I must admit is very cute. Since then, we’ve not grown the game that much, in fact, the only things we’ve been doing is test playing it and toying with the interface to make sure you can pick up and play without learning a whole host of fancy gestures. We’ve also been testing it on a variety of devices. I managed to talk Game into selling me a 7-inch “Me” Android tablet for the same price the sold it in December, which was R200 below the current listed price. To be fair, that was how much they said it was when I asked.

How this will turn out, I can’t really say. I’m hopeful that we can have nice and colorful cartoon graphics, make the game come alive in a way that would appeal to a younger audience as well.

Would anyone like to test it, if so let me know ūüôā

And then came Flappy Bird…

This wasn’t the end of it though. Making small games turns out to be lots of fun and I can quite a lot in very little time. You’ve heard about Flappy Bird, it’s removal from the app stores and all the clones that popped up? Well, my wife really wanted me to make a true to the original clone, not some shoddy game that looks like the graphics came out of Microsoft Word. While I was waiting for my Stray Cat graphics to arrive I started working on a game I’d rather not name just yet, but it’s engine meant I could do a Flappy Bird clone rather quickly.

The creator of Flappy Bird openly stated he wouldn’t object to clones or sue anyone for cloning it. Or course, Flappy Bird is also gone forever. I would never dream to make a clone of a game that’s available.

So the Flappy Bird story being so unique and after some deliberation I submitted my version to the App stores last week and we’ll see what happens. I’m a little nervous about it, not because it’s a clone, it clearly is and I’m not hiding or denying that fact. Interesting fact though, Flappy Bird is not an original game either, it’s a clone of Flappo Bird for the Atari 2600 see here: http://www.youtube.com/watch?v=dEi7_4FTG18. No my friends, I am nervous because it allows me to learn how the submission processes work for iOS, Android and Windows Phone. It’s the starting blocks for me, whether they accept it or not and lets not forget, the engine that runs it, was made for another [unrelated] game that I am working on.

a Clone, yes I know. This might sound strange if taken out of context, but I really do believe that the creator of a game needs to receive the benefit of it. Not the clones. In this case, the creator stepped away, played the clones and said he liked them. While we’re on the subject¬†I’m also of the belief that games should be fun first and foremost. My daughter constantly cries when she plays The Sims or Theme Park on the iPad because she hits pay-walls that frustrates her game-play. In addition to that, as a parent I don’t want my kids playing games that run the risk of them clicking ads or buying in-app stuff without my consent (which happens, by the way). a Good friend of ours walked into her daughter playing talking Tom cat, except she clicked some link and now hard core pornography was showing on their tablet. I don’t want my games doing that, exposing kids to things they shouldn’t be. This also fits my model of 99c buys you everything. I am looking at a free model with ads too, and in that I might even include in app purchases as well, but if you buy my game outright, you have it all and no ads. I think that’s fair. I’m still busy with the ads though, so my Clappy Bird clone, if accepted will be 99c [US].

So lets see how this turns out. For the first time ever, my blog is up to date with where I am. That took some doing but hopefully I can keep it more up to date now and post more frequent “smaller” updates.

When I Come Around

Why is it so quiet in here?

Welcome back, I’d forgive you for thinking I’ve been away but looks can be deceiving. Ok, stop staring at me-you’re right; I’ve been away but it’s not what you think. I hit a roadblock, a big one.

If you build it, he will own it

I’ve not hidden the fact that I make games or that I intend to make games in my part time from my employer and they have never had a problem with it. The problem is, whatever I do belongs to them! It turns out that while you’re under the employ of someone, everything you do belongs to them if it relates in any way to what they employ you for (unless you have some sort of moonlighting clause in your contract of employment).

I’ve always thought that so long as there isn’t a conflict of interest and you do it in your own time it would be yours. Sadly this is not true. It gets worse, they own the intellectual property rights and if you job hop, there can even be legal disputes between your old and new employers! This can just get nasty…

As a result I had to make an emergency stop, dead in my tracks. I needed written permission from my employer. The verbal agreement I had with them apparently isn’t good enough.

This took time, lots of time, but that’s behind me now and the less I say about it the better.

What did we miss?

In the few months that it took to sort out, Apple has opened the games category in the South African App store!! That has to be the single biggest iOS event in South Africa since the launch of iOS! I joined a local indie development group, MakeGamesSA¬†and I realized that I am not as unique and alone in this as I thought. There’s a bunch of really fun people doing exactly what I’m doing and the are guys out there making a living off it! This is possible! Can you see me doing the dance of good omens? Maybe it’s good that you can’t as it’s pretty embarrassing actually.

I took Zombie Apocalypse to them and the reviews were mixed but good. Some people played it for quite some time which was really positive!!¬†In the end I was fortunate enough to be on the receiving end of some very hard, but constructive feedback. I pulled my launch, there was more work needed. I’m not trying to be perfect, but sometimes it takes someone else to tell you what you are thinking in any case before you believe it.

The hard truth

I also took the few months I couldn’t work on Zombie Apocalypse to reflect on what I had done. I spent a lot of time playing it and messing around with new ideas. I spent hours and hours looking at my code and apart from wondering if I would be able to continue I realized that I was much too focused before. Let me explain before you throw back your shoulders and go pfft. I was too close to my code, it’s as simple as that.

The best comparison I have is that it’s like a child drawing, seeing this marvelous world unfolding on the piece of paper and the parent, well the parent can only see two parallel grey lines . So Zombie Apocalypse works and it’s not bad but it’s not a game yet. It’s an engine, there are some graphics and some things to do but the fun aspect needed a lot more attention. I needed more “production” graphics. I needed more transition effects and I need to test on a Retina iPad to be sure my graphics aren’t too small.

The future is now!

That’s all folks” I covered a lot of ground and a lot of events in a very short post, please excuse me for that, I want to look forward and not spend my time looking back.

Watch this space, it’s happening!

Mind the gap

If you recall, I received a mail from a Xamarin “Customer Success Engineer” and he asked me if I needed any help, among other things. In my reply to him I explained my obstacles in releasing and I asked if he was aware of any other indie’s who had similar limitations based on locale. His reply stumped me, not because he answered any of my questions, in fact he answered none of them. His reply stumped me because he offered me a better deal on Xamarin than the one advertised on their website.

So, as I said in the beginning, I’m not over thinking anything and I’m just going where the road takes me. He probably could have answered my questions but where would the challenge be if you had all the answers to begin with, right? As far as the road and the journey took me, cash in hand was my biggest concern with what I’m doing and here he was offering to lower that burden just enough for me to actually do it.

Behind every man

I went backwards and forwards considering it and eventually my wife¬†convinced¬†me to take a chance, to practise what I preach so to speak. She assured me that we’d be fine and that there’s no reason why I can’t be as successful as I want to be.

I took the bait, on good faith mind you. Good faith that I would be able to port my game idea to iOS, it would run and I could sell it. I purchased Xamarin for Business. Yes, stop rolling your eyes at me young reader. I told you before, play to your strengths. Michael Jordan was a far better basketball player than a baseball player! My strengths are fairly tightly coupled to the Windows Operating system. What’s more, I work for a blue chip during my work hours and I use Windows there so it would flow more naturally if I go home and continue to use Windows.

Not only did my wife support me to buy Xamarin, she understood that I needed a Mac. Now any guy would feel his heart skip a beat at this point. Most of the time statements like “boys will be boys” and “boys and their toys” are thrown around like it is more common than the common cold. I’m lucky that my wife doesn’t do that. Not only that, but here she was¬†encouraging¬†me to get a Mac, so that it can stand there and look pretty and be my build server.

I’m on a spending spree

I made a few phone calls and finally settled on a price. I was as apprehensive as can be, but I did it. I bought a 13″ MacBook Pro with Retina display. The small one, not the big one. I figured that when I could afford it I could throw parallels¬†on there and I could do Windows development like it should be done, on a Mac ūüôā

I wanted to throw the Mac keyboard away. It was frustrating typing without a dedicated home, end, page up, page down or delete button. Over time though, I started getting used to it but for the most part, my Mac was a shiny little build server in the corner of my office. Pretty to look at and a gateway to iOS.

I haven’t mentioned registering as an Apple developer, because it was the easiest part of all. Since I was one in 2007, all I had to do was renew.

And we’re off…

That’s right folks. I was working on the final product. I could code it on Windows, build it on my Mac and test it on my iPhone or iPad. Things were going great. I had an occasional hiccup, but it was mostly due to integration between the PC and the Mac and followed a logical pattern, so it was easy to work around once I understood it.

But what about Android?

I had a little niggle at the back of my head and it was called Android. Xamarin offered me the same deal on iOS and Android. What if I could release on Android too? So I waited a while, thinking about it. Mulling it over properly. When a friend of mine registered on the Windows app store and Amazon to test if the same limitations applied, I made my decision.

Thanks to John I now knew I could sell through Amazon’s App store as well as the Windows App store.¬†Before my window of opportunity elapsed I needed to buy Xamarin business for Android too. Make no mistake, the offer had an end-of-life so I had to make up my mind quickly.

So, in the same month I went from not being able to afford to go on holiday, to buying an Mac, Registering as an Apple developer and buying both Xamarin’s iOS and Android editions. I also bought a few supporting utilities and a bunch of sounds. This was getting really expensive really quickly.

My bank loved me. So much so that I’m filling in loan forms as we speak, but that’s a different story and one for another day. Hold thumbs though, will you?

This was EPIC

This was not the end of my discovery or redefinition of what I do. It was merely the beginning. I started off with a set of walls surrounding me, cutting me off from doing what I thought I could do and I’ve surpassed them. Sure, I’ve not released a single game or made a dollar but at least I could release one. Someone might just buy it and like it. Who knows. I am under no illusions that this might very well be a one way street in which I’m to gain very little, but there’s no rule that defines it to be so. This is life my friends, we’re all along for the ride.

Where am I now?

Well, I’m glad you asked. The last few weeks have been very, VERY long. I’ve hardly slept, I’ve hardly done anything but work. This isn’t totally abnormal for me, but I did more than the usual. I can assure you that having a full time, demanding job and then creating something like Zombie Apocalypse at night is no easy feat. I had to cut myself off from most of my friends and skip out on many fun times simply because I had to work after hours, every hour. Every weekend, every minute. If you are considering doing this and are not willing to part with your social life, head my warning: DON’T DO IT.

But I did it for myself and obviously, I did it for you, the gamer.

During this time I’ve learned that the most difficult thing for me was the graphics. I drew almost 2,500 sprites in Microsoft Paint, pixel by pixel. Yes, you read that, I drew it all in paint. Remember, I’m not an artist, I’m a programmer. I could easily have done it some other way, but how would I have made sure that all my graphics seem to “fit” together. That the colour schemes are the same, that the tile sizes work etc etc? In the end, I found it easier to just draw it all from scratch. It paid off I think, the cartoon-like look I went for is kind of fun and quirky.

If I can one day afford to hire a graphic artist I will. This meant that I had to spend a substantial amount of time drawing graphics. Time that could have been much better served writing code, expanding the game concepts or well, just making it more fun.

I made a¬†purposeful¬†and active decision not to do everything that I have planned. I have a wall filled with sticky’s and ideas that could make the game lots and lots more fun, but at this rate I need to get it into your hands so that YOU can tell me what you want and what you think. If you don’t like it, then I’ll move on to the next idea. If you like it, I’ll keep refining it. To me, this is the minimum viable product. I would love to give you more in the first go, but that’s not possible right now. Anything I do rolls into another idea and another idea. To implement these ideas I need time, support and money. I have none of those. So bear with me, this is our journey as much as it is mine.

I mentioned that I purchased some sounds for the game. Initially I used sounds that were in the creative commons domain and I have to say, there were some good quality sounds that I replaced by ones that I now own the rights to use. I still don’t know what I’m going to do about game music.

The game, well it’s almost done. Last night I added a sword and grenades so that you could have a little more options when you kill those pesky Zombies! I have a large town map and you can enter into any building you like. Buildings are a safe zone, where Zombie’s won’t go. This gives you a chance to recover your health and to change gear. Also, you can stand on the roof of certain buildings and throw grenades on the zombies below.

Watch this space, I’ll be submitting to Apple VERY soon.

In game samples while testing various weapons

In game samples while testing various weapons

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