The Most Diabolical App Success Story Ever

Matthew Campbell, July 29th, 2009

bedeviled-splash-screen.png

Today’s post is the first in a series of guest blogger posts that we are doing here. The author is Darrel Plant and he tells us the story of getting his first app off the ground and into the App Store. This one may be of interest to anyone considering the uber-competive iPhone gaming space since Darrel’s iPhone is a tile game. There are some interesting insights into what you can use to create games and more – enjoy!
- Matt

eBookAd1.001.jpg

My first real iPhone/iPod touch game, Bedeviled: The Most Diabolical Sliding Puzzle Game Ever, went live with both a US$0.99 full version and a free, limited version in the iTunes App Store on Friday, 3 July. It’s a combination of a sliding tile puzzle game and ball-in-a-tilting-box labyrinth, derived from a Flash game concept I did more than eight years ago.

Bedeviled was executed in Unity, a 3D game development system which which has a tie to my days as a Macromedia Director programmer, in the person of Unity Product Evangelist Tom Higgins, who was the Director Product Manager back before Macromedia’s sale to Adobe. I wouldn’t say that there’s a lot of similarity between Unity and Director, which was a more general multimedia development tool, but if you did much work in Director’s latter-day subset of Shockwave 3D, there’s definitely some knowledge you have that’s useful. That said, I had a pretty frustrating path to getting my toes wet enough with iPhone development to get Bedeviled from my original concept to where it is now, i.e. selling somewhat less than a copy a day over the past several weeks.

In my book, Director was always the crack cocaine of programming I suppose that would make Flash the methamphetamine and trying to get things done in C++ and Obj-C just seemed like trying to swim in molasses.

I’d toyed with the idea of programming for the Mac more generally for a long, long time. Long enough to have taken stabs at Metrowerks’ CodeWarrior and earlier versions of Objective-C development environments. But it never really jelled for me. In my book, Director was always the crack cocaine of programming I suppose that would make Flash the methamphetamine and trying to get things done in C++ and Obj-C just seemed like trying to swim in molasses. Late last October, though, in an attempt to broaden my skillset beyond the two primary environments I’d been working in for the past fifteen years (one of which nobody seemed to have much interest in any more), I bought a new laptop and an iPod touch. My trusty desktop computer doesn’t have an Intel chip, so it can’t run the version of Apple’s Xcode IDE needed for iPhone development, and neither would the Toshiba Windows laptop whose dead pixel columns were itching for replacement. I also bought a couple of books on iPhone programming: Erica Sadun’s The iPhone Developer’s Cookbook and Dave Mark and Jeff LaMarche’s Beginning iPhone Development, which were about the only iPhone-specific titles available at the time (SORRY, MATT!).

But I’m not ashamed to say the size of the programming portion of the task was rather daunting.

I spent several weeks working through tutorials in both books, reading blogs, and generally learning my way around Xcode. Got myself signed up with the Apple iPhone Developer program right away. Had a minor hitch getting my business license information synced up with Apple so that I could be ready for the big checks to come rolling in, but managed to work that out with a very nice woman from their business unit. But I’m not ashamed to say the size of the programming portion of the task was rather daunting. There’s just so much in even the iPhone-specific Objective-C libraries that it was difficult to know which way to turn to accomplish a particular task, not to mention learning the idiosyncrasies of Obj-C formatting from scratch.

Then, in early December, I heard about Unity’s recently-released iPhone publishing system. Tom hooked me up with a demo copy and I started working with it a week or so before Christmas, but a family emergency combined with the most snow Portland had seen in fifty years diverted time and energy for a couple of weeks. I was trying to find as much common ground as I could with my Shockwave 3D knowledge, in an effort to put together a working model of the game’s basic mechanism (something I could do in less than a day in SW3D), but was running into some problems. From an email exchange with Tom, it didn’t sound like what I wanted to do was possible (or at least not recommended) in Unity, and by the time my trial expired I had a paying Flash project that required attention for several weeks.

But, they (editor: Apple) didn’t reject it because I’d done anything wrong, they just thought that it didn’t have as much user value* as, say, iFart.

Of course, by the time I got back to Xcode, I’d forgotten more than I remembered, and I had to refresh myself a bit to get up to the point where I’d left off. I got an idea for a quick, free, gag application that the App Store promptly rejected. It almost took me longer to prep the distribution files and fill out the forms for submission than it did to write the application (and it took me a day to write the app). But, they didn’t reject it because I’d done anything wrong, they just thought that it didn’t have as much user value* as, say, iFart.

So after re-learning some stuff in March, I started work on Bedeviled in earnest, learning my way around UIViews and UIImageViews, and figuring out how to cut up UIImages.

So after re-learning some stuff in March, I started work on Bedeviled in earnest, learning my way around UIViews and UIImageViews, and figuring out how to cut up UIImages. And once I’d managed to do all that, I uploaded a development build to my iPod and it ran like a complete dog. Which was, of course, why I’d tested it, but it wasn’t the result I’d been hoping for.

I knew that the iPhone had the capability to do what I wanted to do with Bedeviled after all

Up to that point, I hadn’t touched OpenGL ES except for some very simple tutorials. I knew that the iPhone had the capability to do what I wanted to do with Bedeviled after all, there are a number of actual 3D games on the iPhone and what I needed was much simpler, in processing terms but I was becoming aware that something that implemented OpenGL was going to be necessary.

Best of all, when it ran on the iPhone as a build through Xcode, the performance was great.

And so, in mid-April, I was back knocking on Unity’s door and got a second trial of the iPhone publishing tool. This time, nothing intervened, and after getting past some technical issues I figured out how to do what I needed. Best of all, when it ran on the iPhone as a build through Xcode, the performance was great. I spent about six weeks (not full-time) working on the game, submitted it to the App Store on 20 June, and Apple approved it just about two weeks later.

I spent about six weeks (not full-time) working on the game, submitted it to the App Store on 20 June, and Apple approved it just about two weeks later.

Now all I have to do is figure out how to promote a game that came out the first day of a holiday weekend! And the week after the release of iPhone OS 3.0!

* Exact wording: “We have determined that this application contains minimal user functionality and will not be appropriate for the App Store.”

Darrel
Plant
is Publisher at Moshofsky/Plant Creative Services in Portland, Oregon. For most of the past fifteen years, he’s been an independent multimedia developer and programmer, doing everything from diskette-based portfolios to Mac ports of CD-ROM-based games to large-scale location-based multiplayer game shows. Darrel authored and co-authored a number of books on Director and Flash, was a technical editor for Macromedia User Journal, and edited for Director Online. Darrel writes and blogs about whatever suits him at darrelplant.com. He remembers a period in programming when the only objects were Hollerith cards. Once he built a railroad, made it run, made it run against time.

The Most Diabolical App Success Story Ever | How to Make iPhone Apps…

Today’s post is the first in a series of guest blogger posts that we are doing here. The author is Darrel Plant and he tells us the story of getting his first app off the ground and into the App Store….

[...] more: The Most Diabolical App Success Story Ever | How to Make iPhone Apps Share and [...]

  • Hours of videos, demos & screen casts
  • SOURCE CODE
  • Detailed HANDS-ON Exercises
  • Much Much Much More
  • UIKit
  • Objective-C
  • Core Data
  • More!
  • Learn How To Make An iPhone App right now using my proven system.

    PS: Tons of us are having a blast living off our own code, join us now. Click here to get all the details.