Now that the new iPhone 6 resolutions are out, a question about assets emerges: What can we do to minimize the number of visual assets for Cocos2d projects?
Earlier I made do with 3 sets of assets: iPhone 3.5" non-retina, iPad retina and a shared middle asset for iPhone 3.5" retina, iPhone 4" retina and iPad non-retina. Then it become clear that iPhone non-retina wasn't worth supporting anymore, so I ended up with only two asset sets, which made me very happy. Now that iPhone 6 has added two additional resolutions, I'm annoyed again :(, especially as the smaller one is so close to the middle asset set. Mostly it's a problem about increased app size.
Here's a comparison of all iOS resolutions in use today:
The resolutions in landscape are (in order of area size):
- 2048 x 1536 - iPad 3/4/Air/Mini 2
- 2208 x 1242 - iPhone 6 Plus
- 1334 x 750 - iPhone 6
- 1024 x 768 - iPad 1/2/Mini
- 1136 x 640 - iPhone 5/5s/5c
- 960 x 640 - iPhone 4/4s
- 480 x 320 - 2/3g/3gs
The asset sets I currently use (except for Small):
- Large - 2048 x 1536 (iPad retina)
- Medium - 1136 x 768 (iPad non-retina/iPhone 4" retina/iPhone 3.5" retina)
- Small - 480 x 320 (iPhone 3.4" non-retina) (already given up on this)
It might be possible to add in iPhone 6 into the Medium category, but not without some experience issues. iPhone 6 Plus at least would need a new set.
So waddaya guys think? Are we just gonna add new asset sets at the cost of a higher app size? Is there a need to do some smart scaling? Are there features in the pipeline that would scale everything automatically on first launch with only the highest resolution asset set?
EDIT: Changed the image and bullets to reflect the actual iPhone 6 Plus asset resolution.