Options for Cross-Platform 3D Game Development
Chris Katko
ckatko at gmail.com
Thu Jul 6 06:54:27 UTC 2023
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.
More information about the Digitalmars-d-learn
mailing list