Sunday, October 19, 2014

An Unexpected Journey: Android to iOS

Springling Swipe has been on Google Play for several weeks now. So, why isn't it on the AppStore yet?

Well ... have you got a minute?

About one week after the initial launch, I opened Unity (upgraded to 4.6 to take advantage of the new GUI system) to find that the entire GUI was gone. It wasn't like the sprites became unassigned - the objects were just gone. Making matters worse was the fact that I foolishly forgot to make a backup of the working copy. The closest backup was before the 4.6 update, so it was better for me to recreate the GUI. Time consuming, but not terribly difficult.

Another issue that needed to be addressed was a conflict between two plugins being used in the Android version of the game. Google Play Services allows for features such as leaderboards and achievements (it requires the later, in fact). Then there's AdMob, the service that provides the advertisements that will (hopefully) justify the work that's gone into this new venture as a game developer.

Depending on which plugins you use (there are a number of variations to pick from), they may or may not work well together. Since GPS require a gmail account anyway, it made sense to drop it from the iOS release. Again, it required a little work, but it wasn't difficult.

No, 'difficult' is being a Windows user trying to get something on the AppStore.

In order to get an app uploaded you have to do the following:

1) Have a Apple Developer license ($99/year; in contrast, Google Play requires a one-time developer's fee of $25)
2) Setup your iTunes Connect account
3) Get two certificates - Developer & Distributor - through this account for the app you want to make and apply them to your 'keychain'
4a) Fiddle with some settings and add a number of libraries related to the plugin to get where Xcode will compile it
4b) Connect an iPhone/iPad to a Mac and compile your app in Xcode to the device - as you might imagine, this is tricky for someone who owns neither an iOS device nor a mac. Fortunately, I know some 'apple guys' (This is the step I'm currently in).
5) Assuming there are no issues, upload the app from the device to iTunes Connect.

Easy for a Apple Acolyte. Nearly impossible for a PC Punk.

I'm praying that's all there is to it - that there isn't another 'surprise' or 'gotcha' waiting around the corner.  This has been such a headache. If I had the money, I'd buy a mac and an iphone just so I wouldn't have to go though all this mess again.

Unless the game suddenly takes off, however, I don't see that happening. I guess that means that the next leg of this journey will involve learning how to market my mobile game and get the word out about Springling Swipe.

Tuesday, September 2, 2014

My Descent Into Mobile Game Development

Sometime around October of last year (2013), I got it in my head that I'd like to make a mobile game. Having ideas and making plans to do this or that is nothing new for me - I've got a number of half-finished (novel) and/or aborted projects (fantasy playing cards) - but for some reason, this one stuck.

Up to this point in my life, I had some experience as a Javascript/PHP coder built over some Java & C++ classes taken years prior in college, but never fancied myself a serious programmer. I always leaned toward front-end work, because that's where the designers and artists got to play. However, I knew enough to get myself into trouble. So I did a couple of Google searches to find out what was involved in producing a mobile game.

Eventually, I stumbled across (not upon) Unity3d. At first blush, it had everything I was looking for: It was free and it could export builds for both Android and iOS devices, which make up something like 98% of the mobile market. It also allowed to languages: C#, which is almost like C++, and Unityscript, basically Javascript, with some quirky additions. I had originally intended to go the 'Script route, but was surprised to find myself working in C#. That decision was probably aided by the number of quality C# tutorials and lessons that help get me immersed in the environment.

I spent some time trying to figure out what sort of game I wanted to make. Ideas? I had lots of those, but which one? One of the Unity forum threads had some advice for new game developers: "Yeah, you want to make something epic and great, but you need to start small. Otherwise you'll get discouraged and quit before you finish your first game." At least, that's what I took from it. So I began to churn out ideas for 'small' games - ones that I didn't feel would be too terribly demanding to produce (because I'm still working as a full-time freelancer), but would still be fun. Because, ultimately, that's the most important thing.

Nearly one year later, I've almost wrapped up development on my first mobile game - Springling Swipe - and starting to get my business and marketing ducks in a row.

The challenge at this point is feature creep - the urge to keep adding little extra bells and whistles to make the game that much 'better' or 'polished' or 'professional.' Sometimes, I can be a bit of a perfectionist. Other times, I use the perfectionists' excuse of 'it can be better' to tweak a project into oblivion so it never sees the light of day and risk handling any sort of rejection (that's a whole other can of worms). I think I've got a handle on this, though. I think I'm at the point - barring a couple of details - where I'm ready to put the game (and myself) out there in a way I never have before and let come what may.