Ok so I have successfully written my game's 1st level in 2d and in 3d and learned much. Such as basic modeling, paths, nodes, match statements, instancing, gui, following mouse, following object, material override, lighting, and camera usage, etc.

Now what is the best method to duplicate the whole scene; everything remains same save:

path, path follow, music, tilemap, and enemy list.

I appreciate your input on this, I suspect the answer is inherited scene but Im unclear what that actually does. Thanks

In general, you can just open the scene, then choose "Save As..." on the top and save it with a new name. Inherited scenes are not as useful if you want to make a lot of big changes.

I suspect it’s “not as useful” @jbskaggs because it works like it works similar to script inheritance, like when you extend x on a script. Meaning you really have to think of how how the script / scene is going to work with inheritance in the first place. No one wants to copy paste a level 100 times so eventually people try to generate their levels with code- I did that with both my first and second projects and I regret doing that instead of staying in the editor to learn it better.

Yes, inherited scenes make sense if you want to use all the same functionality and change a few minor things. But if you are making an entire new level, almost everything will be different, so there is no benefit to inheritance and it will probably just make things harder.

@Erich_L said: I suspect it’s “not as useful” @jbskaggs because it works like it works similar to script inheritance, like when you extend x on a script. Meaning you really have to think of how how the script / scene is going to work with inheritance in the first place. No one wants to copy paste a level 100 times so eventually people try to generate their levels with code- I did that with both my first and second projects and I regret doing that instead of staying in the editor to learn it better.

You regretted generating the level via code?

Cyber reality said: In general, you can just open the scene, then choose "Save As..." on the top and save it with a new name. Inherited scenes are not as useful if you want to make a lot of big changes.

So just a save as would be simplest solution?

Yeah I regret generating too much stuff with code in my first two projects (generating the whole level really). I think it would have been better if I had spent more time in the editor before ... just brute forcing what I wanted.

Now that you’ve done your level and have polished your code, you could imagine how you could generate a level procedurally- probably a grid of tiles made around a random curve to define where creeps run.

I've made a lot of games with code only, but it's a bad idea except for certain ideas. Use the editor, that is the best part about Godot.

6 days later

Recently I've got into the style of having a master scene, with environment, overlays, etc. That then uses an auto script to manually load in and out other scenes as required. It feels a hassle but it sort of blends the programmers delight of programming a level but then to include individual level data via scenes.

I'm thinking that I learnt a lot about inheriting scenes and such in this great series by Mr Taft... But right now I can't see which episodes I'd recommend and it's a long series, but well worth a watch, I learnt a whole lot!

https://www.youtube.com/playlist?list=PL4vbr3u7UKWqwQlvwvgNcgDL1p_3hcNn2

I believe both the game scene and the level select scene both use inherited scenes.