← Back to context

Comment by cyber_kinetist

5 days ago

Not a bad choice... since Minecraft Java edition only supports desktops, they don't have to deal with the abysmal Vulkan drivers on mobile.

Though I thought a company large as Microsoft would have the resources to build a cross-platform RHI with the most stable API available for each platform (DX12 for Windows and Metal for macOS)...

A company as large as Microsoft has resources to do a lot of things, but you’re not borrowing resources from the Office team to help on this project.

The relevant measurement is the resources Mojang has as a studio. And I expect the decision here is that they don’t want to commit to the long term maintenance of three renderer implementations on the Java side.

Another concern is that modding is a major part of why Java Edition is so popular, and that includes shaders specifically. This is already going to cause chaos in the modding world as it is, no need to compound that by making shader mods that much more burdensome to maintain.

They use bgfx for bedrock edition.

https://github.com/bkaradzic/bgfx

https://www.minecraft.net/en-us/attribution

  • An aside, but out of five links for Java edition one is 404 and the next one is an HTTP-only site seemingly not updated since 2009.

    Funny to contrast with Bedrock edition, for which they paid for FMOD Studio to cover the audio features of those two (and more).

  • This is such a gold mine project! thanks for sharing it.

    I suppose, if someone in future might want to create their own godot-alternative. Why not just use bgfx with the language bindings instead.

    I Love Godot from my time tinkering with it but one of the reasons why Godot is so hopeful in future compared to other engines is imo the fact that they support many many platforms.

    I have seen some blogposts on HN where someone used godot to prototype an android GUI application (and not a game) and how the whole process actually makes sense when you think about where they talked about it in the blog post.

    Actually there were discussions about even integrating bgfx into raylib (the goat) but looks like that its not getting integrated but it was interesting to read the discussion and maybe anyone more experienced than me could even contribute to the discussion below

    https://github.com/raysan5/raylib/discussions/1699

    • > Why not just use bgfx with the language bindings instead.

      For me the biggest obstacle would be the weird build system the project insists on using.

Honestly pick between Vulkan and DX12 is very superficial.

But you can easily make Vulkan run on macOS. Not sure what would be the reason to use DX12 in the new project today given free choice of technology, especially when team comes from OpenGL.