As someone who has written a game (To The Stars 3D on iPhone) and as someone who has gone through many different routes, I would suggest taking a look at Unity3D. They have a free version and they really take a large portion of the pain out of creating a game on basically any platform.