godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
89.14k stars 20.21k forks source link

Collapse the top menus #8865

Closed nunodonato closed 7 years ago

nunodonato commented 7 years ago

Taking advantage of the current UI changes being done for 3.0, I was thinking that we could also improve the menu buttons on the top.

Currently, the top-left is occupied by

Tools only have one item, making it actually kind of like a button. Export is a button, not a menu.

On the top-right:

I thought in 2 different proposals for a change:

  1. Collapse the top-left buttons into just one, maybe call it "Project"?. This means the scene menu will have 2 more items, and we get rid of tools and export, which are seldom used anyway.

  2. Since the space is not being used for anything else, make a more functional menu "bar", and split some items into different menus to make things easier to find. I'd also bring the Settings menu on the right, to join the left side. Project settings could be inside it, together with Editor Settings

WDYT? :)

nunodonato commented 7 years ago

Here are two shots of option 1, with close and open menu.

screenshot from 2017-05-22 15-57-37

screenshot from 2017-05-22 15-57-41

Zireael07 commented 7 years ago

I see 'export project' (+1 to moving it to menu) but where did Tools go?

nunodonato commented 7 years ago

@Zireael07 tools only had "orphan resource explorer" which I added it in the menu directly. no point in having a menu with just one option

vnen commented 7 years ago

The Tools menu is meant mostly for plugins to use.

nunodonato commented 7 years ago

Option 2

screenshot from 2017-05-22 16-03-10

Zireael07 commented 7 years ago

I like option 2, someone tell me what the big tick next to volume bar is for? Because to me, the things on the right hand end are just two big space-filling mysteries :P

nunodonato commented 7 years ago

@vnen good point, I forgot about that. Maybe a few more things could be added to the tools menu then, I think the main Scene menu has too many items and separators. Things like "convert to" and "run script" could perhaps be under tools?

akien-mga commented 7 years ago

You could also move the Tools menu into the Scene menu, as a submenu (like the "Open Recent" and "Convert To" submenus).

nunodonato commented 7 years ago

Ok, here's a modified option 2, with the tools menu getting some items from the project menu, thus making it more pleasant to look at :)

normal window screenshot from 2017-05-22 16-12-14

project menu screenshot from 2017-05-22 16-12-19

tools menu screenshot from 2017-05-22 16-12-22

eon-s commented 7 years ago

I prefer the "tools" menu visible, even if has nothing inside, it could be renamed to plugins though.

Also, "settings" is editor settings, I prefer to have it on the top right and leave project related things on the top left.

Zireael07 commented 7 years ago

Moving run script and convert to tools menu is a good idea, though.

I don't mind either way re: plugins or tools for name.

nunodonato commented 7 years ago

@eon-s I think that's just conditioned behaviour due to using godot for some time :p if you think for normal people, it doesnt make sense to have settings on the left and settings on the right, settings means settings.

nunodonato commented 7 years ago

or.... what about this? :)

(this one is just a mockup) right

eon-s commented 7 years ago

@nunodonato leave the 2d/3d/script/assetlib buttons alone! :joy:

reduz commented 7 years ago

I was thinking along these lines:

image

1) We can create a "Project" menu, which contains "Export", "Tools", "Run Script", "Project Settings", etc. 2) We can create an "Editor" menu, which contains "Editor Settings", "Layouts", "Manage Templates" , "About", etc. 3) While I like Play panel in the center, i think this should be given to the main dock selection, which is used far often. 4) Maximize could be moved to the tabs, which takes a tiny bit of space but makes more sense in that context. 5) Help should be big and always visible, we could open a new dialog, which is a mixture of both the class list and the help search dialog. I think someone suggeste this a few weeks ago and it was a fantastic idea. 6) Volume bar has no more reason to be, should be removed as you can see this in the Audio tab

Would this be an improvement?

reduz commented 7 years ago

Re-posting image above, it was broken image

reduz commented 7 years ago

Oh also, I htink you never really choose which 2D/3D mode you are using, as this happens automatically when you select a node or open a scene, so this could be moved away and be replaced by a "Viewport" button.

nunodonato commented 7 years ago

@reduz that makes a lot of sense to me :) having 2d/3d inside the tab is great and also hints that the mode will be saved per-tab (a node2d scene will default to open in 2d mode, etc)

perhaps the tools could still be on its own menu. i guess for people who use menu items from plugins it would be far easier to reach it than inside another menu. also, there's plenty of horizontal space and it will make the project menu less cramped :)

reduz commented 7 years ago

@nunodonato Tools can be a submenu of Project, it can have as many items as you want I guess. I have no idea how popular the Tools menu is, but we can see if it's used often and then promote it to main menu at some point if worth it.

nunodonato commented 7 years ago

about automatic 2d/3d switching... not sure, I recall having to force a particular mode even though I was selecting a node of a different one. For instance, if you open the "HDR in 2d" demo and want to configure HDR settings, you need to click the world environment(which is 3d) but you want to see the effects in 2d. Perhaps there are other use cases...

reduz commented 7 years ago

yeah, I'm not saying you never need to do it, which is why you still have the 2D/3D swap, but in far most cases you don't need to.

On Mon, May 22, 2017 at 1:00 PM, Nuno Donato notifications@github.com wrote:

about automatic 2d/3d switching... not sure, I recall having to force a particular mode even though I was selecting a node of a different one. For instance, if you open the HDR in 2d demo and want to configure HDR settings, you need to click the world environment(which is 3d) but you want to see the effects in 2d. Perhaps there are other use cases...

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/godotengine/godot/issues/8865#issuecomment-303143396, or mute the thread https://github.com/notifications/unsubscribe-auth/AF-Z24ENgTo1J5JKuyIa30CUyhz-3Ys4ks5r8bECgaJpZM4NidqG .

nunodonato commented 7 years ago

oh ok, I thought you meant that they could be removed, my bad!

nunodonato commented 7 years ago

menus based on @reduz's suggestions

menu2

toger5 commented 7 years ago

I really like the Scene project separation. the editor button though is really good on the right. It just makes so much sense to separate project specific actions and settings which affect every project (editor). And moving it is a great separation.

I love the Viewport script asset store separation!! fullscreen button location is also perfect in reduz's design. About the center location for the play pause stop ... debug buttons: I think they make most sense and look best in the center. I will post a design later on, because I think putting the viewport, asset store... on the top right corner can look pretty cool.

just my opinions

reduz commented 7 years ago

I agree that play stuff looks best on the center, but for discoverability I think it may be better to move the viewport/script/etc stuff to the center. I dont really know how to solve this..

toger5 commented 7 years ago

I think core users will use shortcuts for switching, or just rely on godots really well executed on demand ui changes (clicking on a script -> script editor, clicking on .tscn -> 2d/3d...)

so the buttons might not be used that much anyways. and if they are designed in a way, that they stand out (grey box around them) top right corner is a good place? thoughts?

nunodonato commented 7 years ago

exactly, although I agree that it looks best to see play/stop etc in the center, i barely use them because I just press shortcut keys :)

perhaps the theme guys can also give some ideas :) cc'ing @djrm @volzhs

reduz commented 7 years ago

Yeah, but keep in mind we should make discoverability our top priority.. I can't really believe we can't come up with a solution :P

reduz commented 7 years ago

I still think play controls in the right is more tolerable (here with box removed) than section control in the right.. just picture in your mind switching sections, I think it makes a lot more sense and adds more discoverability to have it on the center..

image

akien-mga commented 7 years ago

Yeah, I think having the play functions on the right is just fine.

toger5 commented 7 years ago

I used reduz design and changed the locations. also gave the script, assetstore... a box so they pop out more and are easier to find although they are not entered... those are the options I came up with:

godotheaderbardesigntabsleft godotheaderbardesigntabscenter godotheaderbardesigntabscentercombined

nunodonato commented 7 years ago

I still like reduz's suggestion better... feels more organized and "out-of-the-way" :)

toger5 commented 7 years ago

The most reasonable for me is the last one. similar priority, looks clean. Maybe there could be an option in the settings to remove the text next to the icons, than it looks more balanced between play bar - and - viewport bar Easy to discover. Don't know about the lines between viewport, script...

reduz commented 7 years ago

@toger5 can you try your last one, but with play controls and section controls swapped? I think you might be onto something there..

reduz commented 7 years ago

though I still think my suggestion probably feels less intrusive and makes clear both things are not meant for the same..

akien-mga commented 7 years ago

What do we put in the empty top right corner? :p

volzhs commented 7 years ago

@akien-mga what about links for communities / youtube / tutorials...

HummusSamurai commented 7 years ago

@akien-mga It's usually reserved (implicitly) for the Close/Minimize/Maximise buttons, and I can't think of any software that places UI elements there (explicitly, as opposed to an extending of the toolbar like LibreOffice).

The right side with the node tree and inspector gets the most visual action, so I think letting them breathe might not be a bad idea.

toger5 commented 7 years ago

with small top icons:

godotheaderbardesigntabscentercombinedsmall

nunodonato commented 7 years ago

looks much better that way... just a bit ... unbalanced :D

reduz commented 7 years ago

@toger5 sorry, I think I still like the play stuff on the right side. Again, it's not so much about aesthetics but usability and discoverability.

Your screenshots looks nice, but the core of the problem is that the view/script/etc menus are MUCH more important than the play menu and used a lot more often. As such, they deserve more importance.

I know they don't look as nice as the play buttons in the center, but It's the right thing to have them there..

eon-s commented 7 years ago

And if you put the script/assetlib/help next to the 2D/3D buttons? these use the same panel anyway.

reduz commented 7 years ago

@eon-s That panel does not have much space.. also hierarchially i think it makes sense that it's above

toger5 commented 7 years ago

just one more try ;) godottabsleft

toger5 commented 7 years ago

why is there even a pause button when the game is not playing, play and stop should be enough. when playing play transforms to pause. the debug tools also could be separated from the main play section. ( @nunodonato balance ;) )

I think this looks much better, BUT I don't know about the hirachy now the main viewport options are equal to the debug/execute tools. Which is ... questionable. But as I mentioned earlier. core users won't use the buttons anyway or know what they do.

for beginners it is still the most popping out element of the ui -> will try it and will understand soon that the left part is main view and center part is for playing. thats more or less all they need to know (at the beginning) So it's not a big ux sacrifice for a cleaner UI. godotdifferentsplit

toger5 commented 7 years ago

just more variations. Simplifying the play section seems to be a good idea for me: there are a lot of specific buttons which could be stacked into one menue that expands on click. I used alelepd's design for that. Because it has a simple implementation of the play buttons.

godotolddesignused

This one moves the play section to the right. (also a little simplefied) godotsimplemiddlesection

ps: I finally started to post screenshots with only the top section ;)

reduz commented 7 years ago

Pause is used for the debugger. Also I think text is needed for it to make more sense in navigation..

On May 22, 2017 9:03 PM, "Timo" notifications@github.com wrote:

just more variations. Simplifying the play section seems to be a good idea for me: there are a lot of specific buttons which could be stacked into one menue that expands on click. I used alelepd's design for that. Because it has a simple implementation of the play buttons.

[image: godotolddesignused] https://cloud.githubusercontent.com/assets/16718859/26333134/3f74e5f6-3f10-11e7-9bd4-5752ea9e4cb1.png

This one moves the play section to the right. (also a little simplefied) [image: godotsimplemiddlesection] https://cloud.githubusercontent.com/assets/16718859/26333174/811e4c0e-3f10-11e7-94b5-337bc93f7833.png

ps: I finally started to post screenshots with only the top section ;)

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/godotengine/godot/issues/8865#issuecomment-303252558, or mute the thread https://github.com/notifications/unsubscribe-auth/AF-Z2-eoiuD0dVrKy9T3hlNKSNnb2tglks5r8iJSgaJpZM4NidqG .

toger5 commented 7 years ago

yea the text part makes sense I was thinking, that the pause button appears instead of the play button when pressing play. So you only can go into debug mode when the game is running...

eon-s commented 7 years ago

@toger5 which play button will be replaced by the "pause"? (there are at least 3)

Having a fixed location for pause and stop may be better.

vnen commented 7 years ago

I prefer Play to act as Restart, as is the current behavior.