Hello GameDev.net,
To start things off, I'd like to apologize if anything is worded poorly or formatted wrongly, this is my first post on the website; though I have lurked on here without an account for several years.
Roughly two years ago, I started work on my game engine, Leaf. Now, I would like to explore a major refactor of the entire engine - more akin to a complete restart than a simple refactor.
One frustration I’ve always had is needing to compile multiple executables for different platforms. I’d like to create a platform-agnostic engine where you can compile once and run anywhere.
I was inspired by Cosmopolitan C, though its limitations (lack of GUI support, no dynamic libraries) led me to envision a custom format for my engine. I’ve been prototyping a format that features dynamic libraries, broader library access, and execution on previously unsupported systems (E.G. Modern OpenBSD versions).
Before committing to this time-consuming overhaul, I’d like to ask: would a game engine like this be useful to developers here - one that compiles once and runs on most platforms out of the box, without requiring users to download extra runtimes such as .NET or Java?
Thanks for any feedback!
EDIT: Realized that I did not specify how dynamically linked libraries work, as I can see cross-platform shared library like structures being difficult to understand from a technical point of view. Essentially, it works as a custom format with each platform specific library being crammed together into one file and loaded with a custom interpreter.