Idea to App Store in ONE week
Yeah, I noticed my last post to the blog was a quick postmortem of Marble Bump, which was a game that I intended to take from concept to app stores submit in two weeks.
Well, I decided to one-up myself, and I wanted to find something I could write and submit in ONE WEEK, mainly to get stuff in app-stores for the pending Kindle Fire and Nook Color 2 launches. So I went with one of my simplest games, Countdown Dice. It's just a cute little "push your luck" game where you roll dice to launch rockets. It's very simple and takes about two minutes to play, but it is oddly addictive once you grok the mechanism.
And not only did I get it finished and submitted in a week, I actually got it listed in an app store already!
(Countdown Dice in the Playbook store)
Yeah, it's just the Playbook store, and it's a bit of a degenerate case because the Playbook store typically approves in a shorter time than the rest (save for Android Market which has no approval process at all). Still, I'm happy. To quote the slave-driving colonel in "Bridge on The River Kwai", be happy in your work.
And once again I must plug my G+ feed, which is where I now post the bulk of my development-related info. It's at https://plus.google.com/106460508525236363626/posts
Soanyway, here are some pics of the process.
Here's the first cut at a title screen. It's not much different from it as it shipped. I added a little Matrixesque animation to the title text, and I adjusted the text and colors a bit, but this is it. The buttons are lifted directly from Dice-A-Rama
Development Tip: If something works, steal it and use it elsewhere. Quit reinventing the wheel.
Here are the graphics. The little vector rockets are lifted directly from the old 2007 AS2 game. I figure that game's been played several million times with no complaints about usability, so I wouldn't make many changes there. I did change "Turns Remaining = 5" to "Turn 1 of 5", as it seemed a little more obvious. Gets around that "do we throw the guy off the bridge at 1-2-3-GO or 1-2-3" problem.
I didn't reuse any code from the original. The logic was simple enough that I didn' bother.
Development Tip: Don't worry about making nontrivial objects reusable. While you might find yourself reusing a Pair or Dice class, you probably will just rewrite the CountdownDiceScorer class anyway, so don't kill yourself making it reusable. You've always got the code right there for copy-n-paste if there's a particularly hairy algorithm in there anyway.
Heck, I didn't even reuse the friggin' Dice class from Dice-A-Rama. It has several non-standard dice (with colored pips and face cards) that this game wouldn't need, so I just copy-n-pasted out a few lines of standard dice code.
The icon. Took me about ten minutes. I used IconWorkshop (motto: The only icon editor you will ever need. Trust me) to make the purple roundy background, and then I pasted it into Flash to add the vector rocket and dice. And then I saved it out as a 512x512 pixel PNG and used a batch file and ImageMagick to make all the other icon sizes that the other app stores needed.
Development Tip: IconWorkshop is great. It's especially great with its free "iOS icon library" add-on that lets you drag together a classy iPhone-style icon in seconds.
ImageMagick is also great and is free. If you use a batch file or makefile or ant-file to build your app, use ImageMagick to size things in batch mode. Oh, and ImageMagick can also make .ico files with all of the sub-bitmaps embedded in it, but it's not trivial and requires an absurdly long command-line. I recommend making a batch file once you get it working so you don't have to retype it again.
The "Featured Item" image. The Playbook, Android, and Amazon app stores want a "featured" image along with your icon and screenshots. It's usually just a publicity photo kind of thing like this, and it's about twice as wide as high. And they want all kinds of sizes, from enormous (1920x1186 on Playbook) to small (290x140 on Android Market).
Again, I use Flash for this. Since it's vector-based, you can export out to arbitrarily large sizes and the edges stay nice. I generally save out to a 2048x1536 image with plenty of whitespace (purplespace in this case) near the edges. Then I can just shrink and crop to whatever the app store wants to see.
Yeah, I could probably use Illustrator or Inkscape or some other vector tool. I don't know how to use those and I'm too lazy to figure it out. If you wanna do it for free, use Inkscape.
Development Tip: To take a screenshot on an iphone, it's RoundButton+PowerButton. To take a screenshot on a Nook Color, it's NButton + VolumeDownButton. To take a screenshot on a Playbook, press both volume buttons at the same time, although I just take Playbook screenshots from the emulator using Alt+PrtScn.
So that's just a quick overview of a couple of tricks I use to get stuff into app stores fast.