GDevelop icon indicating copy to clipboard operation
GDevelop copied to clipboard

Hide advanced parameters and properties from beginners.

Open D8H opened this issue 2 years ago • 8 comments

I made a quick way for advance users to get ride of the beginner mode, but it's probably not be a good practice to replace a button when it's clicked.

InstructionBasic

InstructionAdvance

BehaviorBasic

BehaviorAdvance

D8H avatar Apr 15 '22 19:04 D8H

I order if we should use an Accordion (https://github.com/4ian/GDevelop/blob/a217565919a7a9e990db02c82a6af9c635ea689e/newIDE/app/src/UI/Accordion.js) for this? We use it already for things like behavior and this could make sense to put advanced parameters inside. This would make them out of order, but generally advanced parameters are at the end anyway :)

And this is more adapted to something that toggles the visibility of its children!

4ian avatar Apr 16 '22 15:04 4ian

I order if we should use an Accordion (https://github.com/4ian/GDevelop/blob/a217565919a7a9e990db02c82a6af9c635ea689e/newIDE/app/src/UI/Accordion.js) for this? We use it already for things like behavior and this could make sense to put advanced parameters inside. This would make them out of order, but generally advanced parameters are at the end anyway :)

And this is more adapted to something that toggles the visibility of its children!

It will probably work well for parameters but I'm not sure how to do it for properties as there are categories:

  • adding one accordion per category might be to heavy and a bit annoying
  • addind one at the end will remove the context that might be needed to understand the properties.
  • putting the categories a 2nd time inside the accordion is probably not something to do either.

It should probably work the same for both properties and parameters.

D8H avatar Apr 19 '22 07:04 D8H

This is interesting to mark complexity on a scale, for sure a good decision for the future! I really feel like that the Show/Hide advanced parameters should be [behavior/instruction/object-type]-wise. A user that learns how to use advanced properties for platformer behavior doesn't learn how to use advanced properties for the physics behavior.

AlexandreSi avatar Apr 19 '22 07:04 AlexandreSi

This is interesting to mark complexity on a scale, for sure a good decision for the future! I really feel like that the Show/Hide advanced parameters should be [behavior/instruction/object-type]-wise. A user that learns how to use advanced properties for platformer behavior doesn't learn how to use advanced properties for the physics behavior.

Personally, I think it's a matter of mental state not knowledge:

  • I've never managed to make any video game work with the tools I used before. Ho, no, there are so much going on there, I won't make it, I don't understand => the UI must hide frightening stuffs
  • Ho, but I can do a platformer that easily, it's not that hard to make a game. I can do anything! => the UI should not annoy the user with toggle show/hide, they can take it.

D8H avatar Apr 19 '22 08:04 D8H

On my side, for each example I make, I use collisions, and each time I add the condition, I wonder if I should put Yes or No for the edge condition although it has never been useful to me => it confuses me and slows each time I set this condition. But I know how to use each parameter of the Platformer behavior and I prefer seeing them all. But I don't know if my experience is applicable to everyone. @LuniMoon do you have an opinion about this?

AlexandreSi avatar Apr 19 '22 09:04 AlexandreSi

Agree that this could ideally be per action/condition/behavior :) You don't want the entire app to become complex at once, but progressively grow with you :)

You even probably want to hide back stuff after checking some advanced stuff!

Not sure exactly about the UI should look like though - it's true that an accordion inside an accordion is not pretty. Maybe something different.

4ian avatar Apr 19 '22 18:04 4ian

@D8H Thanks for this idea, I think it is a great one!

What is the UI for the extension creator? For behavior properties, I was imagining another toggle similar to "Visible in editor". There is probably enough space in the Property name field to put the "Advanced" toggle to the left of the visibility toggle.

The same "Advanced" toggle could be added to function parameters (in the same location, to the right of the parameter name).

On a side-note, both of those toggles should have basic instructions added on mouse-hover.

For the user experience, I like the way you have done it with "Show advanced parameters". However, I think you should replace "Always show advanced parameters" with "Hide advanced parameters". Then make this setting sticky, so it always remembers the last state it was left in.

tristanbob avatar Apr 20 '22 11:04 tristanbob

An accordion is too much. I like that the advanced parameters buttons appear among the basic parameters.

I agree with what Tristan says.

Bouh avatar Apr 23 '22 20:04 Bouh