Improving GDevelop usability

Why not a multiple of 15° ?

I was worried about that too, thank you so much! I will wait for the update :blush:

Oh, I’m sorry… my problem is with the “Snap to grid” function in the Grid parameters, from the Scene tools. It snaps the position, but not while resizing or rotating.

It was added too. :slight_smile:

Thank you very much :slight_smile:

Well I don’t know, is rotating with 15° increment more common in other softwares? I just set 45° because it covered most usages (i.e: if you press Shift, it’s because you want a perfect rotation of 45/180/270 degrees) but we can update that to have more increments. :slight_smile:

It’s the increment used in LibreOffice, Office and many softwares : you can get much more angles : 15°, 30°, 45°, 60°…

Changed :slight_smile:

It would be nice if gd would store the last folder path for the compile dialog separately from the last opened images/ressources folder.
When doing test compiles it often suggests to use the images folder, depending on where I last opened / saved something. That leads me to accidentally compile the game into my images folder.

The file open dialog in GD does not store the last accesed folder at all if my memory serves me right.
This becomes annoying when you have to import resources for your game and repeatedly need to point it to the same folder where all of your stuff is.

It would be nice if the file open dialog remembers the last accessed folder and stays at it when you open it = like it does in other software.

For larger Projects it would be helpful to have virtual folders in the object editor and Project Manager (“Scenes”, “external Layouts” and “external Events”) for organizing stuff.
It would also be nice if the virtual folders in the Image bank could be nested.

I have some ideas for improve UX:

  • Merge the Objects panel with the project management panel, and put an “inspector” on the left (where the project panel is). So that when you click on an object, the “inspector” shows the attributes of that object, and then you do not need to click the right button on the object to this panel appears.
  • Reduce the precision of the of coordinates in the status bar. A lots of zeroes :astonished: ;
  • Reduce icons size in the Ribbon, to gain more space for editing scenes;
  • Move the panel “Scene / Events” to the bottom of the scene and hide it. So that when the pointer reaches close to it, it reappears. To gain more space for editing scenes;
  • Double-click on panels, to hide it, to gain more space for editing scenes;
  • Double-click on Scene Area to add a new object;
  • Make the area outside the scene of a different color from inside. Making it more intuitive.
  • Add a zoom feature on the sprite editor

Some sprites can be very small (or very big) and it can be difficult to edit their collision masks.

  • Add a sphere collision mask type

I just noticed that you have inconsistencies in the naming of string variables.

When you check for a global string, you named it “text of a global variable”
When you set a global string, you named it “string of a global variable”
The same for local string variables.

I think that you should use either the word “text” or “string” in both cases, not both words. That way it will be easier to find it. :frowning:

First I want to say, I think Game Develop is awesome. I’ve tried most of the mainstream game development software and the learning curve has always been too much to keep me motivated. With GD I have been able to pick it up super fast. But I have noticed a couple things that I think could be improved to help streamline the process of working with it.

  1. A keyboard shortcut for preview. I find myself constantly editing events and having to click on the Scene tab in the ribbon to preview it. It would be great to be able to hit F5 or something to test it.

  2. Copying and pasting multiple events (holding down ctrl) pastes them in the wrong order. I’m not sure how it’s supposed to work, I’ve tried it both ways. It would also be nice if shift worked for selecting everything in-between.

  3. Disabled events aren’t very obvious. This is not a big deal but could be helpful on the eyes if they could be more obvious or the color was adjustable.

  4. Ability to disable individual actions when there are multiple actions for a condition. I find when I am testing out the effect of certain events if I want to disable a specific action I will have to copy the entire condition and disable the original condition then delete the actions I wanted to disable. This would be a very helpful feature since a lot of conditions can have multiple actions.

  5. Tiled Sprite Animation. It would be awesome if GD could let you use a sprite sheet as an animated sprite where each tile was a frame of the animation. I think this would be much better on resources than using an individual image for each frame.

It always puts mine exactly backwards (Or upside down) :confused:
I would like to see this in an update myself :slight_smile:

Hello!

GDevelop is a great tool for teaching kids to make games. We have multiple ongoing game development courses for kids (age 11-12) until this summer and the kids just love to make games with GD!

I don’t know if these suggestions already have been posted (didn’t read all pages of this post (tl;dr)) so I’ll just post them anyway.

First, it really confuses when you are able to open the same project many times in the project explorer. And when the kids make changes in different copies of the same project, everything gets messed up somehow and saving doesn’t save everything. After a few times we learned to double check that the same project was open only once. I noticed this problem is caused by clicking on the ‘latest project’ link many times. Every click opens up a new copy of the same project in the project manager. It would be great if you could open the same project only once at the time.

Second, it would help to prevent problem one (above) if a scene was opened in the editor when opening a previous project. This way you wouldn’t think that the project didn’t open, and click on the link again. The opening scene could be any scene (if there are many scenes in the project) just to indicate that the project is now opened.

Thanks!
-Tommy

Some general streamlining suggestions (all experienced behaviours from Ubuntu 14.04):

  • In the variable editor, moving a variable up or down deselects the variable. If I try to move a variable through a long list that is somewhat a hinderance.
    -Personally, I’m way more likely to change an objects additional properties than its sprite, an option to make the later the default on double clicking an object would be nice. (The fact that I can just anchor the property window to the ui elevates that though.)
  • Objects have angles, sprites have a direction, but I’m not entirely sure what the difference is. Could be be explained in the action/condition header?
  • Angle/direction seems to not go back to 0 after hitting 360. I guess that is intentional and has uses, but I found that somewhat confusing. Could be mentioned in the angle/direction change actions? Maybe scenes could have a property that defines how they treat angles >360 and <0?

Anyway, that where just my personal expressions. Some if this might not be a problem for other users. :question:

Issue: Using the same object multiple times in a scene, unable to define which one to edit in the events. Currently it seems only global, and not object “id” dependent.

Idea: Have each object that is created INSIDE the scene, add its own id to the object name where it can be identified in the events as objectID.xxxxxxxx when calling actions that will only affect the id and not all objects that are the same object. So, instances I think is the word Im looking for :stuck_out_tongue:

If there is a way to do this already, I have not found it but continue to read and search all the time. Please let me know if it already exists and Ill update the wiki or if it is referenced I have not read it yet.

EDIT: Currently I am going to try to add individual variables to them in the scene so it does not affect the global object. Ill say variable “id” and values will be the defining character that I can use in the events hopefully :slight_smile: Sound legit! lol

Thank you! Great work as always and keep it going! Got a great game going right now :slight_smile:

Add “ids” or a variable or anything else to identify objects is the way to go.
That’s the way events are done: they are applied on all objects according to the conditions.

If you need to target a specific object, it’s because there is some kind of logical conditions that you should be able to apply on it. :slight_smile: