Jun 26

If you would like advice on iPhone game programming from the people behind such games as Tap Tap Revenge, Enigmo and Flick Fishing then you will want to get your hands on a copy of iPhone Games Projects, published by Apress. You can order it from Amazon or buy a PDF version from the Apress Web site.

The book came out the same month OS 3.0 came out. So it won’t have the latest info. But there is still plenty of info and code that will probably still work in the new operating system and on the new hardware.

The first chapter contains no code and is about the fine art of simplicity. It is written by Joachim Bondo – the man behind the Deep Green chess app. I keep running into people who try to stuff complex desktop apps on to the iPhone. They and everyone else need to read this chapter.

The next chapter is by PJ Cabrera. I didn’t even know that the Mac could do Rails programming by default. Within five minutes of his instructions I used Rails to get a test server running on my Mac Book Pro. This was so I could use it to test his code on REST-based Web Services.

Aaron “Flick Fishing” Fothergill wrote the next chapter titled “Rapid Game Development Using (Mostly) Standard C” He discusses code he hacked from the iPhone Crash Landing app to whip up a 2D demo game in (mostly) C. I may review his mods to build a better Sprite class.

Brian “Enigmo” Greenstone writes about game optimization, discussing compiler settings, texture compression, graphics and audio optimization, performance tools, etc.  This chapter contains a lot of useful advice – don’t skip it!

Olivier Hennessy and Clayton Kane of Posimotion (Bikini Hunt) discuss game design, including selecting an engine and documentation.

Michael Kasprzak discusses portable code, game loops, event management, and frame skipping.  I’ll have to re-read his chapter again and work his ideas into a revised OpenGL ES template.

Mike “Tap Tap” Lee discusses graphics and animation and using Shark to find bottlenecks in your code.

Finally Richard Zito and Matthew Aitken discuss Bonjour Networking and Socket Programming. I see a lot complaints in iTunes that people want to be able to network their games. If you can master that it could be a selling feature.  Bonjour lets you network among friends on a LAN without needing a central server.  For the latest technology you should also check out the Apple guide to the Game Kit.

If you’ve been counting you figured out there are only eight chapters. I am glad to see that some publishers are going for quality over quantity. There’s more than enough info in this book to make it worth your while.

Tags: , , , ,

Jun 19

I had reserved my iPhone 3G S last week and went into the Apple store to pick it up today. I strolled in around noon, so there were no crowds. Even though I was the only customer waiting outside the store, security still made me zig zag through the ropes to get to the entrance …

I hit a snag setting things up online because I have credit protection (Capital One got it for me when they had to apologize for a rogue employee accessing my data … ). An Apple employee had to get someone from AT&T on the phone so they could relay four multiple choice questions about my credit history. Once that was straightened out they opened up the box, hooked the phone up to a laptop, activated it and off I went.

Now that I have the hardware to test OpenGL ES 2.0 apps – look out! I’ve been reading up on the subject and hope to post some sample code over the summer.

It turns out I had pre-ordered the book iPhone Games Projects and that happened to arrive today. Look for a review soon – as well as a review of the book OpenGL ES 2.0: Programming Guide.

Since I used to have a video podcast (http://rockosphere.blip.tv/) I’ll be looking at what I can do with the video camera too.

I was also looking at Skype for iPhone today. I discovered that the headset for the iPhone – that comes with a mic – works in my iPod Touch. So if you have Skype, a wireless connection and the mic-enabled headset (which you can buy from Apple for $30 if you don’t also own an iPhone) you can make calls from your iPod Touch.

Tags: ,

Jun 10

According to engadget.com: iPhone 3G S supports OpenGL ES 2.0, but 3G only supports 1.1 — will the App Store splinter?

“When we were breaking down the meaty differences between the old-school 3G and the 3G S yesterday, we made an assumption about support for OpenGL ES 2.0 3D graphics APIs in the original iPhone 3G based on the fact that it had been available in the iPhone OS 3.0 SDK for several betas. Turns out, though, that the graphics processor in the 3G S — the PowerVR SGX — supports hardware acceleration of both OpenGL ES 1.1 and 2.0 while the more pedestrian PowerVR MBX found in the iPhone 3G supports 1.1 alone.”

And since there is no new iPod Touch the same probably goes for that.

This is one of the reasons I was holding off on discussing anymore OpenGL. I was waiting to see what happened. It’s not surprising that the existing chipsets can’t be updated through software to support OpenGL ES 2.0.  I was just waiting to see if the new hardware would support 2.0.  So developers will need to make a decision.  I think I’m going to shift focus to the new chipset and 2.0.    Though I wouldn’t rule out building 1.1 apps entirely.   I could always experiment with #ifdef’ing the code to support both.

Jun 02

If you’d like to write an app that uses the location of the iPhone or iPod Touch (longitude and latitude), here’s a good tutorial:

Hello There: A CoreLocation Tutorial

I used the info to write a quick app that logs my location. In the simulator it will always tell you that it’s in Cupertino. When I tested it on an iPod Touch over wireless it worked great.

Because there are security and privacy issues it will ask permission first on the actual device. You and your users will also need to turn on the capabilitiy in your device settings.

While playing around with this feature I experimented with other apps that are supposed to figure out my location. Some of them didn’t work. All I can figure is they were compiled with an earlier SDK.

Tags: , ,