Hi All,
I am new to Godot Engine - just messed around with it a couple of years ago (v3.1) and loved pretty much everything about it. However as I've been busy with another project, I could not dedicate my time to learn Godot so far.
However now I consider moving my project from PySide6 and Qt3D to Godot. The thing I've been working on with another friend is a modern level editor for some old game series. It's a pretty old stuff - late 90's, Quake-like technology - BSP level geometry, light maps, vertex shading for objects, some sort of portal based visibility culling etc.. Mind you - we plan to create editor primarily - not re-create the game engine itself with all the gameplay mechanics. The level build and gameplay will be still performed by using the original editor.
Since scrapping a few years of work and starting from scratch (or almost from scratch) is never an easy idea, I'd like to get some feedback on what's possible with Godot and where we would potentially experience challenges. Here are some most important areas we need to cover:
1. Python support.
Our project has been written with Python - it has a back-end library for reading and writing the proprietary file formats and a front-end, which uses PySide6 with Qt3d. We would like to keep the former, so we don't have to re-write the core business logic. I know there is a Python plugin for Godot 3.5, but it has not been ported to Godot 4 and may not be for another while. There may be alternatives. How difficult would it be to integrate Python into Godot, so I can use my libraries? And would it possible to mix and match Python with GDScript and/or C#? How difficult would it be to have a custom Script Editor running Python scripts, inside Godot runtime? (We'd like to give ability to script stuff, like it is in other 3D applications, like Blender or Maya).
2. Lightmaps
We will be reading lightmaps from the original files and generally we can use the original editor (as a sub-process) to build the mission and re-calculate all the lighting. But I would also like at some point use the Godot's lightmap baker, as it offers superior quality. Is it possible to bake lightmaps at runtime? I don't mind it taking a long time - after all, we're making an editor - not the game itself, so waiting is expected.
3. File system access
From what I have seen so far, there should not be a problem to access any arbitrary files on a local file system, but please let me know if there are any restrictions for the Godot apps to access the files on the disk. (similarly to the way browsers have restrictions).
4. OS interactions
Can I spawn processes with Godot? We'd need to do that to launch original editor for map processing and game testing.
5. UI
Coming from Qt/PySide - how does Godot's UI compares to it? I've read extremely mixed opinions. Godot Editor running on Godot Engine itself proves it's well capable, but is everything that the Editor can do possible to do at runtime as well?
I might have more questions down the line, but that should do for a start.
I'd really appreciate answers, so we can make some informed decisions and maybe do this leap. I think using Godot would open up many possibilities for us, that are rather difficult to achieve with Qt3d.