SegsEngine icon indicating copy to clipboard operation
SegsEngine copied to clipboard

RFC: Engine architectural layout.

Open nemerle opened this issue 6 years ago • 2 comments

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

  1. 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.
  2. The engine as a set of static libraries, linked with executables
  3. Hybrid approach - large parts of the engine are a static library + parts of it are contained in DLL files.

Thoughts?

nemerle avatar Sep 26 '19 11:09 nemerle

What about rewriting it in rust?

nem0 avatar Feb 25 '20 15:02 nem0

What about rewriting it in rust?

Just as soon as I see LumixEngine rewritten in Swift :trollface:

nemerle avatar Feb 25 '20 16:02 nemerle