Improvements inspired by Godot engine

It would be amazing if GDevelop could use similar scenes feature like in Godot.
I’ll give you a simple example, what I mean exactly:

Let says I want to use in my game the movable IU window contains text (player statistics for example). In Godot I can create new scene “ui_player_window” with all necessary items (graphics, text, etc), sets them like I want, and add script. After that I can use it for another scene like an object. That’s very easy to use and fast.

In GDevelop I have to add everything in one scene, program it, manually set the position in the Events for every object, to behave like one window. Quite a lot of work for something such easy.

Of course there is much more usable examples for that, but this is something what I experienced last time.

Hi BeF1990,

Are you aware of external layouts and events in Gdevelop? I also like the node system in Godot (some people seem to hate it) but with external layouts and events you can get in a similar direction.

https://wiki.gdevelop.io/gdevelop5/interface/scene-editor/external-layouts
https://wiki.gdevelop.io/gdevelop5/events/functions/replace-external-events#example_using_external_events

3 Likes

Sound very promising. Thx! :slight_smile:
Definitely, I have to learn more about GDevelop…

1 Like

I have to admit that I find the concept of scenes being used as an object really nice and like that side of Godot, but also don’t think it would fit GDevelop nicely (because of how confusing it can be to newcomers among other things). I think a prefab feature, which would be fairly similar, has been proposed and thought about before, so not all hope is lost! In the meantime, external layouts, custom behaviors, functions, and external events are your friends for sharing reusable components across scenes.

I think it can be just an optional feature. For me the way how the scenes work in Godot it’s one of its best pros.

To be clear, I love GDevolop because it’s super easy, flexible and powerful engine, but last time I struggled a lot witch simple movable window in my game. That showed me how Godot’s scenes system is good… But it’s great to hear you’re looking for similar solution. I cross my fingers. :slight_smile:

Btw huge thanks for you and everyone involved in this project. Great job!

Just to be clear on this, Drona is right. Reusable/reproducable assets and layouts are what External Layouts are for (just make sure the objects in the external layouts are global objects). Reusable/reproducable events (or scripts) are External events.

Getting familiar with those will likely make those things simpler for you long term.

I don’t want to change this topic to “How do I…?”, but have you tried to stick a text with a sprite, and move them together (Draggable object behaviour)? I made something like that in my prototype, a simple movable window with a player’s statistics.

Right now I have to set text’s position and attached it manually to the “window” (sprite) and code all of that in Event sheet. In Godot I can just set everything in the scene screen, save it, and use like one new object in any different scene. So simple and quick.

What you describe is usually just one event “Put one object around another” for one object to another.

However, for reusable in multiple scenes, you would have an external layout that has the objects in them, and an external event sheet that has your events for that layout in them. Then you just link them into the scene you want (for the events) and create the objects in the scene you want (for the layout).

Each new object would be one new event line, but once it is set up it is reusable in any scene without recreating anything other than the 'Link events from Eventsheetname" action and the “Create objects from Layoutname” action.

1 Like

I wont to do off-topic here, but tomorrow I’ll open new topic in the right place and describe the issue what I have with “Put one object around another”.

1 Like