If you play it, it must show

Welcome back. Get yourself a cup of coffee to accompany you through my video journey. I had coffee at every step so it makes sense that you have one too, don’t you think?

I had a bit of trouble with my intro video, my logo and just a general  dislike of being disorganized or feeling like I’ve hacked at something. Apart from the issue where all my graphics are drawn pixel by pixel, I had another problem. I wanted to be able to use graphical overlays and background motion video and so on.

If you will, imagine the clouds moving by in the background while the “Start Game” button is showing.

There is no way to play video in all the lovely ways you would expect in Monogame without running into cross platform issues. I’m not referring to playing a movie and sitting back to watch it, that’s easy. I want picture in picture, I want multiple video’s to overlay each other, speed up and slow down at my command, that sort of thing.

Suffice to say that each mobile platform has some way to play a video and each way comes with pro’s and cons. For iOS for example, it means downloading third party projects and figuring out what they did or integrate their libraries and then hope and pray you don’t have sloppy stitch-together problems when you want to do the same for Android.

I don’t like this idea, it feels awkwardly hacked together and makes me feel like I’m losing my touch. I’m a programmer, not a Lego builder, even though I love Lego. After lots of prodding and pondering I decided to do it myself, in a way that exactly the same thing works on all the platforms I am currently testing on, so Windows, iOS and Android then.

Using some magic, with a few tear drops, a feather from a bird-that-became-cat-prey, a stare from my wife and one bucket load of elbow grease, I made my own video format. I call it “the vid”.  The format is pretty cool yet simple. I spent some time on “tooling” so now I can convert any other video format to “the vid”. So that means I can take an MP4 or an MKV or AVI and I can turn it into a vid that will work on Windows, iOS and Android. I can also re-size the video in the process, making it bigger or smaller and reduce quality if I need to.

It is worth saying that I am only talking video here, I don’t care about audio since I’m not making movies, I make games. My “vid” format allows me to do all the programmer thingies that I want to do, such as triggering an event when something is on screen or me being able to specify exactly where on the screen the video should display, the frame rate and so on. They also support alpha channel transparency so I can overlay them with ease.

The files are nice and small-ish (for video) so I should be able to make it all work within the size constraints that allows users to download over 3G instead of WiFi.

Lastly,  I can buffer my video straight from the disk, so I don’t have to load the entire video into memory in one go. This is important as on the lower-end of the scale devices have less memory. Talking about memory, playing the video doesn’t mess up my memory usage either. I keep it pretty steady with no leakage that, err, I can detect at this point. I’ll investigate further on that.

In all, this was fun. Maybe I explained this well enough that it’s not too technical, I hope you could follow. I could show you a video but that’s not really the point. A video is a video, it’s how I made it that is interesting, right?

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

Hello World

a While ago I was feeling the pressure at work and needed to let off a bit of steam. I had been working hard and I just felt that the time was right to do something different. This is easier said than done as I don’t take breaks often and like most of you I suspect I don’t reward myself enough. I have been working real hard at not forcing things, to take things as they come and to see where the road takes me. So this was an opportunity to do something different.

I didn’t have anything coming up at work so I took 3 weeks off, just like that. I don’t know who was more surprised  me or my boss. Now, when I say that I certainly couldn’t afford to go on holiday I really mean it. Budgets are tight these days, but it didn’t matter to me as my wife had just started a new job couldn’t go away even she we wanted to. I’d stay home and do my thing.

The basic plan

I planned on spending my 3 weeks working on atStumps, a cricket game I have been working on since, well forever I suppose. My wife wouldn’t be shocked if I spent all my time on it as that’s what I’ve been doing for years. The roots of the game goes as far back as my mIRC scripting days as a youngster, before I knew any proper programming languages but I suppose the most concrete starting point for the current version of the game started in 2007 sometime.

I remember sitting on the train on the way home, when an email alert popped up, a local company had launched an AI challenge. Now for the initiated this is rather simple: create an ‘computer player’ for whatever game they specify and then your ‘computer player’ (or AI) competes against those of other programmers. This was it. Something that I could spend some time on and I had 3 weeks to have fun with it! I was so intrigued by this email that I missed my stop and had to get off a station later and wait for a return train. I was going to enter this competition. This was the perfect Friday, the start of my holiday.

My first working game

To test my A.I, I figured I needed to create the game, so that I could play against it. The competition was for a ‘Battle City’ type clone, so I created an engine that could play the game and a front end that could draw the world. This caught the attention of my kids, who wanted to play the game.

Now this is where pride overrides anything else. I’m a TCP/IP specialist, and it had just so happened that I had finished my low-latency TCP/IP library the day before. The challenge was on to make the game work multi-player.

By the end of the weekend, we were all playing my version of ‘Battle City’ on the local network and my kids almost enjoyed my map editor more than the game itself. This was a problem to me, as my son would be on my brother-in-law’s computer and my daughter would be on mine. We were effectively sidelined on our own PC’s!

To Xbox, or not to Xbox. Do or do not, there is no try

Then it hit me, I have an Xbox. Surely I must be able to run my game on the Xbox! If you’re still reading at this point, I guess this is where you start grinning because that has to be tough, right? Turns out that porting my ‘Battle City’ to XNA Game Studio was easy as pie. Before I knew it, my game was ready for the Xbox. But, err, the Xbox was not ready for the game.

You see, Microsoft has made it such that you can run your XNA games on your Xbox, but in order to do so, you need to install Microsoft XNA Game Studio connect on the Xbox. If you’re in the US or Europe I suppose this is a 10 second event for you, BUT, for us in South Africa, this turned into a mission of several days! See, we’re not allowed to install XNA Game Studio connect! In fact, we can’t even find it on our Xbox Market Place! It’s not available for our region!

This was strange to me, just this past April I attended Microsoft TechED in Durban. The theme was ‘Africa Rising’. So Africa is rising, but not allowed to do what is common place in the rest of the world. So how exactly should Africa rise? But this is a topic for another discussion, back on track I go.

So, it turns out, that if you are a student, you can register on Microsoft Dreamspark and then, using that registration, you can register on Xbox live and then, once you jump through all the hoops you can link the two accounts and then, after 3 days of debugging, scratching your head, giving up, trying again, giving up again, trying again, you get the picture right? Eventually, once you’re properly frustrated and can’t figure out what else to try, magically things will work and you can install XNA Game Studio Connect on your Xbox. Luckily for me, my brother-in-law is a student. From that point on, it was 10 minutes and we were running the game on the Xbox.

The standing ovation

Now if you have kids, you’ll know that look on Christmas morning when they open their presents, that awe and amazement that you can almost feel in the air. Got the picture? Right!, So showing your game off to your kids while running it on your Xbox is nothing like that. I kid you not, “oh ok” better explains their facial expressions. But I was proud. This was the best waste of 3 days I’ve ever had. It was promptly followed by whatsapp’s to friends and colleagues showing my ‘Battle City’ off on the Xbox. I didn’t get any standing ovations, but still, this was a moment to remember. It felt like I had just defeated Microsoft. Why should this be so difficult to do?

By that night, I had my computer back and could continue working, while the kids played on the Xbox. I had a long chat with my wife as it was bothering me that I had spent all this effort and I could do nothing with it. If you haven’t figured it out by now, the Microsoft Indie program is not available to South Africans, so even if I were to use this new found freedom to create something and install it on my Xbox, I can’t publish it!

Enter monogame. With monogame, you can run your XNA game on iOS and Android! Now this had me excited. Years ago, I dabbled a little with Objective-C and registered as an Apple developer to see what the fuss was about. But, being a C# guy I didn’t want to re-learn things just so that I could use it on Apple. What’s more, I couldn’t use any of my current expertise so I let it go. With Monogame, I could leverage of my skills and do something for both iOS and Android!

This was the beginning of my journey. Hello World, I see you.

[2013/08/20: I added some headings based on feedback from friend & colleague Sean Hederman]