Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: Engine architectural layout. #10

Open
nemerle opened this issue Sep 26, 2019 · 2 comments
Open

RFC: Engine architectural layout. #10

nemerle opened this issue Sep 26, 2019 · 2 comments
Labels
help wanted Extra attention is needed

Comments

@nemerle
Copy link
Collaborator

nemerle commented Sep 26, 2019

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 nemerle added the help wanted Extra attention is needed label Sep 26, 2019
@nem0
Copy link

nem0 commented Feb 25, 2020

What about rewriting it in rust?

@nemerle
Copy link
Collaborator Author

nemerle commented Feb 25, 2020

What about rewriting it in rust?

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants