With 2D games sometimes deploying to multiple devices can be time consuming. It actually harder to deploy 2D games to multiple devices rather than 3D.

I have been thinking about this problem and I think I have a good solution. So let me outline the problem.

Let's say you want to make a game for iPhone and iPad. Right there there are 4 different screen resolutions

iPhone regulariPhone retinaiPad regulariPad retina

If you want a screen background you have to make the retina first then scale it down to the regular. The way game salad achieves this is that they take your image and re size it for you. I think this is a great approach. I recommend having an feature where you can click a re size to all iOS devices button that will do this for you. This way you can upload one image for any image with the bigger resolution and it will re size. The re size will be easy because it is exactly half from the retina to the regular.

This doesn't tackle the problem of androids. iOS developers complain about the screen resolutions but android has way more devices. Im not that familiar with developing for android so Im not sure what the best course of action is. I feel that screen size/resolution could be an issue. I also think that the scaling in android images are not that equal (1/2, 1/3 etc) so having the engine scale it for you would be a mistake because there will be too many unknowns to assure quality. My suggestion is that you could possibly have an section where you drag each resolution of each image that you made outside of C2 into C2 and depending on which device the game is played on it will use the respected image.

It's an interesting idea, but I always thought it was best solved by simply designing for the biggest (iPad retina) and using the 'fullscreen scale' option to it scales down for all the smaller displays. Then you also have a single universal app that should work on any iOS or Android device regardless of screen size.

It does use more memory for the images, but on the other hand games which scale up sprites or zoom in will improve quality on the lower-resolution screens, which is a nice touch. It also is a true one-size-fits-all solution rather than having a myriad different options for each possible screen size out there.

@Ashley [QUOTE=Ashley] It's an interesting idea, but I always thought it was best solved by simply designing for the biggest (iPad retina) and using the 'fullscreen scale' option to it scales down for all the smaller displays. [/QUOTE]

Are you talking about 2048 * 1536? Will it not be a performance hit for weaker devices apart from the memory allocation? What if we also need to export it for chrome or facebook? Wronghands2012-04-12 08:58:12

@Wronghands - GPUs are so extremely efficiently designed for simple 2D drawing that I don't think you'll actually see much or even any runtime performance hit from using bigger textures. If you read our old blog post HTML5 gaming performance analysis, you'll note at least on desktop it takes longer to request the GPU to draw an image than it takes for the GPU to actually draw it, which means you can do a lot of scaling and rotating with zero performance impact. So memory usage/download size is the only issue.

As for Chrome and Facebook, since desktop displays go up to 1920x1080 which is only a little less than the iPad 3, it should be ideal for that as well.

What if I'd need to develop for iPad3 and at the same time I need it to run for an old iPhone ( 480 x 320 )? So, considering this, how about the performance if I'd design everything for 2048 x 1536 but loading the graphic resources at runtime ( I believe that's possible using plugins ) according to the detected device ( BTW: is there a plugin to do that? ). If, for example, the iPhone is detected ( 480x320 ) and I load the resources prepared for it, then I stretch them programmatically but will also have the project set to scale mode so they'll be scaled down back to the iPhone screen resolution. Would that still affect the memory usage of the iPhone as it would when using large graphics ( prepared for iPad3 )?

@xyboox, @bjadams - have you tried using the fullscreen scale option I mentioned earlier in the thread? It should just downscale everything automatically. There shouldn't be any serious performance impact as long as it's hardware accelerated (as in, not PhoneGap).