is it dumb to scale pixel art?

F

fxokz

Guest
I have a game right now which is for people with magnifying glasses because all of the sprites are 32x32 but the view is quite large so i was wondering if i should draw all of the art in 32x32 but then scale it so its 64x64 so its a little bigger. The thing is i dont want to ruin the game so i need feedback from you guys. What should i do?
 

Micah_DS

Member
It depends on the art style, but I don't see any problem with scaling up the resolution 2 to 5 times with most pixel art style games. 2x shouldn't be a big deal. In fact, it might serve to make it look a little cleaner without looking too pixelated.
 

Bingdom

Googledom
If you are making a game based on pixel art, then it is fine to scale up as long as all the pixels in the game are the same size. If you have the player have bigger pixels than the background, the game may not mix well and possibly ruin the visuals of your game. ;)
 
C

CoderJoe

Guest
I would try to preserve the aspect ration so you don't get weird stretching or anything like that
 
F

fxokz

Guest
I would try to preserve the aspect ration so you don't get weird stretching or anything like that
yeah i know but im just talking in terms of legitness. I thought that people who scale pixel art only scale it because they cant draw bigger sprites or something but i realised im totally wrong and that i should have been scaling pixel art a long time ago.
 

RekNepZ

GMC Historian
It may also work better if you scale things in whole numbers only (eg: X2, X4, but not X1.5). That way, you're essentially making the pixels bigger and there's less squishing.
 
  • Like
Reactions: Yal

Micah_DS

Member
You can also scale the asset itself and then polish.

This is an example of such method:

View attachment 3333

That's actually pretty useful for drawing bigger sprites because you can start out with a smaller image and work your way up to the final resolution.
I just wanted to say that some people (myself included) find this method of "polish" to be destructive to the pixel art and not an enhancement. I'd prefer a simple scale up over this any day. Of course, in the end, it's up to a developer to decide what they like themselves.

@Lonewolff If you check out the various pixel scaling algorithms, you can find various utilities by searching the desired algorithm, I'm sure.
 

Ninety

Member
Nothing wrong with zooming in pixel art. Never ever mix resolutions though (it's very very hard to make look good, IMO, and it often looks jarring). I also much prefer pixel art that remains snapped to the pixel grid (instead of being aligned at <1px values); it's a much more consistent look.
 
J

jackhigh24

Guest
wouldn't it make much more sense to make your room or and views smaller, as you will be using a lot less cpu/gpu with smaller view and as its pixel art then there will be no difference in the art.
 

GMWolf

aka fel666
Scale up using views. And then set linear interpolation to false.

To scale with views, set your view to something low like 340 * 240 and your port to something larger like 1280 * 960
 

RangerX

Member
Pixel is small and made small.
You draw the graphics at the small size and you scale the game up. (the application surface) to fit the screen.


also....

This is an example of such method:

View attachment 3333
Please Lord do like the first Sonic on the left. That's how retro pixel art does look. The middle one can, at worse make your game fine. The Sonic on the right, please, this is horrible and shouldn't exist. Lord does that look horrible yuk!
 
S

Sam (Deleted User)

Guest
One thing I like about Studio, is that it doesn't scale things like GM 8.1 and below did. Legacy GM made scaled pixel art fuzzy and blurry. In GMStudio it preserves the look and feel keeping it sharp and crisp. Sorry, I'm thinking out loud.
 

Yal

🐧 *penguin noises*
GMC Elder
Yeah, I'd definitely recommend scaling up the viewport to...
  • ...get that real, crispy pixel look.
  • ...use 75% less memory compared to scaling up all graphics 2x.
  • ...keep speeds and such in a more manageable single-digit-integer range
  • ...lower GPU time spent running shaders since that's proportional to the number of pixels
  • ...avoid 'half-pixel' artefacts that can introduce visible distortion on some screens
There's just a lot of advantages to this method. x3
 

NazGhuL

NazTaiL
Some sprite/tile has blurry edge like this:


Is it a... hum...a style? Or a better way to scale graphics?
 

Yal

🐧 *penguin noises*
GMC Elder
Ironically, you get better scaling results if you use the "poor" setting (since it uses Nearest Neighbour instead of interpolation). It looks weird if you don't use an integer scaling factor, though.
 
L

Lanman

Guest
Scale up using views. And then set linear interpolation to false.

To scale with views, set your view to something low like 340 * 240 and your port to something larger like 1280 * 960
How do you set interpolation to false in Game maker 1.4.1763? I used to know how to do it in the preferences tab under files, but because of the updated version, I have no idea.
 

Micah_DS

Member
How do you set interpolation to false in Game maker 1.4.1763? I used to know how to do it in the preferences tab under files, but because of the updated version, I have no idea.
It's in 'Global Game Settings'. In there, select the tab you're targeting and uncheck "Interpolate colors between pixels".
You can also use the texture_set_interpolation() function in GML.

(EDIT: I just realized I responded to a bit of gravedig, hmm)
 
Last edited:
G

Guest User

Guest
one thing you can do, if you're really not sure, is use the view method mentioned and work it so that you can set the zoom amount to a variable, which can be switched back and forth between various zoom amounts just by pressing a button.

this is useful because what looks like a quaint little pixel heart at 1x1 scale might look like a total mess at 2x2 or 5x5. more than likely, you'll find that some things will look better at certain ratios and other things...won't. :D
 
L

Lanman

Guest
It's in 'Global Game Settings'. In there, select the tab you're targeting and uncheck "Interpolate colors between pixels".
You can also use the texture_set_interpolation() function in GML.

(EDIT: I just realized I responded to a bit of gravedig, hmm)
Thank you very much! I was able to find it.
 

Khao

Member
You can also scale the asset itself and then polish.

This is an example of such method:

View attachment 3333

That's actually pretty useful for drawing bigger sprites because you can start out with a smaller image and work your way up to the final resolution.
At this point, you're better off redrawing sprites from scratch in a high resolution and doing away with pixel art entirely.

The whole point of pixel art is creating art that's as expressive and detailed as possible, in the smallest resolution possible. With this method you kind of get the worst of both worlds, and you end up with art that feels less detailed than the original pixel art version.
 
R

renex

Guest
At this point, you're better off redrawing sprites from scratch in a high resolution and doing away with pixel art entirely.

The whole point of pixel art is creating art that's as expressive and detailed as possible, in the smallest resolution possible. With this method you kind of get the worst of both worlds, and you end up with art that feels less detailed than the original pixel art version.
Downscaling those upped versions actually works gracefully as opposed to scaling up the base 1x1 version.
 
M

Master Maker

Guest
You can also scale the asset itself and then polish.

This is an example of such method:

View attachment 3333

That's actually pretty useful for drawing bigger sprites because you can start out with a smaller image and work your way up to the final resolution.
How do you 'polish' it? Would you need to re-draw the art, or is there a program available for automatically doing it?
 

GMWolf

aka fel666
How do you 'polish' it? Would you need to re-draw the art, or is there a program available for automatically doing it?
You can use a shader like hq4x. It looks a little similar.
But the best way it to redraw by hand. (Though i wonder how well an ANN could do it...)
 

Yal

🐧 *penguin noises*
GMC Elder
Did you try copypasting it and see if it worked without changes?
 
It is not dumb to scale pixel art if done correctly, I.E. only integer scaling. It's by far the most commonly accepted method for pixel art games. Everything from Cave Story to La Mulana to Hyper Light Drifter scales their pixel art. Personally, if you use hq2x/hq4x/xBR/whatever shaders to smudge up your pixel art when you scale your game, I'm turning it off as soon as humanly possible. It looks absolutely atrocious. Either stick with the pixel art, or make high-res original assets.
 
Top