So here's my dilemma: I have a great idea for a new mobile game that could go on either platform. I don't think it'll be easy to share code between the platforms despite both using OpenGL ES. I personally have access to a Droid and Droid Eris, and would have to purchase an iPod Touch to playtest. It seems like the audience for iPhone would be larger, but I'm more partial to Android. Any ideas on which I should choose?
I develop applications for both platforms (no games yet, though) and, despite my disdain for Apple, I'd argue that iPhone is a better platform for developing 'conventional' games.<p>The iPhone's ability to write in plain C will help if you're planning on using any off-the-shelf libraries. Yes, you can do this with Android's NDK using JNI, but it's not nearly as seamless.<p>Also, if you're going to be using OpenGL, Android's OpenGL ES 1.1 implementation is 'not complete,' while iPhone claims a complete ES 1.1 implementation, with newer models (3GS, latest iPod) supporting ES 2.0.<p>Lastly, if you're doing a performance-intensive game, you may want to keep in mind that your Android code will run on top of Dalvik, while iPhone code will be compiled to binary. Hopefully, this won't be an issue, but I imagine it's not fun to realize that you'll have to port most of your physics and game logic to C using the NDK.<p>Again, I have no experience developing a legitimate game on either platform, so take my words with a grain of salt. And as an Android user myself, I'd love to see more games on the platform. Best of luck, and let us know what you choose!
I'm an Android user and generally find HTC sense an improvement over my old iPhone in a number of ways.<p>However currently applications downloaded from the market must install to in-phone memory, not the SD card. This severely limits their size. Some apps alternatively just have a downloaded in the market that fetches the rest of the app onto the SD card when launched, but the user experience for that isn't great.<p>I'd wait until Android gets native market -> SD card capability. In the meantime, go for iPhone.
There are a lot of good tools for game creation on the iPhone (Unity, for example) that just don't exist for Android yet. They are coming, (JMonkeyEngine is coming out with one sometime soon I hear). Also the audience is bigger, though Android is catching up. All that being said, it is probably easier to make a name for yourself in Android game development...basically it is a tossup. Go with the language you are more effective in, and if you get some cash coming in from that, port it over to the other platform.
Well, they both have their strengths and weaknesses obviously. One thing I'd say in Android's favor is that if you make a really kick-ass game, you'll be a big fish in a small(er) pond. I think with the iPhone there's a higher risk/reward, but with Android you have a chance to make a really big splash.
I'd go for the Andriod, it is gaining steam. I think the big fish in a smaller pond idea makes a lot of sense. If it does well on one platform I would look at finding someone with experience on the other to help port it.
You're audience probably will be larger on the iPhone OS. Plus, you might enjoy coding in Objective-C more than Java (for the non-OpenGL ES stuff).<p>I'm biased toward the iPhone, though.