I developed a game using Cocos2d API for iPhone/iPod touch. My game supports normal graphics (480*320) and retina graphics (960*640).
Currently I have all my graphical resources packed in single projects, for example “LoadingScren.png” and “LoadingScreen@2x.png”. I guess final release would have around 50MB (the game is not very big and not very complex).
Is this common scenario to have app prepared for normal graphics and retina?
I mean, “LoadingScreen.png” will never be used in Retina device and “LoadingScreen@2x.png” also will never be used by “normal” device! It’s a waste of space.
Should I make two versions of the game?
But then, someone who has iPhone 3GS with non-hd version of the game, if lately they buy new iPhone 4/4S with retina support and restore data from backup to new device, they will remain with non-hd version on retina display (which is bad).
Any opinion and additional information regarding this matter is appreciated.
Only make one version of your app! Making a normal and @2x version of each graphic is how it is meant to be done.
When have you ever seen two versions of an app on the App Store, for “normal” or “retina” devices? The entire reason Apple implemented the automatic @2x system is so that you could package it in one app.
As for the “waste of space”, don’t worry about it. If your app is 50 MB, it means that even on the smallest-space iPhone (8gb) it uses about one-half of one-percent of storage – and nowadays Apple doesn’t make any iPhones under 16gb. A quarter of a percent is hardly a high price to pay. Plus, most users could download a 50 mb game over WiFi in under a minute.
*(Often times “HD” versions on the App Store are references to iPad versions of an iPhone app)