When I decided to create an Objective-C Tutorial, I didn’t want it to be just another boring tutorial. I wanted it to be fun! And, what better way to do this than to teach my students how to develop an iOS game.

At first, I was a little reluctant. To be honest, my idea of creating a game involved complicated code and a lot of math. Not too mention, a splash of Cocos2d; something I wanted to avoid in this tutorial. It was, after all, supposed to be an introduction to Objective-C, not a crash course on game development. I wanted to keep the focus on the standard UIKit and the Foundation Framework.

That’s when it hit me! WHACK! I turned around to see my son quietly sliding away from the ball that was now resting at my feet. Having a home office can prove to be a bit of a challenge sometimes. However, it’s also a blessing.

I asked my son (he’s 9, by the way) what kind of game I should make. “A card game,” he said.

“A card game. Perfect!” I tossed him the ball and away he went. I assume to go torture his dad.

I was excited to get to work. Making a card game would allow me to present the material covered in the course in a practical and fun way. Besides… I had plenty of creative finished for my zombie game. I could repurpose some of this art and save some time ~ something I’ll need to do if I’m going to meet my personal goal of having this finished by mid December.

Once I had the general idea fleshed out, and the creative squared away, I started coding.

My original plan was to do most of the layout in code simply because, in game development, this is usually how it’s done. However, recent conversations with other iOS developers has lead me to believe that some folks are “reluctant” to use Interface Builder. While it’s true you can’t do everything in Interface Builder that you can do in code, it does speed up development. So, I decided to use it for this course.

ProTip: If you haven’t used Interface Builder for iOS development, you should. The speed with which you can build an app using it is amazing. In fact, I’ve been know to create a fully functional app shell in less than a day.

So… that’s what I did!

I created the (majority of the) game in Interface Builder… hooked it up to some code… and WHAM-O! Instant game in less than a day and a half!