What will you have to need/know to develop games on the iPhone?

I have a decent amount of programming experience and am curious what will I have to know/learn to be able to develop a decent game? I don't have any game programming or developing experience, so any information will help.

You'll need knowledge of C, at the very least, to get into programming games on the iPhone (if you aren't going to go through a third-party solution). Learning Objective-C is a super major plus, and learning Cocoa will most certainly help as well. There will be third-party apps in the future which will assist in programming games for the iPhone, using a wide variety of languages and APIs, no doubt.

A working knowledge of Objective-C and the Cocoa Foundations framework.
Experience using OpenGL ES (for 3D games and applications)
An understanding of how the iPhone handles views, events, applications, etc.
Knowledge of Core Graphics/Animation and Quartz (for animated content)
Experience using Xcode to build, debug, and streamline you application.

If you need help fulfilling some of these requirements, here are some tips that will hopefully get you on your way:

1. Become familiar with Xcode. This includes code completion, breakpoints and debugging, and the research assistant. The research assistant is your friend! Bring it up by pressing Ctrl-Cmd-Shift-?. It will track what you type and bring up related documentation, information, and even sample code.

2. The iPhone uses the popular Model-View-Controller paradigm, which makes the coding of multi-layered applications fast and simple. However, if you don't know what is going on, it can be somewhat confusing and difficult to use. Just remember that Views contain the things you need to display. These are low level containers that do (pretty much) nothing more than holding the things you want to display.

3. ViewControllers are where everything happens. The use of delegates and other abstract classes is deprecated for the most part by the View Controller classes. These are the classes that will handle events performed by your users and also offer a rendering context/starting point for your application.

I hope these things are helpful. If you need more information, feel free to email me at fedman2600@hotmail.com. I plan to post an in-depth tutorial on iPhone development sometime soon, so keep an eye out. Hope that helped and good luck.