As an experiment over the past few weeks I put together “Invasion Defender” and last Friday I shipped it off to Apple for inclusion into the iTunes App Store. We’ll see how long it takes before I can get the application up on the store; however, my bet is that it will land in the store sometime after Christmas.
Which is fine by me.
The game itself is a variant on Missile Command, an old arcade game from the 1980’s. However, as a twist I’ve added missile shooting flying saucers (you complete the level only when all the saucers are destroyed and their missiles are gone), and landers (which, on landing, shoot missiles to surrounding cities). The arcing missiles were particularly interesting in that I created a Quadratic Bezier curve, and subdivided the curve incrementally from the start to the end. Then, drawing the missile was simply a matter of issuing a single CGContextAddQuadCurveToPoint() call.
The idea of the game is simple: you’re sitting at the airport with five minutes to kill. Kill it by killing aliens!
I suspect the paradigm of mobile gaming is that you’re sitting around bored and have five minutes to kill. You’ve already read your e-mail, and there are no sites you want to browse–so you start up a game and start playing for perhaps five or ten minutes. This paradigm then implies one of two things: either (a) your game is story-driven but can be saved arbitrarily at any point, or (b) your game is like one of the old arcade games: quick and limited in time. (Old arcade games are the perfect model because they were deliberately designed to be quick and finite–all the better to drive customers to insert quarters every few minutes.)
My intent, by the way, is to publicly announce what happens to my application, as a sort of experiment–what can a clever, but (obviously) non-artistic programmer can do by making simple arcade-style games for the iPhone. I’ll be posting sales figures and other information as I get them, as well as other iPhone related things.
Like, for example, the fact that to get your account set up for payment is a royal pain in the ass. The most annoying part was setting up the payment information dialog for direct deposit into my bank. They want the following information on the site:
Bank Name which is obvious. Account type which is again fairly obvious, as is account number. But then we reach Branch/Branch ID, Routing Transit Number and Bank Swift Code. Huh?
Well, if you are banking in the United States, you can Google search your bank (I use Wells Fargo), which means your Bank Swift Code (used for international wire transfers from international Apple Stores, each presumably are separate entities) would be ‘WFBIUS6S’, a fact I learned after searching for “Wells Fargo Bank Swift Code”. The Routing Transit Number for a U.S. bank is the Fedwire 9 digit ABA routing number, and can be found on your check or by doing another Google search. (Oddly enough there are apparently three separate ABA numbers for Southern California Wells Fargo branches which point to the same location.)
The real catch was the branch code, which I learned is apparently necessary for some banks in certain countries. Apparently it doesn’t apply to Wells Fargo, though unfortunately you cannot submit the form with that field blank. (*sigh*) Which makes me wonder if what I entered in that field (‘XXX’) will cause problems if someone in Japan buys my game.