Make a level scene that gets inherited whenever we want to make a new level.
So essentially, the "level_bluprint.tscn" would have all the necessary Nodes for a level to work :
The player spawn location
The "TileMap" for tiles placement (rocks and flesh ground)
UI
Camera
And all we have to do is just create a new level who is inherited from the "level_blueprint.tscn", and we would just add stuff to it. By doing that, the original "level_blueprint.tscn" won't change, and could as make as much copy as we want
Purposes :
It won't create as much conflict when trying to merge branches
If changes has to be made to a level, the changes it self will be contained in a smaller zone (so if conflicts ever happens, its easier to fix whenever we try to merge)
Its a long shot, but maybe non-programmers would be able to help with level creation at a simple level, because most tools for level creation doesn't really need code (I'm open for questions on this topic if needed) :
World design with the "TileMap" tool, you just select and place tiles
Placing enemies into a level with modifiable variables in the inspector tab (you just change values, no code needed)
Maybe portals that programmers can make, and the inspector, you would just put the link to the other level created (just an idea, idk how level to level transportation is designed yet)
Notes :
I don't expect everyone to get this concept, if needed, I'll be here to clarify any confusion, and re-edit the issue for better explanation if needed
This kind of organization in Godot could be used for a lot of use cases, but for now, it would be smart to just do it for level creation
The Idea :
Make a level scene that gets inherited whenever we want to make a new level.
So essentially, the "level_bluprint.tscn" would have all the necessary Nodes for a level to work :
And all we have to do is just create a new level who is inherited from the "level_blueprint.tscn", and we would just add stuff to it. By doing that, the original "level_blueprint.tscn" won't change, and could as make as much copy as we want
Purposes :
Notes :