Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename "Resolution" and "Test Resolution" to clearer terms #2822

Closed
sosasees opened this issue Jun 4, 2021 · 19 comments
Closed

Rename "Resolution" and "Test Resolution" to clearer terms #2822

sosasees opened this issue Jun 4, 2021 · 19 comments

Comments

@sosasees
Copy link

sosasees commented Jun 4, 2021

Describe the project you are working on

I am working on a Calculator for learning purposes

Describe the problem or limitation you are having in your project

Because these 2 settings are named "Resolution" and "Test Resolution", I expected the "Test Resolution" to only apply when the game gets tested in the Editor, and then revert back to the base "Resolution" in the exported version of the game.

Instead, something much better happens:
I first heard of this fact, and then confirmed it for myself:

The "Resolution" is still the base resolution of the game, and then it gets resized to the "Test Resolution", reguardless of it runs in the editor or was exported.

Just as expected, running a game
with a Resolution of 300×300 and Test Resolution of 600×600
is different from running it at an identical Resolution and Test Resolution of 600×600,
in that with the former option, the window is still the same size but the GUI elements are twice as large.

Describe the feature / enhancement and how it helps to overcome the problem or limitation

In Website Development, the same concepts are named

  • "Logical Resolution" instead of "Resolution"
  • "Physical Resolution" instead of "Test Resolution"
    These alternative terms describe much better what these settings actually do, so that I think they should be the official terms.

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

  • Rename "Resolution" to "Logical Resolution"
  • Rename "Test Resolution" to "Physical Resolution"
  • Rename the GDScript references of these project settings to logical_resolution and physical_resolution respectively

If this enhancement will not be used often, can it be worked around with a few lines of script?

No

Is there a reason why this should be core and not an add-on in the asset library?

This is a clarity change for existing core functionality.

@LikeLakers2
Copy link

LikeLakers2 commented Jun 4, 2021

While I understand the reasoning for the suggested rename, I fear that the meanings of "Logical" and "Physical" may get lost on new people.

Perhaps you could use "Resolution When Exported" and "Resolution When Testing", or something of the sort? (I am silly. Woops!)

@sosasees
Copy link
Author

sosasees commented Jun 4, 2021

How about "Base Resolution" and
"Actual Resolution" (or just "Resolution"),
then?

@LikeLakers2
Copy link

LikeLakers2 commented Jun 4, 2021

@sosasees To be honest, I find that just as confusing as "Logical Resolution" and "Physical Resolution". We should ensure that new users (people who don't know the terms) are able to tell which is which at a glance, and which one applies to which situation.

@sosasees
Copy link
Author

sosasees commented Jun 4, 2021

So, we should just leave the terms as the current
"Resolution" and "Test Resolution"?

@LikeLakers2
Copy link

LikeLakers2 commented Jun 4, 2021

Oh, I'm not suggesting that. You made this issue because you thought the terms could be clearer -- so I'm trying to help you make clearer terms. (Plus, I kind of agree that "Resolution" and "Test Resolution" could be replaced by better names.)

But the issue I'm pointing out is that the suggestions you've made thus far don't seem friendly to newcomers. They sound like terms that newcomers will have to Google, despite the topic being as simple as window resolution, which is why I'm not a fan of them.

Don't feel discouraged, though! Please, feel free to throw more suggestions out there. This is a discussion, after all. :)

@sosasees
Copy link
Author

sosasees commented Jun 4, 2021

If anyone has other suggestions for better names, or wants to share their opinion on name suggestions made before in this issue, please reply.
This issue does not yet have enough opinions to be solved.

@KoBeWi
Copy link
Member

KoBeWi commented Jun 4, 2021

Related: godotengine/godot#47522

@sosasees
Copy link
Author

sosasees commented Jun 4, 2021

@KoBeWi This sounds great.
In my opinion, these are the best name suggestions (so far):

  • base_width or base_resolution.x, instead of resolution.x
  • base_height or base_resolution.y, instead of resolution.y
  • window_width and window_height, orwindow_size, instead of test_width and test_height

@mrjustaguy
Copy link

See godotengine/godot#16863

@sosasees
Copy link
Author

sosasees commented Jun 5, 2021

@mrjustaguy I have just looked a bit through this issue, and:

yes, to me the names I ended up with during this conversation ("base size" and "window size")
Are clearer than the previously clearest names ("window size" and "render size") from godotengine/godot#16863 .

Now I want to hear other people's reasons for agreeing or disagreeing with this statement.

@mrjustaguy
Copy link

I'd say Window Size and Render Size are clearer, as most games that have the 2, usually follow this convention.

@sosasees
Copy link
Author

sosasees commented Jun 6, 2021

OK, I'll have to re-check what these project settings actually change.

@mrjustaguy
Copy link

Window Size is how large the window is on screen, and is normally Full screen & Native Res, while Render size is the size of the Viewport that is rendered, and then up/down-scaled to the Window size..
Example:
1920x1080 window size (on a 1080p display)
960x540 render size
Result:
Full screen, Half Resolution Renderings upscaled to 1080p

Now I don't know how exactly it works in Godot with UI, but normally UI is changed with Window Size, with the 3D being changed with Render Size. So UI Changes with Window Size changes, and 3D changes with Render size, in theory.

@LikeLakers2
Copy link

LikeLakers2 commented Jun 6, 2021

@sosasees I feel silly. I reread your original post, and apparently I got caught in the same trap you did while making my initial reply -- thinking that "Test Resolution" meant the resolution it would be at while testing from the editor. Woops, my bad!

Since I realize my error now, I want to say that I don't think your suggestion, "Base Resolution" and "Actual Resolution", is confusing anymore. At least, it's not as confusing, since I understand what you were going for now -- though I'm still a little concerned it might take a Google search for newcomers to understand.

I'd say Window Size and Render Size are clearer, as most games that have the 2, usually follow this convention.

@mrjustaguy I'm in support of these names. Though perhaps we could use "Resolution" instead of "Size" in each of these names? I get the feeling more people will understand "Resolution" as meaning the number of pixels. Of course, the difference is otherwise negligible.

@sosasees
Copy link
Author

sosasees commented Jun 6, 2021

After playing around with 'window size' and 'test window size' and 'stretch modes' in a 2D scene with only icon.png, i think
„Yes: 'base resolution' and 'window resolution' are the correct names”

Although I think that 'window resolution' and 'render resolution' are a little misleading in comparison,
if most people understand these terms better, these should be the terms.

I recommend playing around with these settings as well to see which terms are more accurate to you.

@LikeLakers2
Copy link

LikeLakers2 commented Jun 6, 2021

Although I think that 'window resolution' and 'render resolution' are a little misleading in comparison,

I'm a little confused how it might be misleading.

From how I understood the explanation in your original post, one setting (which I call "Render Resolution") is the resolution that the game is rendered at, and the other (which I call "Window Resolution") is the resolution of the game window (which the game's rendered image gets resized to fit into).

Am I misunderstanding anything? Or is there something else that makes it misleading to you?

(P.S. I'll play around with the settings when I wake up, per your recommendation. Admittedly, it's a bit late for me right now!)

@sosasees
Copy link
Author

sosasees commented Jun 6, 2021

Oops, i thought that 'window resolution' and 'render resolution' were in the wrong order.
In this order ('render resolution' first, 'window resolution' second), it is correct.

Although the term 'render resolution' is only 100% correct if the stretch mode is set to 'viewport'.
Because if the stretch mode is set to '2d' or 'disabled', the 'render resolution' remains as the base resolution while the Actual render resolution becomes as large as the window size.
This makes 'base resolution' the better term.

So, with how the discussion has progressed so far, 'base resolution' and 'window resolution' it is.

@madmiraal
Copy link

This is a duplicate of #3769 that was closed in godotengine/godot#47522, but with the suggestion:

But feel free to continue discussion if there are ideas to improve this further.

That been said, the title of this proposal is confusing. As discussed in #3769, neither setting refers to resolution. Godot does not define the resolution. The device the game is played on defines the resolution. This is either fixed to the full screen resolution (on mobile devices) or defined by the window size (on desktop devices). The user specifies the Viewport size, which is converted to the actual screen or window size ("resolution"); using the stretch modes.

In godotengine/godot#47522, these settings were changed to viewport_width and viewport_height, and window_width_override and window_height_override. The title of this proposal needs to reflect that or be closed.

@sosasees
Copy link
Author

Yes.
This is much better explained in godotengine/godot#47522 than here.
Only after reading that issue, i realized that my proposed replacemeny terms here are not that good, while the terms proposed there are good.
Thanks for pointing me to that issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants