Hello, Godot. I don't actually understand how selected resolution affects on image, if I run the game in fullscreen mode. I switched from 480x320 to 1920x1080, started in fullscreen mode and I haven't seen any changes. But when I chose 480x360 and put sprite abroad the blue rectangle (resolution line) and ran the game in fullscreen mode, it automatically captured that sprite in a game window. So godot chooses resolution by itself, if the fullsreen mode is on? So why do I need to choose resolution, if i want to make my game in fullscreen mode, like almost all the other games. Yeah, I see that if I select "2D mode" in Stetch in Settings and choose 480x360 res on 1600x900 monitor, image gets wider. On my monitor image looks as I want, but on smaller it gets wider. Same story if I choose higher resolution than mine, image gets smaller. So how can I get the same result on different monitors in fullscreen mode, and what resolution should I choose in settings to work properly?
Which resoultion should I choose for my project to get same image on different monitors?
- Edited
@yudin said: Hello, Godot. I don't actually understand how selected resolution affects on image, if I run the game in fullscreen mode. I switched from 480x320 to 1920x1080, started in fullscreen mode and I haven't seen any changes. But when I chose 480x360 and put sprite abroad the blue rectangle (resolution line) and ran the game in fullscreen mode, it automatically captured that sprite in a game window. So godot chooses resolution by itself, if the fullsreen mode is on? So why do I need to choose resolution, if i want to make my game in fullscreen mode, like almost all the other games. Yeah, I see that if I select "2D mode" in Stetch in Settings and choose 480x360 res on 1600x900 monitor, image gets wider. On my monitor image looks as I want, but on smaller it gets wider. Same story if I choose higher resolution than mine, image gets smaller. So how can I get the same result on different monitors in fullscreen mode, and what resolution should I choose in settings to work properly?
Fullscreen is always full. GoDot always use maximum resolution available for full screen. When you pick your resolution, you are picking Window resolution, not fullscreen one. To get same result on all monitors go to project settings. Look for "Stretch aspect" and set it to "Keep" . Stretch mode (do not mistaken with Stretch aspect, those are two different things) is irrelevant to this, it just controls how is screen enlarged to fit bigger resolution. Read the docs for more info. Hope I helped. Have luck with your project !
Personally, I like to use a 16:9
ratio on the games I make with a base resolution of 1280x720
. It scales up nicely to 1920x1080
(HD) and for 16:10
aspect ratio games it only adds a couple small black bars on the side.
For the project settings, I generally use 2d
for the stretch mode and keep
for the aspect. Sometimes for the aspect I use expand
, but only if I can position the GUI/UI elements using Godot's anchor system so differing aspect ratios do not change the positioning.
You can change the resolution and how it handles different aspect ratios and scaling through the Display
-> Window
tab in the project settings. You can read more about the various resolution settings on the Godot documentation :smile:
Hopefully this helps!
@TwistedTwigleg , @GarromOrcShaman , thank you guys, I guess now I can work with it properly
@yudin said: @TwistedTwigleg , @GarromOrcShaman , thank you guys, I guess now I can work with it properly
No problem! If you have any other questions, be sure to ask :smile:
(I should refresh the topic before I post so I can see if anyone has replied while I have been writing. My apologizes for basically posting the same thing accidentally :sweat_smile: )
Scaling, pixels, and aspect ratios are a particular area where I've experimented quite a bit. If I am trying to make a lower-resolution pixel-style game, the resolution I go for is...
640 x 360
Whenever you scale up a given resolution, you will get the best results if it scales evenly by integer values with the native resolution of whatever screen you are displaying it on. This is the best approach for preventing visual errors that occur due to native resolution adaptation. 640 x 360 is my favored resolution because it scales evenly by most of the industry-standard display resolutions. It is also the same 16x9 aspect ratio as most modern screens as well, so using it helps to avoid letterboxing. It will integer scale properly on a 720p screen, a 1080p screen, and even a 4K screen.
It is slightly higher resolution than most older consoles, but not so much that you lose the pixel-art effect. And it is very close to older PC monitors, so capturing the look of older PC games is quite easy with this resolution.