Like the ones found in multimedia fusion and construct 2.
What do they do, why are they so useful? How is a group better than just parenting stuff to an empty event and use that as a group.
-clear organization- it allows you to easily group together many events and put a name on the group.
Colapse the group to reduce scrolling when you dont need to edit the group’s contents.
Right now you can fake that by creating an empty event to parent all the subevents you want and colapse it. You have to also create a “comment” line above it.
-Toggling on and off- Groups allow you to turn on and off multiple lines of code during gameplay or during editing (for debugging).
You can for example put in a group all the code that is responsible for player control and during gameplay, when the player is stuck in a trap- you can toggle the “player control” group for x amount of time.
I suppose you can make the argument that “external events” can sort of emulate this in gdevelop. However I find external events very strange and limited. They can not access objects in the scene for some reason- to use them as conditions or execute actions on them. Maybe I am missing something.
Also there is an advantage of having all of your code laid out in a certain way in certain situations. Groups make code editing clearer to the user and they take much less steps and items to setup. Right now to emulate that behaviour you need to set 4 things:
- an event line to act as the group container
- a comment line
- a new variable to use in order to switch on and off that group
- a condition using that switch variable in the group container parent.