I am underway programming an application for the iPhone. It's unlikely to be the App Store's next killer app, but it's a good project for my current capabilities, and will provide a useful tool for backgammon playing iPhone owners wanting to keep their minds fresh. (Or like me, desperately needing as much fundamental skill practice as possible!)
The application is essentially a Flash Card App that will help serious students practice some of the math required for over-the-board play.
I am currently experimenting with the best way to present the board on the machine. While it would be interesting to use Open GL for the board, this would be overkill. The checkers do not have to actually move, and as I have never done any Open GL programming, it would be a steep learning curve, especially on a device that I am still becoming familiar with. Perhaps for Version 2. It would be fun however, to have the checkers reposition themselves visually for a new position, versus the technique of switching the views I am using now.
So with no Open GL for Version 1, that leaves the highly capable Core Graphics (CG) libraries Apple provides in the Cocoa framework. I can either draw each board from scratch, including the checkers, using CGPaths, or just draw the checkers on top of an existing background image. I will try both. The iPhone has a dedicated graphics processor that the core graphics routines will use, so making the machine draw everything is not as expensive on the CPU as one would think in a handheld.
For other new iPhone coders that come across this post - I have found
the connection between the actual device and Xcode version 3.1.3 to be
occasionally cranky. If you find yourself with either of the following
error messages:
or
completely power off and reboot the phone, then plug it back into the machine. When I first encountered this, I spent too much time suspecting my code-signing certificates were corrupt, or the supported OS symbolic links needed adjusting.
Additional Resources
Getting started with iPhone Programming and Objective C:
Beginning iPhone Development by Jeff LaMarche and Dave Mark
Programming in Objective-C 2.0 by Stephen Kochan
All of Apples documentation on the Developers Portal
Backgammon Book Worth Noting:
Backgammon Bootcamp by Walter Trice is a great book on the entire game, that also discusses the math required in tournament level play. Sadly, Walter unexpectedly passed away this past Sunday (August 23rd).