Design Question on Native Resolutions

KPJ

Member
I know that you shouldn't make your pixel art game too big, from Pixelated Pope's tutorial, instead to divide 1920x1080 to get something like 640x360 for your native resolution.

This might seem like an obvious question, but I can't seem to understand it. What is, exactly, the native res of a game? It's obviously not the room size, (as games like Hyper Light Drifter have a native resolution by 640x480 and that's obviously not the size of the entire room) so what is it? Is it the size of the view instead? Because in my game it involves constantly zooming the view in and out to see your surroundings, so what would the native res be?

What is the native resolution of a game?
 

TsukaYuriko

☄️
Forum Staff
Moderator
The native resolution is the size of the view port - that is, the size of what you draw to the screen - without scaling or being in full screen. It's essentially the resolution the game's window would have in windowed mode.
 
  • Like
Reactions: KPJ

KPJ

Member
@TsukaYuriko Thank you for clearing that up! So, as I said, my game involves constant zooming of the view, so what would the res be? Would the res just keep on changing?
 

TsukaYuriko

☄️
Forum Staff
Moderator
The view is not the view port.

The view is what the camera sees - a part of the room. In your game, this resolution will keep changing depending on how you're zooming.
The view port is how the view is drawn to the screen - the game window. In your game, this resolution won't keep changing, just like how the game window will not change its size while the game is running.
The view port at 1x scaling factor is the native resolution.


Quick example:
Your room is 1920x1080.
Your view (what the camera sees) is 1280x720 (slightly zoomed out; only a part of the room is seen, and that portion is cut out).
Your view port (size of the game window) is 960x540 (the view is downscaled to this).

Your native resolution is therefore 960x540.
 
  • Like
Reactions: KPJ

KPJ

Member
Ah, I get it now. The zooming will only change how much the player sees, not the native resolution, or the game window. Thanks for all your help, @TsukaYuriko!
 

TsukaYuriko

☄️
Forum Staff
Moderator
Exactly! Glad I could help. :)

I edited the previous post with an example, but it seems it won't be needed after all.
 
  • Like
Reactions: KPJ

Yal

🐧 *penguin noises*
GMC Elder
Don't forget to think about GUI design when you decide on your native resolution, too! If the resolution is too small, you need to give a lot of your precious screen estate up for the GUI elements, and especially text gets messy at small sizes.

I recently released a game that has a base window size of 640x360, but the game view actually is 320x180 most of the time (the idea is that it zooms out when players are too far from each other, or during boss fights, and it can't zoom out if it's not zoomed in to begin with). But since 640x360 still is kinda tiny, the game upscales the window to 1280x720 by default. This led to all sorts of exciting fun problems with GUI elements changing size and among other things I needed to use 3 copies of every font to make sure text looked good with every possible screen scale - stretching text looked bad no matter if it was upscaling or downscaling.

(The reason I chose 640x360 is backwards compatibility - it scales up to 1920x1080 perfectly [scale = 3x] but it still fits into a 640x480 monitor, the smallest size that's still supported by most OSes, so literally anybody with a screen that can run Windows can run my game... although disk space, GPU shader support and CPU speed could stop them if their screen resolution didn't)
 

KPJ

Member
@Yal Your right, especially since GUI is a large part of my game, I should plan ahead for it. Thanks for your helpful insight!
 
Top