User Generated Content in Godot

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By Shallow


I am currently working on a project but sadly the intended tools are not really meeting its requirement.

Is Godot suitable for games that will also heavily rely on user generated content?
I want users be able create new levels within the game client itself and also modify the game files which would be in Lua.
But I fear there are no bindings between GDScript and Lua and I would need to utilise the native interface?
I do not want users to learn GDScript but rather Lua which is commonly used already.
Level construction and everything is then based on Lua.

I fear that this might make Godot a bit unsuited pick?

Thanks for your time : )

The games files might be in Lua, but are the user really going to modify the file directly, or are they going to use a more user friendly approach.

SIsilicon | 2018-12-18 00:13

The files would be created with the in-game editor.
However in case a user is interested in adding new enemies with different behaviour or new items etc., they will have to edit the script.
But that’s rather for the more interested users that want more than just generic levels.
The tooling is literally intended to be the same as I use to create the default levels.

Shallow | 2018-12-18 00:21

Well the only thing I think you can do is somehow translate the Lua code into gdscript to be used as a runnable script. Obviously this is no trivial task. But if you put enough time and effort into it, it could work. Really all your doing is making a programming language translator. Again not easy.

SIsilicon | 2018-12-18 02:10

Yeah, I feared using Godot, while meeting all other requirements, is not fully suitable for this. I originally started in C++ and had my Lua binding already working nicely but the graphics/game framework used simply lacks ease of certain aspects and raises very hard difficulties that are already solved in Godot.

Shallow | 2018-12-18 03:49

Welp, it looks like you have a mini-project on your hands.

SIsilicon | 2018-12-18 04:27

If you had the game in C++ with LUA then why don’t you just write a module in C++ that executes the LUA scripts (something generic) and do the rest in GDScript? GDScript can be mixed with C++. Basically make a C++ module that acts as a middle ground between LUA and GDScript.

CensedPie | 2018-12-19 07:58