Before I go down a rabbit hole

I want a stand alone level editor for a game I’m making. I’d like to be able to offer the player the ability to create and edit levels and I don’t want them to have to download and learn Godot to do so. Is this possible with Godot and GDScript? If so, can someone point me in the right direction for resources?

Absolutely.

It will be easier to integrate the level editor into the game (e.g. put a button in the main menu) because that should allow you to reuse some existing functionality.

But it’s also possible as a separate project. If you’re using Git, you can use submodules to share the relevant assets between the game and editor projects.

If you have written the code for displaying a level yourself or at least understand how to use it, I suggest trying to do this mostly on your own. It obviously won’t turn out perfect but that’s the point of learning.

Some considerations:

  • You will need a file format to save levels to. You might just get away with Godot resources (scenes, materials, etc.) but you could also use JSON or even your own format
  • If you’re generating levels in a way that doesn’t allow hijacking some of the script for the editor this will be a lot harder and I suggest changing that (provide some public functions like for setting a cell, placing entities)
2 Likes

You can make you level editor that gives the player only the necessary power.If you are working on a 2d one then you can create a cool level editor in game or outside of it ,doesn’t matters.at the end of day you are just storing some positions and rotations in a json file : )

Are you trying to make a 3d or 2d level editor?

and might be a overkill do you wanna add a custom scripting ?

C++ > gdscript > ur language lol xD

3 Likes

The game will be 3D top down, but the editor will be a 2D tile map. There is no point in making the editor 3D as the game will be basically a 2D tile map with an extra dimension. I asked because I was originally going to make this game with Unreal, but Unreal doesn’t have a feature to open and parse files. There doesn’t seem to be a way to create a level externally and that doesn’t work for me. Not to mention that Unreal is bloated and has features I’ll never need or use. There is no legitimate reason that a simple game should be hundreds of MB in size!

Thank you. I’ll study GDScript more and make this happen!

1 Like

I would be awfully surprised to learn this is true.

FFileHelper::LoadFileToStringArray(LoadedText, *File);

source

1 Like

Well, regardless, I do not need or want the complexity of Unreal Engine. There is nothing for my game that Godot cannot do and seemingly easier. There is certainly less bloat!

2 Likes