I had an idea for another simple particle-collision game, and this time I decided to see how quickly I could get the game from concept to app stores. And it happened in two weeks, one week of which was waiting for approvals.
Originally I planned for it to be an atomic-particle-colliding motif, not unlike Meltdown. After some back and forth with the community, I went with the name "Particlusion" (particle+fusion). I wasn't completely in love with the name, but it worked and wasn't in use anywhere else. And I quickly mocked up a menu screen.
The original eye-searing Tron-ish main menu
I even made a cool animation for the main screen when I had a couple minutes of downtime.
Then I started on the mechanic. The mechanic was quite simple (slide objects into other objects. If one object is left, you win), and you could even build some fairly challenging random levels by following some simple rules. This is unlike something like Bulldozer (aka Sokoban), where it's nigh impossible to randomly generate a decently challenging level. There's less "depth" than Sokoban (which is a mean feat, as Sokoban's depth is itself limited), but it was intended from the onset to be something quick and cheap.
Fast-forward a couple of days, and I was looking for some inspiration for my little colliding particles. I was thinking of some little nondescript spheres like in Meltdown when I came across some old marble clipart. I pasted a couple in, and it just fit. In fact, they fit so well that I decided to change the motif to marbles. A little name-check and "Marble Bump" was born. I originally planned to have the marbles on grass with a sidewalk texture here and there, but the contrast was much better just with the cement texture, so I left it everywhere.
The rebranded main screen, four days in. Close to how the release looks
The little wrench button in the corner brought you to a very simple level editor that let you place marbles. As you placed marbles, it built a string containing the level and the solution. I eventually added a little clipboard button so you could hop back to the main menu and test a level after copying its level string to the clipboard. From there I spent a few hours drawing and testing levels until I had the 24 "canned" levels that roughly run from trivial (two marbles) to nigh-impossible (19 marbles, I think).
The level editor was just for me, so that wrench-button hides for the release version. It added all of 2K to the game, so I didn't bother cutting it out.
I also got my random level-generator working, which is what you get from the row of buttons along the bottom. I figure if I could randomly generate challenging levels, I didn't need so many "canned" ones. So there are only 24 levels, but you're not stuck once you've beaten 'em all.
After taking the weekend off to carpool the kid to summer camp, I decided my marbles needed some more personality. So I tried the most obvious thing and added little cartoon eyes to 'em. They're actually pretty simple. They have two states (normal and wide-eyed terror), and both pupils are actually a single MovieClip that I tween in whatever direction the marble's moving. If a marble is about to be hit, I switch the eyes to the wide-eyed terror state, and I tween the pupils very small (and that's why the pupils get close together when a marble is about to die. It's actually just one meta-pupil). I added three mouth positions, and I now had marbles that expressed the gamut of emotions from "I'm gonna hit you" to "oh no, I'm gonna be hit" to "Yay, I killed all my friends so I'm happy!"
And I added a random tint to the pupils, so marbles can have green, blue, or brown eyes. That's the sum-total of Marble expressions. As I learned from crafts and cartooning a long time ago, eye shape, eye placement, and pupil placement can impart a lot of personality without a lot of work.
And I put together a little video. It's very close to final form.
Same day as I posted the video, I declared the game finished. I actually had a minor button-graying bug that I have since fixed. But posting updates to app stores is a simple process, just requiring you to upload the updated game and some simple release notes. It's the initial approval that takes the time, so get on that ASAP.
As for app stores, I posted to the iOS store first because it has typically had the longest lead-time (5-7 working days in my experience). Then the Playbook store, which takes 1-2 days to approve. And finally the Android store, which has no approval process, and your game becomes available whenever Google's indexing-bot finds it. Typically an hour.
Just as a lark, I signed up for the Amazon and Nook developer programs and got approved for both (because I'm a force in this industry goldurnit). Modifying the Android app for Amazon was pretty simple, just requiring you to point to a different location to download the AIR runtime. The Amazon approval time was about the same as iOS. Maybe a little longer. I didn't watch it too closely.
I still haven't submitted the game to the Nook store, mainly because I've rooted my Nook with CyanogenMod (which is really awesome and makes your Nook into a full tablet), but I'll need to revert back to stock firmware to test.
Submitting to app stores is a bunch of monkey-work. They all need a textual description of your game, which I just wrote once and cut-n-pasted.
Screenshots are a pain because every store wants certain sizes, so you can't just whip up a pile of generic screenshots and upload them everywhere. Playbook is easiest because your bitmaps can be any aspect as long as no dimension is bigger than 640 pixels. Android has four sizes that they'll accept, corresponding to the most popular phones and tablets. iOS wants 'em in iPhone and iPad size, and you need to upload both. I have an iPod Touch for testing, so snapping iOS screenshots was easy (power+roundbutton snaps screens to your film-roll). I don't have an iPad, and AIR apps don't work in Apple's "not really an emulator" emulator, so I had to fake those.
You also need icons, both for development and app stores. Icon sizes are all over the place, and I recommend you grab a copy of ImageMagick right away. It's got a command-line utility called "convert" that'll convert a bitmap's size and/or format, and it does a terrific job of retaining detail and transparency. The biggest icon that everybody wants is 512x512, so I just drew a giant icon PNG and then made a batch file that would downsize that mega-icon to the half-dozen other sizes I need (480x480, 128x128, 114x114, 72x72, 57x57, 48x48, 29x29, 36x36, 32x32, 16x16). Every store wants all images in PNG, so get used to using PNG as your file format of choice. I prefer Adobe Fireworks for all my bitmaps and screenshots and such, as it's designed around PNG and works with it nicely.
The only other picture you need is a "featured" image for Android and Playbook. This is just sort of an advertising picture. You can see one as my big main title picture here. Android and Playbook want 'em in various sizes, but generally around 16x9 aspect. My best advice is to make a giant bitmap at least 1200 wide with a healthy amount of whitespace around the edge that you can crop and resize without much stretching. As you can see in my Android Market shot, there's plenty of yellow on either side of the marbles, as this particular one has around a 2/1 aspect ratio.
The only other weirdness is Apple's two-step process for submitting. Every app store but Apple's lets you upload your game during the "describe your game and upload your screenshots" process. Just choose your APK or BAR file and press "upload". Except iOS. After you get all your descriptions and screenshots uploaded and Apple says you're ready to go, you then have to run a free utility that comes with xCode that uploads your IPA file to Apple. It's not particularly obnoxious, but it'll catch you by surprise the first time.
If you want to check out how Marble Bump looks in the four app stores, head over to my newly-updated mobile site at m.thecodezone.com and click on the four app-store buttons under the game.
And I'll make the same deal here as I made on FaceTwitterBookPlus. If you review my game, I'll reimburse you for the buck you paid for the game via Paypal