Game with very low resolution (Pixelart)

Hey, I would like to use graphics with a very low resolution in my current project.

I use display.setDefault( “magTextureFilter”, “nearest” ) to prevent the images to become blurry, when they are scaled up to the devices screensize.

The problem is, that some pixels are sqeezed if the graphics are not perfectly aligned to the pixelgrid.

Is there a way to prevent this?

It seems like the scaling method is aplied to each object and not to the screen as a whole.

Any suggestions or tips how to deal with the problem? Cause it looks very bad in some situations.

Greetings Torben

I would recommend making sure your image’w width and height are evenly divisible by 4.  That seems to help a lot in these cases.

Hi Rob,

thanks alot, but I already use imagesheets that are divisible by 4, and each sprite is divisble by 4 as well.

But it seems like it’s the config.lua file that has the greatest impact.

If the screenwidth is divisible by the width in the config.lua everything looks great (e.g. config lua width = 128, device width = 640),

but if that’s not the case many pixels aren’t quadratic.

Any other suggestions how to set up the config lua or the graphics? Is it better to use a higher resolution in the config.lua and to scale up the graphics manually?

Greetings Torben

Are you setting: display.setDefault( " min TextureFilter", “nearest” ) which is the option for when images are squeezed down?

But regardless of the re-sampling method, blowing up an image means making up pixels and it will never be as good as an original at the larger size.   Downsizing is generally throwing away pixels and software can do a better job computing the differences.

I would make sure I’m using the various @2x and @4x type things and make sure you’re images are as close as they need to be for the size screen your supporting. 

Yeah, I also set the minTextureFilter, but it makes no difference in this case.

I know that upsizing graphics isn’t as great as using graphics in higher resolution,

but I hoped to save texture memory to build in many different graphics.

For example, if you use the “nearest neibhour” scaling in “Adobe Flash” it gives you way better results then Corona does.

Which means it’s possible to use upscaled pixel graphics in a high quality.

But ok, seems like I have to scale up the graphics before I use them in Corona.

I would recommend making sure your image’w width and height are evenly divisible by 4.  That seems to help a lot in these cases.

Hi Rob,

thanks alot, but I already use imagesheets that are divisible by 4, and each sprite is divisble by 4 as well.

But it seems like it’s the config.lua file that has the greatest impact.

If the screenwidth is divisible by the width in the config.lua everything looks great (e.g. config lua width = 128, device width = 640),

but if that’s not the case many pixels aren’t quadratic.

Any other suggestions how to set up the config lua or the graphics? Is it better to use a higher resolution in the config.lua and to scale up the graphics manually?

Greetings Torben

Are you setting: display.setDefault( " min TextureFilter", “nearest” ) which is the option for when images are squeezed down?

But regardless of the re-sampling method, blowing up an image means making up pixels and it will never be as good as an original at the larger size.   Downsizing is generally throwing away pixels and software can do a better job computing the differences.

I would make sure I’m using the various @2x and @4x type things and make sure you’re images are as close as they need to be for the size screen your supporting. 

Yeah, I also set the minTextureFilter, but it makes no difference in this case.

I know that upsizing graphics isn’t as great as using graphics in higher resolution,

but I hoped to save texture memory to build in many different graphics.

For example, if you use the “nearest neibhour” scaling in “Adobe Flash” it gives you way better results then Corona does.

Which means it’s possible to use upscaled pixel graphics in a high quality.

But ok, seems like I have to scale up the graphics before I use them in Corona.