I'm about 95% done with my first iPhone game and I'm currently testing it on a 3G, 3GS and 4. It's a game with heavy physics (angry birds would probably be the closest example I can think of). Anyway, right now it works perfect on 4, only hitches very slightly on 3GS when there is a lot going on but the 3G is having a real hard time running the game. My question is, how much is it worth my time to try and optimize for 3G at this point? I'm not sure if that's even possible without gimping a lot of the physics / levels. Are most of you still seeing a huge 3G playerbase or have most migrated to 3GS / 4?
107k sessions last 30 days. 5k sessions on iPhone 3G 5k sessions on iPod Touch 2G Looks like about 10% of my player base is still on arm6 devices. No one sells Arm6 devices since about 3-4 months ago. I'm also thinking of dropping it within the next 6 months.
get it running smoothly on 3gs and you should be fine.. at one point you can't support everything as a small developer.. but being iphone4 only will be hard since there are still alot of last gen devices around and a 3gs is still very fast
According to some feedbacks of our games. Retina graphics on iP4/Touch4 are more important than running speed.
Thanks for this. Very enlightening. And I've just been working on a fix for a crash on iPod 2G for my game.
well there is a difference between a crash and poor performance.. as for cpu isnt the 3gs also arm6 based just higher clocked than the 3g?
Is there? It sounds like the game is pretty much unplayable on a 3G, which is probably just as bad as a crash. Plus he's sure to put that the 3G is not supported if he decides against optimizing.
Yeah the biggest problem with the 3G is even when nothing is going on the framerate clocks at 45-50 fps. And once the explosions / physics kick in, depending on how much is on screen, the framerate can dip below 10 fps, sometimes to 3-4 fps. I'm not really sure how I'm going to optimize for something like that. I've already done a lot of optimization to get it to run smoothly on 3GS but it's had really no effect on 3G performance.
Consider dropping the target frame rate to 30fps, that often produces a considerable speed up. Also if you're firing off any fancy explode effects or whatever, could you tone them down?
I have a reduced version of a background particle effect to enable my game to run at 60 fps on an iPhone 3G. I did have a few other effects that I automatically swapped out depending on version, but optimisation meant they were not required in the end. Based on MrBlue's figures, you may be losing 10% of your sales, but would it add 10% to your development time? That is a starting point for your decision.
us 2G gamers have plenty to play so I wouldn't worry about it. though you are cutting out potential users. Which in my opinion as a small developer I need as wide of an audience as possible. Also consider your audience. 2G ipod touches are pretty cheap 2nd hand so there's probably a lot of younger people on these who can't afford iphone 4's.
Yeah, but by definition they don't buy much stuff. I'm still fixing my crash, because I can and I want to. But out of thousands (of free) users, I've only heard 2 complaints about iPod 2Gs (my game requires 3.2, so no original iphones and ipods to worry about).
thanks for the advice guys, i took 4-5 hours over the weekend and polished it up for 3G users. I basically auto detected an iphone 3G or less and removed a lot of the effects and objects. the main game runs at 60 fps, but the 3G version seems locked around 30 fps with the occasional dip during chaotic explosions.
iOS 3.1.3 was the final iOS 3.x version for iPhones and iPod touches. iOS 3.2 was iPad-only, so if your game requires iOS 3.2, then for iPhones and iPod touches, it really requires iOS 4.0.
Thanks, I was aware of that, but didn't feel like it was worth it to go into that much detail. The point was that first gen devices couldn't use it anyway (though that's not the reason for requiring 4.0).