SegsEngine
SegsEngine copied to clipboard
RFC: Engine architectural layout.
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
#defines 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?
What about rewriting it in rust?
What about rewriting it in rust?
Just as soon as I see LumixEngine rewritten in Swift :trollface: