I’m working on a card game that involves a sprite that is made up of multiple child sprites which make up the layers of the card. This allows for modularity when it comes to various attributes. However an issue I’ve been unable to rectify involves this significant drop in quality when I need to scale the cards. See image below:
EDIT: I see the uploaded image itself is blurry, but it still can sort of show what I mean.
As you can see, depending on the size (the smaller the worse it gets) the card’s parts get more jagged and blurry. I don’t mind if text can’t be read when its small enough, but you can clearly see its more than just a size issue, but a quality drop as well.
Most of the card assets are 700x1050 in total size (some may have transparency, but by keeping them all like that, it avoid fiddling with the position in-game. The total window size I’m working with is 1280x800. So I attach all the children and then scale the parent sprite as needed - mostly to the extent of how scaled down it’ll be depending on if the player is hovering over a card, etc.
When I load the images I go by the format
this.load.image(‘image name’, image_file_path, true);
I had read something about the 3rd parameter being used for mipmaps but after re-reading the Phaser CE wiki, I’m not too sure about that. Regardless, it isn’t doing anything one way or another. I’ve also read some things that say for mipmaps to work it has to be power of 2 and others that say it does not so I really don’t know.
My scaling numbers at the moment are 0.11, 0.17, and 0.35 if perhaps the exact scaling number is contributing to the drop in quality and jaggedness.
I’ve also read a bit about having to have multiple versions of the same assets, but besides the fact that increases the storage requirements and the amount of time it’d take to create these alternate versions, I’m not entirely sure how to implement that when, I say, tween the card to expand or shrink.
Any help or guidance would be really appreciated.