RFC: Engine architectural layout.
nemerle opened this issue · comments
Artur K. commented
I'm not very happy with the approach the original Godot engine took to tooling/testing/executables:
Namely that all functionality is embedded in a single file, for example:
- unit tests are ran using a specific command-line option
- project manager/launcher is part of the main executable
I think we can do better, the question is - what approach should we take?
Low level
- Separate the whole engine into DLLs, make them as re-usable as we can ( right now EDITOR build sets
#define
s that modify the layouts of various classes, thus preventing any form of binary re-use). The game/editor/server executables would depend on a set of DLLs. - The engine as a set of static libraries, linked with executables
- Hybrid approach - large parts of the engine are a static library + parts of it are contained in DLL files.
Thoughts?
Mikulas Florek commented
What about rewriting it in rust?
Artur K. commented
What about rewriting it in rust?
Just as soon as I see LumixEngine rewritten in Swift