Just a quick shout out from a book from 71 Squared, the creators of the excellent iPhone game programming videos that you may have been found on this site.
Mike Daley’s upcoming book iPhone Game Programming has been released as a rough cut (essentially a beta verson of the book). You can read about it here: Learning iPhone Game Programming – available on Safari Rough Cuts.
[Source: 71 Squared]
Just like to turn you guys on to what is the best iPhone game tutorial with videos on the web so far in case you haven’t seen them. Please note that this is not the simplest iPhone game programming tutorials as you will be building an OpenGL game engine from scratch. This does also make this a great iPhone opengl tutorial.
These tutorials are from 71 squared. They run through the steps to creating a game on the iPhone in tremendous detail, and include source code. Included are in-depth videos.
Update: Links no longer valid – sorry to those visiting this page, please see other game tutorials here.
Together These Make One Excellent iPhone Game Tutorial
iPhone Game Programming – Tutorial 1
iPhone Game Programming – Tutorial 2 – Image Class
iPhone Game Programming – Tutorial 3 – SpriteSheet Class
iPhone Game Programming – Tutorial 4 – Bitmap Font Class
iPhone Game Programming – Tutorial 5 – Animation Class
iPhone Game Programming – Tutorial 6 – Tiled Map Class
iPhone Game Programming – Tutorial 7 – Singleton Class
iPhone Game Programming – Tutorial 8 – Particle Emitter
iPhone Game Programming – Tutorial 9 – Sound Manager
iPhone Game Programming – Tutorial 10 – Game Structure
iPhone Game Programming – Tutorial 11 – Joypad
iPhone Game Programming – Tutorial 12 – Saving Game State
iPhone Game Programming – Tutorial 13 – App Store Submission
iPhone Game Programming – Tutorial 14 – Moving To 3D
Update: Links no longer valid – sorry to those visiting this page, please see other game tutorials here.
Now these gents are also writing a book on iPhone game programming. So absolutely if you like their tutorials I suggest you check it out. I don’t think it’s available for pre-order yet but you can read some info about it here.
I haven’t read the new edition yet, but since Beginning iPhone Development was the best book I’ve seen on iPhone development I thought I would let you guys know that the source code has been updated and Beginning iPhone 3 Development made available.
You can download the source code and here. The new book provides new material on iPhone SDK 3 features such as Core Data, and updates several examples. Overall there is about 50 pages of new material.
My suggestion is to take a look at the examples in the source code, and make the decision yourself if you feel the new book is worth ordering if you already have the first Beginning iPhone Development book. For beginners I absolutely recommend this book once you have a decent understanding of Objective-C. For a look at my favorite iPhone development books please check out my post on the 3 must read iPhone development books.
Amazon actually has a version of the book available here for $26.39 and $22.38 on Kindle (prices could change).
Here’s my updated list of OpenGL ES resources, this list includes tutorials, engines, blogs, and books. I have updated it to include a couple of OpenGL ES 2.0 resources, and many other OpenGL ES 1.x resources that others have shared with me.
I have created a new version of this list at: 18 OpenGL ES Resources That You Must Know!
If you don’t have a basic understanding of 2D and 3D math for computer graphics your head will probably explode once you try learning OpenGL. To prevent that from happening you should at least understand the terminology, and the reasons why this math is needed. No need to grind through math problems like in college.. that’s what computers are for.
1. The Black Art of 3D Game Programming Chapter 10 This is a great introduction to graphics math, and pretty much crams 3 college courses I took into this chapter. The whole book can be found here for free. It is an old book, but the math still holds true.
2. Vector & Matrix Math Tutorial If you feel that everything in the resource above is flying above your head then you probably will want to take a look at this. I normally wouldn’t reccomend a resource that brags about being "book sized", but it is very good.
iPhone Specific Resources
3. iPhone OpenGL ES Tutorial Series I don’t know if Maurice SImon is the smartest person alive, but this is the smartest set of OpenGL ES tutorials I’ve seen. A terrific resource.
5. SIO2 Engine this is an excellent Open Source 3D OpenGL ES engine, look at the code, understand, and maybe even use the engine rather than write your own from the ground up (nothing wrong with that).
6. Oolong Engine An Open source 3D OpenGL ES Game Engine for Iphone, MIT licensed. Written by Wolfgang Engel former Rockstar Games programmer, and author of some intense DirectX books. Great to see the libraries in here for handling memory, loading 3d models, and performing math.
7. Cocos2D Iphone This is an excellent Open Source 2D OpenGL ES Game Framework for iPhone you can learn alot from going in and looking around the code. As far as Open Source frameworks go this extremely easy to use, well documented, and has an active community.
8. SDL for iPhone (SDL Version 1.3) The SDL library has been a popular open source library for probably over a decade, and has been used in many games. This is the iPhone port, and a great resource.
Non iPhone Resources
If you use these resources you’ll need to put in some time to get things running on the iPhone, but they are still excellent.
10. Nehe Tutorials Converted To OpenGL ES Michael Gorchak creator of the GluES library has put together this collection of tutorials converted from their original Nehe form. In case you haven’t heard of them the Nehe tutorials were the definitive free tutorials for learning OpenGL. Michael has done an excellent job of writing comments for these tutorials.
11. Khronos OpenGL ES Page This is the OpenGL ES "homepage" on which you will find the reference manual, and lots of examples. Not specifically IPhone, but there are some great examples here and even a complete racing game BSD licensed.
12. Khronos OpenGL ES 1.x Step-By-Step Tutorials This page is from Imagination Technologies makers of the Iphone GPU, and it contains the Khronos tutorials converted to OpenGL ES and created for the PowerVR technology. Good to lean from especially as to how they load Pod files.
13. Zeus CMD OpenGL ES Tutorials This site contains 25 Great OpenGL ES Tutorials and they are extremely well paced, this was a site I learned alot from.
14. Typhoon Labs OpenGL ES Tutorials Another excellent set of OpenGL ES tutorials if you’re addicted to tutorials you might want to check these out too.
OpenGL ES 2.0 Resources
These are the OpenGL ES 2.0 resources you know so far, the Khronos OpenGL ES page above also includes information on OpenGL ES 2.0. You can see there aren’t many that i know of so if you know of some killer OpenGL ES 2.0 resources please link to them
15. The OpenGL ES Programming Book The code from this book has been updated to run on the iPhone and can be found here. Make sure you have a solid understanding of OpenGL (or OpenGL ES 1.x) before starting this book.
16. The OpenGL ES Shading Language This is a free pdf book from Khronos, and actually a really good read, and will teach you what you need to know, again don’t try this until you at least have some OpenGL understanding or your head may explode. Thanks to Bill Dudney one of the authors of iPhone SDK Development for pointing this out.
This is a quick video on getting started with iPhone OpenGL ES:
That’s it, if you know of some other great resources please share them.
A question that I see commonly asked, and am asked at least once a week is “what book should an iPhone development beginner read?”. So here are the 3 books that I believe beginning iPhone developers must read if they want to understand the SDK as fast as possible. Please note that if you get these books understanding them will not be easy, it will take considerable effort, but I imagine that if you were to take college courses the content would be spread over several courses.
Update – Sept. 25, 2009
Since writing this article, I have found out about another book (in e-book format)which I now intend to use to train some local programmers to work with. It covers what you need to know from raw beginner (C basics, Objective-C, and iPhone development basics) and includes several templates so that you can get an app out there very quickly. This is my new #1 recommendation and you can check out the book here.
I recommend checking out this book first, and then if you have problems and need more in-depth study use the books below. This should save you alot of money, and time. Please note that this is an e-book, and you can obtain a copy through instant download here.
Here’s the 3 other Books, and the order I suggest reading them. My rating for all three of these books is 5/5 stars.
1. Programming Objective-C 2.0 – Beginner book goes through Objective-C basics, OO principles, and C language syntax. Does not assume that you know C/C++ or Java. This book may be a bit difficult for absolute beginners, but if you stick with it this book will teach you the basics you need to know. This book takes you from the beginning to the point where you are learning the iPhone SDK. By the way, there is now another book with the same name, do not fall for that and make sure if you get this book it is by Stephen Kochan.
2. Cocoa Programming for Mac OS X – While not specifically an iPhone book this book teaches many of the principles that you need to understand in great detail, beyond that of iPhone development books that I’ve seen. The book also goes into libraries that may be included on the iPhone in the future. This book can be a difficult read especially if you actually do the exercises, but it is well worth it.
3. Beginning iPhone 3 Development – This is probably my favorite programming book of all time, it’s a very easy read, but still manages to explain the key concepts used. This is certainly not the most thorough programming book of all time, but combined with the knowledge contained in the two books above you should gain the knowledge required to understand Apple’s documentation and examples. This book is currently being updated to include iPhone SDK 3.0 material. UPDATE: The new edition of the book can be found here: Beginning iPhone 3 Development, all material from the old book is included.
Here are some other books that I’ve checked out that I found to be of solid value:
The iPhone Developers Cookbook – This book contains many “recipes” that you can use when developing your book, it does not go into concepts at the level of depth of Beginning iPhone Development, but I have found several times that I end up going back to this book and adapting a recipe for use within my own code. This book is currently being updated to version 3.0, and from looking at the rough cut the added formulas look extremely useful. My rating 4/5.
Learning C on the Mac and Learning Objective-C on the Mac – These books basically go together so I’m mentioning them in the same phrase. Combined they will basically teach you almost as much as Programming Objective-C 2.0, but you’ll end up buying two books instead of one and spend almost double. My rating 4.5/5 on C on the Mac, and 3.5 for the Objective-C on the mac book.
iPhone SDK Development – This is an ok book, it does not really go into anything in any depth, but it does point you in the right direction, and the sample code is very good. It covers some concepts related to web programming that are not covered within the other book. My rating is 3.5/5.
I’ve created a small video where I talk a bit about the 3 books:
Please post about any other books that you feel are worth checking out.