Improving GDevelop usability

The majority of people complain and bring a solution of their own.
I complain that the dialog boxes are blocking.
You lose the changes because it happens.
My solution is to not have a dialog box.
Your solution is to have a dialog box.

The problem is not that my opinion has more value than yours or vice versa.
The problem is that if we make a choice among our solutions nobody is happy.

You and I have been selfish about the right solution, Arthuro has shown hindsight and indeed having a user preference for this is THE right solution.

With my poor arguments, if I thought only to me I would not go to implement the solution of arthuro.
I don’t say that my solution is the best, I speak for myself, I give my opinion like all users.

The difficulty is that people give their arguments, just saying something isn’t good doesn’t doesn’t help. If I have upset you with my arguments I am glad because it is by not being on the same wavelength that we finally see the arguments of others.

2 Likes

and @Bouh

I think a preference toggle is the best option, I’ll shut up now.

When I first saw this mockup, I thought it was a great way to inform users of the relationship between objects and instances. The object is displayed as the root item and the leaf items were the instances. It is obvious that any changes to the root item would affect the leaf items (by inheritance).

When users click on a root item (object), the properties panel would let them change the properties of the object. If the user clicks on a leaf item (instance), the properties panel would let them change the instance properties.

Do you think this method of nesting instances under their objects is a good idea?

(I realize that your mockup example was for grouping objects under a “tag”)

3 Likes

The idea has merit, but I think the issue is that it adds even more items to the already cluttered object list. I would think the list would need a design overhaul first (tag trees, folders, or something else) before any additional object iterations could realistically added.

I wonder if an alternative could be to group instances in the instance panel?

3 Likes

I absolutely agree on this. This should be a higher priority.

2 Likes

HTML5 export optionally packed as .zip
Add “NumpadReturn” to Key pressed/released condition
Add the colorpicker button to color tweening action
edit:
Add “size” action for Sprite, that combines height and width in one action, as it exists for position.
Fix the sorting of the actions in the size category.
Add a Z order field in Create an object action.
Make the expression dropdown menu 280px higher/responsible.
If you leave the Animation field in the properties manager blank, it shows 6.71089e+07 instead of 0.
Fix the bug that created variables are not available in the dropdown menu before closing and reopening the action.
Fix the bug that created object-variables are never available in the dropdown menu in the expression manager.
Add an empty animation to new created Sprite objects.
Since you did the add button always on bottom and not dependent on existing animations, it is too much effort across the screen. From Name to Add Animation, to Add Images, to Apply.
Bring back percent/size in loading screen settings. Helpful to show how much will downloaded in web games, because there the many small files make 14MB feel like 450MB.

3 Likes

Just to chime in on these, I’m not showing any submitted threads in bug reporting or Github issues on your listed bugs.

It would likely be very valuable for you to make a thread that describes what you’re seeing or open github issues on these, so they’ll get worked on as bugs ahead of any UI enhancements from this thread. If you have threads on these that I just can’t find, ignore me here. :smiley:

First, sorry if I needed to open a thread for ordering. but here’s the thing. In the animations and sprites tab, would you be able to automate the FPS of each animation? For example if an animation has 5 sprites, the GD automatically recognizes and leaves 5, not default 13 as it is currently…

I made a video showing how hard it is for just one, let alone for many, as is my case.

I believe that with this change, the GD becomes much better in the object editing part

Well, it is rare to want to have all animations to take exactly 1 second, I don’t see why this should be the default? GDevelop is not intelligent, it cannot detect intent and therefore not auto-magically extract the wished FPS out of any animation.

I don’t say that the animations should be 1sec, but normally when you have a character that has its movements, you must put how many frames this movement has, as I showed in the video, the character there, has several animations, just insert how many frames each animation have what is correct. Now see, if I leave the FPS of any animation at 13 as the default, the animation would be really fast!

EDIT: What I meant is that GD could check how many frames the animation has and change it automatically.

>_> What you are changing here is not an amount of frames, there is no such thing in GDevelop. This is the FPS, the amount of Frames Per Second of the animation, aka it’s speed. Setting it to the amount of frame in the animation makes the animation last 1 second exactly.

Exactly, the default of 13 is much faster, it doesn’t last a second (0.0769)

I’m still not sure what you are asking. Nearly every 2D asset has animations at different framerates per set. Heck, some spritesets have different fps per animation of the same character. (Idle animation of 8 fps, attack animation of 12fps, etc.)

What exactly are you expecting GD5 to detect/modify? There isn’t an automated algorithm to know what the correct fps of the animation is meant to be.

1 Like

I just made a video demonstrating.

Think with me: my character has 2 animations, 1 with 4 frames and another with 6, correct?
All placed animation is set to default 13 frames. What I would like the GD to do is recognize these animation frames and set it automatically.

Hmmm… that’s not what your video is showing or what that field means. The field that FPS sets (the time on the right) means “what is the amount of time this entire animation should take to play”. It is also very dependent on your game framerate, and usually has nothing to do with the number of frames of animation you have in your single animation.

You can have a 20 frame animation but still only want it to be played at 15 frames per second, because the animation is meant to happen over more than 1 second.

Your animation having 4 frames doesn’t mean it should have a framerate of 4 in most cases, and your video shows that both of those animations seem too slow (to me) at the rates you’ve set.

I’ve now checked Defold, GMS2, and Unity, and none of them set “framerate to play the animation” to the same number as “number of frames in this animation” by default, and I’m pretty sure you wouldn’t want them too.

5 Likes

Either the second or third last new update disallows minimizing the preview window through clicking on other programs via the task bar. Including the GDev console program. Would be nice to have that back as it makes real time debugging much easier. Thanks!

3 Likes

can we have a timer that is independant to the time scale ? it’s too complicated to implement your own functions everytime especially when creating games where precise timings are needed.

Use a scene timer and then use layer time scale events, instead of scene time scale events.