Live data from Hacker News

Minecraft Java is switching from OpenGL to Vulkan

gamingonlinux.com

51–60 of 177 posts

Re: Minecraft Java is switching from OpenGL to Vulkan

#51
post #37

Earlier quoted context omitted.

The reason you use DX12 in a new project is so that you can get good linux support. I'm making a joke, but it's also true.

How good does Wine support DX12?

DXVK does not need wine.

Re: Minecraft Java is switching from OpenGL to Vulkan

#52

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)...

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).

Re: Minecraft Java is switching from OpenGL to Vulkan

#53
post #37

Earlier quoted context omitted.

The reason you use DX12 in a new project is so that you can get good linux support. I'm making a joke, but it's also true.

How good does Wine support DX12?

it translates the calls to vulkan.

Re: Minecraft Java is switching from OpenGL to Vulkan

#54
post #16

Earlier quoted context omitted.

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 Jav…

TBH Mojang should have the resources to do that on his own, Minecraft is the best selling game of all times btw.

I imagine it's far from the best-earning, though. It's a one-time purchase.

Re: Minecraft Java is switching from OpenGL to Vulkan

#55
post #21

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)...

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.

but why would you pick the worst API?

Re: Minecraft Java is switching from OpenGL to Vulkan

#56
post #23

I wasn’t aware Java had Vulkan bindings. So this is JNI I’m guessing? This makes sense. I guess I’m a bit surprised they were still OpenGL anywhere. I never really got into Minecraft though, so I can’t pretend I know much about its current state. I didn’t even realize there was a non-Java version for desktops.

To elaborate on the other comment about the Foreign Function & Memory API: JNI is effectively dead/deprecated, and has been replaced by the aforementioned API. It is orders of magnitude more developer friendly to use. It handles memory much more cleanly. It's way easier to create bindings to talk to foreign functions (e.g. Vulkan).

Probably the most underappreciated great feature in recent Java releases.

Re: Minecraft Java is switching from OpenGL to Vulkan

#57
post #9

Earlier quoted context omitted.

Java is the original version from Mojang/Notch. There’s always been enough of a community that killing it off to move away from Java would break so many extensions and servers would see an active revolt. There is the non-Java version (Bedrock), but that’s not nearly as extensible.

Switching to vulkan breaks all the extensions too

It doesn’t really. Server side mods don’t touch rendering code at all, and most client side mods also don’t come anywhere near it. I last did Minecraft mod development some 7 years ago but even then you would basically never reach into the raw drawing calls unless you were implementing shaders or something.

Considering the vast majority of mods are just adding some items or creatures, they don’t need to worry. This won’t be more than the regular API changes in between versions that they’re already used to, unless it’s a more graphics heavy thing like a shader mod.

Also, even with shaders, it’s fairly straight forward to port a shader from OpenGL to Vulkan (for the most part Vulkan just gives more flexibility in that regard). The stuff around it is the hard part.

Re: Minecraft Java is switching from OpenGL to Vulkan

#58
post #24

This is great news. I was super disappointed when Rainbow Six Siege dropped the Vulkan version of their game. They cited the support burden as the reason they dropped it, as nearly every game in the studio defaulted to DX11/12. For at least two years after that they received non-stop complaints of frame stutters on DX12. I do not know if the situation has gotten much better since then. Slightly off-topic too, but I w…

We have one for Bedrock fwiw. JavaScript based (via QuickJS).

https://learn.microsoft.com/en-us/minecraft/creator/scriptap...

Re: Minecraft Java is switching from OpenGL to Vulkan

#59
post #13

Earlier quoted context omitted.

Ah, I had misread "minecraft" as "microsoft". I wasn't aware minecraft java was a thing. Crazy they have their own java implementation!

Not a Java implementation, but the original game was written in Java. Later, Microsoft bought Minecraft and rewrote it (Bedrock edition) which runs on Xbox, tablets, etc. But, the community writes mods in Java. Now both exist and get roughly the same feature set now, but the Java version remains popular given the vast variety of mods and servers.

There is also this:

> Minecraft: Java Edition runs on Windows, Mac, and Linux; Minecraft: Bedrock Edition runs on Windows.

(From their own website. Bedrock might work with wine etc.)

For a game as popular as Minecraft, where every year a fresh cohort of young players reaches an age suitable for playing it, it would be madness to discard Linux and Mac users and possibly push the modding community to some other game.

Re: Minecraft Java is switching from OpenGL to Vulkan

#60

Earlier quoted context omitted.

I don't think Minecraft's renderer will be PSO-heavy enough to have stuttering issues. It's not a state-of-the-art compute-driven renderer that supports artist-driven workflows with custom materials and shaders... it's just a voxel renderer with very primitive lighting.

And by voxels you mean triangles

Are you the real direwolf20?
Post reply on HN