Listening to a story on NPR tonight about Mexico’s economy and heard for the umpteenth time the idea that the economy’s bottomed out, it can only get better” which has been pushed forth for months about our own economy, as well.
Apart from the fact that the predictions of the bottom have been so constant as to have become as meaningless as white noise over the past several months, the idea that when something hits the bottom that it immediately begins to rise is just unsound.
Not having directly been a part of the San Francisco multimedia axis, I didn’t have much contact with Marc, but I do have a couple of stories.
At the big Q&A session at the 1996 Macromedia User Conference, I was just about to step up to the microphone to ask a question whena rather burly gentleman rushed past me to snag the floor. I can’t remember what he asked, but as it happened I never did get a chance to ask whatever I’d been thinking of. That was my first experience with Marc Canter.
The next year, as the Director 6 beta was winding down and people were lamenting the closure of the discussion list (this was at a time when DIRECT-L had several thousand members and the signal to noise ratio was significant), I started up a mailing list for the ex-beta testers. We started planning a get-together at the 1997 UCON, and somehow Marc heard about it and graciously offered to host it at his house (then on Potrero Hill). In those pre-Mapquest days, though, a number of the attendees didn’t realize quite how far that was from Moscone Center, however, and I still get people complaining about it a dozen years later. There’s even some postage stamp-sized video from the era.
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.
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. For me, 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 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.
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 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 was 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.
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.
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. 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.
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.
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 yesterday.
Now all I have to do is figure out how to promote a game that came out the first day of a holiday weekend!
Aside from timing her resignation announcement for the day before the Fourth of July, Gov. Sarah Palin also chose the first day of a week-and-a-half break for The Daily Show and The Colbert Report, lending further evidence to my theory that when those shows are off the air some crazy shit goes on. See also the Department of Justice’s argument about not releasing torture documents.