Should I target 720p, 1080p or 1440p for mobile games?


#1

I’m making a 2D card game, and I wonder what resolution I should target for my game. Is a target resolution of 1440x2560 a good idea, or is 1080x1920 good enough and it will look fine on larger resolution devices like large phones and tablets? Or do mobile developers usually target even lower resolutions like 720x1280? I don’t want the game to suffer any performance loss or larger file sizes if it’s unnecessary. I made the card graphics at 1440p, and the texture atlas that holds all 52 cards seems a bit large at 2048x4096.


#2

I target 960x640 / 640x960 right now. Use rendercam. You can have some assets be more high res, scale them down by half, and because the engine is a 3D engine you can have them look good on larger screen still. So for a card game I’d have most UI be targeted at 940x640 res, but have cards be targeted for a res twice that size, scale them by half in the engine, and then they would look really nice in game while playing. Make sense?

Don’t put all cards into an atlas… construct the cards on the fly with basic shapes and a card face / card back. So you have a GO template with a few sprites at different z and different x,y offsets depending on what they are that can be toggled to different animations when you create the cards.


#3

You mean making a card like a stack of semi-transparent layers? What about the overdraw in this case, have you measured it?


#4

I have made assets like this before and didn’t notice any issues on mobile. I have not measured it however, but someone could test and see if it causes any problems! I’d assume not as first it’s a 2d game with a limited number of cards and as long as you put all of your card assets within a similar z distance that nothing else is in, and keep them all on the same material with the same constants or mostly the same.


#5

Thanks for your help! 960x640 seems like a much more manageable resolution. I’ll see if the game will fit in that aspect ratio, but I may need a taller one because of the way the game works. I’m looking at other common screen resolutions, so do you think 1024x600 would be good, or should I go for a larger one like 1280x720?

I think I will do the scaling the assets down by half trick. Constructing the cards on the fly is also a great idea, since the main difference between all the numbered cards is the numbers themselves. Also, Rendercam is amazing. Before that I spent time tweaking and adding to the Defold Orthographic scripts to get it to work for my game. It seems like it should be a default feature of the engine.


#6

I got it working by using 960x640 and setting the camera to fixed height mode. I had to add a bit of code to translate the the screen to world coordinates though. Rendercam only transforms coordinates when using fixed aspect ratio mode.


#7

What do you mean by this? The screen-to-world transform functions should work fine with any mode. What platform are you testing on?

[Edit:] I wrote this before I saw your Github issue - I’ll respond there to keep this thread on-topic.


#8

Never mind the transform issue, turns out I just needed to use action.screen_x and action.screen_y, not action.x and action.y.