Interview at The Mobile Orchard Podcast

The latest podcast from Mobile Orchard covers my interview describing my experience as an indie iPhone developer and how Flower Garden was developed. I was particularly pleased when Dan Grigsby invited me to do the interview because the Mobile Orchard podcast is one of the two podcasts I listen regularly (the other one being TED Talks). The interview topics range from high-level topics like business aspects of iPhone development, down to the nitty-gritty of how the procedural flowers were created, or how I had to use assembly language to take advantage of the vector floating point processor on the iPhone to do all the heavy lifting for matrix transforms.

Flower Garden Released!

Flower Garden Released!

Flower Garden was finally approved and it’s available right now! This is what I’ve been pouring my heart and soul for the last six months. You can buy it directly from the App Store. If you like it and would like to help out, here are some of the things you can do to promote it: Go back to iTunes and write a fair review Grow flowers and send bouquets to your friends Join the Flower Garden group on Facebook Tell all your friends how great it is :-) Thanks everybody for all the encouragement and support along the way. I hope you enjoy playing it as much as I enjoyed creating it. ...

Flower Garden: In Review

Flower Garden: In Review

With all the excitement last week with GDC and the last push for Flower Garden, I completely forgot to announce that I submitted Flower Garden to Apple last Friday. It’s currently listed “In Review” and hopefully, if all goes well, will be available on the App Store either this weekend or early next week. Keeping my fingers crossed!

GDC 2009: iPhone Development: Exploring The New Frontier

GDC 2009: iPhone Development: Exploring The New Frontier

Things have been so busy ever since I got back from GDC that I never got a chance to upload the slides for my GDC presentation. So here they are. You can download the Keynote file directly from here, or view it online. The presentation went very well. The room was *completely* packed, with every seat taken and people standing along the walls. In retrospect I shouldn’t be surprised because it was the only iPhone presentation in the main GDC conference. Clearly there is a huge amount of interest in the platform. I’m already pushing to have a lot more iPhone content for next year, so you can all look forward to that. ...

The Importance Of First Impressions

The Importance Of First Impressions

A few weeks ago, I set as my drop-dead, better-be-done-or-I-kill-myself date for Flower Garden to be March 20th. The date getting closer allowed me to focus and put a huge, hard effort. Since I got back from 360iDev, I’ve been working between 18 and 20 hours per day. Yes, that’s pretty crazy, but it actually didn’t feel like a strain because a) I love doing this and b) I can do it from the comfort of my own home. But that’s the topic for another post. ...

iPhone Developer Program Gotchas (or what I learned the hard way)

iPhone Developer Program Gotchas (or what I learned the hard way)

One of the most confusing parts of iPhone development is dealing with the iPhone Developer Program side of things. You know, all that fun stuff with certificates, devices, provisioning profiles, distribution profiles, etc. Oh, the hours of “fun” you can spend with that. Last night was particularly frustrating because I had just called it “beta” on Flower Garden and celebrated with the requisite victory dance, when the fun of sending out the beta build started. What I thought would be a ten-minute task, turned into a long nightmare and I didn’t get the build out until 1AM. ...

Becoming Indie: 360iDev Presentation

Becoming Indie: 360iDev Presentation

Here are the slides for the 360iDev presentation I gave a few minutes ago. They’re in Keynote format. Thanks everybody for coming and all the questions at the end. It was lots of fun! Session description: This session will cover the experiences of a professional game developer, used to 200+ person teams, multi-million dollar budgets, and 3+ year schedules, who left all that behind to become a one-person indie company developing exclusively for the iPhone. It will explain how things are different and how some things are very much the same, and will show specific examples of graphics technology, development environment, and asset pipeline. I will be using my current iPhone project, Flower Garden, as an example. The audience will learn what the transition is like and what to expect going indie making games for the iPhone. ...

Adding New Development Devices

Today I join the ranks of proud iPhone owners (maybe not so much in Japan though). Yes, it an extra expense I can barely afford, but my previous cell phone contract was pretty much over and it made sense. So far I had been doing all my development on an iPod Touch, but I could really use a real iPhone for beta testing Flower Garden with all the reports of significant performance differences between the iPod Touch 2nd gen and iPhone. Besides, with 360iDev and GDC coming up, being able to have constant internet access for email and Twitter is a huge bonus. ...

Presenting at GDC 2009 on iPhone Development

Presenting at GDC 2009 on iPhone Development

It seems like GDC was just the other day, but GDC 2009 is around the corner! And this year, I’m going to be giving a presentation titled iPhone Development: Exploring The New Frontier I’m sorry about reverting to the cliched format of having a colon in the presentation title. It was too hard to resist :-). I’ll be sharing my experiences transitioning from traditional AAA console game development, with teams of 100+ people, multi-million budgets, and several years of development, to indie iPhone development. There are a surprising amount of things that carry over from “big game development”, and quite a few that are totally different. I’ll go into what’s involved making games for the iPhone, and what game developers can expect when making the transition. ...

Last Objective-C Annoyance: Fixed!

Last Objective-C Annoyance: Fixed!

I’ve gone on and on before about how much I like Objective-C and especially, how well it plays with C++. Mixing the two is a pleasure, and it’s often hard to remember where one stops and the other one starts. So much so that sometimes I catch myself calling C++ member functions like this [self myFunction:param];. Oops. It is true that Objective-C can be a bit more verbose than plain C++, but it more than makes up for it with named parameters (which increase readability a huge amount), and not having to duplicate many things between header and implementation files. ...

San Diego iPhone Developers Gathering This Wednesday

We had so much fun the first time, that we decided to do it again. Last time we had a great turnout and we had a great time comparing ninja UIKit techniques, giving exclusive worldwide previews of apps in the works, and sharing voodoo spells to to make your app show up in the front page of the App Store (amazing what a few beers will do). So we’re back at it again. Anybody involved in iPhone development or interested in learning more about it is welcome to come. ...

Remixing OpenGL and UIKit

Yesterday I wrote about OpenGL views, and how they can be integrated into a complex UI with multiple view controllers. There’s another interesting aspect of integrating OpenGL and UIKit, and that’s moving images back and forth between the two systems. In both cases, the key enabler is the CGContext class. From UIKit to OpenGL This is definitely the most common way of sharing image data. Loading an image from disk in almost any format is extremely easy with Cocoa Touch. In fact, it couldn’t get any easier: ...

Using Multiple OpenGL Views And UIKit

Using Multiple OpenGL Views And UIKit

The iPhone includes OpenGL ES for graphics rendering (thank you Apple for not coming up with a custom API!). Specifically, it uses OpenGL ES 1.1 plus a few extensions. It’s all very familiar and standard, except for the actual setup, which requires some integration with the iPhone UI. The now gone CrashLander sample, in spite of some atrocious code, was the best example on how to get a simple, OpenGL app on the iPhone. It covered the basics: creating an OpenGL frame buffer, loading some textures, drawing some polys, and presenting the result to the screen. It was very useful because it was a very small and concise and it made for a great starting point for any OpenGL-based app. ...

Tea Time! 1.1 Update Gets Its Way

Tea Time! 1.1 Update Gets Its Way

Last Friday, I decided to fix a bug in Tea Time!. Not so much a bug in Tea Time! actually, but a bug in Apple’s UIPickerView control that showed up when subclassing it. It turns out that it was possible to scroll the picker wheel just so, and one of the rows would come up blank (see screenshot). As far as I could tell, the UIPickerView class was unhappy that I was pre-allocating all the views I was going to show in the picker and handing them out whenever they were requested. So I had to allocate them on the fly or reuse the one in reusingView: ...

Speaking at iPhone Conference And A Teaser

Speaking at iPhone Conference And A Teaser

I missed the iPhone Tech Talk World Tour last Fall. At the time it wasn’t a big deal because I was still soaking in all the information from the iPhone SDK docs. Now, on the other hand, I’m at the point that I’m getting into more advanced stuff, either not covered in the docs, or that it’s just plain tricky. For example, I spent all day today trying to coerce my app into sending an email with an image attachment–in the end I either kind of succeeded, or I bypassed the problem, depending how you look at it. But that’s another story for another day. ...