320x180 and 640x360 can scale up to common monitor resolutions including 1920x1080, 2560x1440, and 3840x2160 while still being a reasonable size for sprites. This scaling will prevent your pixels from squashing on most full screen monitors.
Here's are the possible resolutions your game can have depending on the viewport size:
1x | 320x180 | 640x360 |
2x | 640x360 | 1280x720 |
3x | 960x540 | 1920x1080 |
4x | 1280x720 | 2560x1440 |
5x | 1600x900 | 3200x1800 |
6x | 1920x1080 | 3840x2160 |
7x | 2240x1260 | |
8x | 2560x1440 | |
9x | 2880x1620 | |
10x | 3200x1800 | |
11x | 3520x1980 | |
12x | 3840x2160 |
Godot recommends viewport mode but it seems to do the same thing as canvas_items but make fonts blurry. Set scale mode to integer if you want your game to be "resizable". This will let you resize the window but create black borders until the window is big enough to hold the next resolution without pixel squashing. If you don't want this, be sure to turn Resizable to Off above.
I also recommend using Aseprite Wizard if you use Aseprite for pixel art. It will allow you to easily export Aseprite files, including animations without having to go through the trouble of labeling the spritesheet. It will also set the texture filter for every sprite you import to linear.
Now you can start making your pixel art games without having to worry about it looking odd.
Thanks for reading.
Did you like this post? Tell us
Leave a comment
Log in with your itch.io account to leave a comment.
Thanks for this.
This is great, thank you so much!
Thank you for the tips! Do I understand correctly that there is a typo in 320x160? (should be 320x180?)
Yes, thank you!
tysm