I’m reading “Gideros Mobile Game Development” by Arturs Sosins. He seems to recommend using logical dimensions of 480x800 to be somewhere in the middle of the different screen sizes. In his discussion of scaling, he mentions using anti-aliasing to improve image quality when scaling up. The also mentions using image suffixes to use different image sizes for different screen resolutions.
I’m not disputing what he says to do, but I’d like to understand something. Why isn’t it easier to just make everything bigger to begin with and then almost all of the scaling will be down, I don’t know how to make vector graphics (and I’m not especially anxious to learn ANOTHER new thing) so when I make images in GIMP, I make them very big so I can reduce them without the loss of quality you get when you make something bigger.
Again, why can’t I just make the game very big so when it scales, it scales down, not up. And yes, I know that bigger images make bigger file sizes, but isn’t that better than having multiple files of the same picture?
Comments
also scaling down a huge texture does not look necessarily as good as an image which is already lower resolution. anti-aliasing is not that perfect actually.
Fragmenter - animated loop machine and IKONOMIKON - the memory game
The book I mentioned says:
You can specify any suffix you want together with the ratio, for example, let's specify
three ratios such as:
• suffix: @small, ratio: 0.5
• suffix: @medium, ratio: 1
• suffix: @big, ratio: 2
Then create images with resolutions in these ratios and name them accordingly:
• ball_@small.png with 40 x 40 resolution
• ball_@medium.png with 80 x 80 resolution
• ball_@big.png with 160 x 160 resolution
@keszegh is also correct, if you have a load of 512x512 images but scaling them down to 64x64 in your game then performance will suffer. Personally I think it is best to choose a target resolution and stick with it
Likes: oleg
-different detail of the character under the big screen and small
* Under the small screen the character has fewer details and a big head
Likes: SinisterSoft, Apollo14
https://play.google.com/store/apps/developer?id=razorback456
мій блог по гідерос https://simartinfo.blogspot.com
Слава Україні!
https://deluxepixel.com
If you create only the @3 version of the bitmap, then you can use TexturePacker to scale it down to @2 and @1. That way you only have to create one bitmap, and it will look pixel perfect on any device.
eg in the scaling list you say there are @3, @2 files and you describe the scale.
If the apk contains a sprites@3.png a @2 file and a normal file then all is good - like the situation now. But if only the higher resolution @3 file is provided then if the device resolution dictates that it should be using the @2 version of the file then png loader makes the @2 texture from the @3 data.
Likes: keszegh, antix
https://deluxepixel.com
https://play.google.com/store/apps/developer?id=razorback456
мій блог по гідерос https://simartinfo.blogspot.com
Слава Україні!
Likes: SinisterSoft
Likes: SinisterSoft
Loading the image would then still crash the device.
The current way, it just ignores the the higher res file @2x, @4x, if the device can't handle them.
***
Also, there is another benefit to designing at a base resolution and then providing higher resolution assets.
If I design a game at the logical dimensions of 320x480, and later decide, that I want to 'upgrade' the graphics to 4k, I can do this by providing @4x / @8x etc. (I don't have to change any code - just add the assets)
Likes: totebo, SinisterSoft
(and only if the lower resolution wasn't provided - in some cases (like @oleg demonstrated) you may want different images completely at different sizes)
https://deluxepixel.com