On Wednesday, 5 July 2023 at 22:27:46 UTC, Andrew wrote:
So, I've gotten the itch to have a go at game development in D,
after doing a bit of it in Java last year. I've previously used
LWJGL, which is a java wrapper for OpenGL, OpenAL, GLFW, and
some other useful libs.
The problem is, apparently OpenGL is deprecated for apple
devices, so I don't really want to use that unless there are no
decent alternatives.
So far, the most promising I've seen is
[bindbc-bgfx](https://code.dlang.org/packages/bindbc-bgfx), but
it's been a pain to set up due to having to build the bgfx
codebase, which requires a specific version of glibc that my
distro (Linux Mint) doesn't offer yet.
Are there any other recommendations for cross-platform
rendering libraries? Of course I could use a pre-made game
engine like Unity or Godot, but for me, most of the fun is in
making the engine.
Are you trying to make a PC game, or a mobile game? Because in
99% of cases I would pick a different toolchain for mobile than
PC. OpenGL being depreciated on a single, walled-garden platform,
does not rule it out for the entire rest of installed systems.
Only if I absolutely needed, cross-platform out-of-the-box with
mobiles and PC, would I pick a package like, Xamarin. Which now
forces me to use C#, and the size bloat of including a mono
framework with all my apps. I would not pick Xamarin just because
I wanted to keep my options open, I would d pick it because I
have a planned application that needed to be 1:1 synced across
iPhone, Android (and possibly PC).
There's also other options. Such as using a OpenGL -> Metal
conversion layer, like MetalAngle:
https://github.com/kakashidinho/metalangle
https://chromium.googlesource.com/angle/angle
So be sure exactly what you want as the best tools for the job
will depend greatly on the requirements of the project.