Live data from Hacker News

Minecraft: Java Edition now uses SDL3

minecraft.net

201–210 of 285 posts

Re: Minecraft: Java Edition now uses SDL3

#201

Earlier quoted context omitted.

It did used to be required. Older Java versions performed pretty terrible. However, Java 17+ completely fixed that. Even the heaviest modded setups run buttery smooth, even on older versions which are not well optimized.

It really wasn't and was always dubious. A lot of the advice, for example, suggested using CMS. Which has been a terrible garbage collector almost since it was added to the JVM. When G1GC landed in 8, that was the correct GC to select for minecraft. Even the parallel collector would have been a better option than CMS in a lot of cases (sub 4gb heaps). It was placebo. People wanted there to be SOMETHING that made thin…

> rather than fixing the underlying code

There's not much you can do to fix the underlying code if the language doesn't allow you to declare a struct Vector3 { float x, y, z; } without heap-allocating it.

Re: Minecraft: Java Edition now uses SDL3

#202
post #196

Earlier quoted context omitted.

How many people working on Minecraft now were modders ? And how many current persons working on Minecraft are also Modders ?

The impressive part is how big modding is in minecraft despite Mojang never providing a mod interface, I don't know it may be different now but the general route for a long time was decompile the java byte code make your mod and recompile. There were a number of heroic teams that made mod interfaces out of this but a whole lot of nothing from the actual devs. I came off the quake modding scene and was a bit horrified…

They removed obfuscation last year: https://www.minecraft.net/en-us/article/removing-obfuscation...

Re: Minecraft: Java Edition now uses SDL3

#203

Icculus has some great videos of porting games from SDL2 to 3, here's the one porting Doom: https://www.youtube.com/watch?v=ixdeGhsoxy8

I didn't know Chocolate was getting SDL3 port moreso by icculus himself.

Of doom ports I know, Woof! already did migrate https://github.com/fabiangreffrath/woof

Re: Minecraft: Java Edition now uses SDL3

#204
post #192

Earlier quoted context omitted.

It's absolutely crazy that a game so popular - let alone any game - was originally written in Java. Why did notch do that? There were next to no libraries, ecosystem, or support for Java at the time. It was such a bizarre choice. Not to mention the JVM, GC, and all the other oddities. It was super off the beaten path to have done this. Might as well have been Ruby or Perl.

At the time, Java ran on the web so he could easily share demos. He used LWJGL, which probably covered a lot of his library needs. Java has a JIT, so it's not comparable to Ruby and Perl.

Minecraft gained popularity super fast in its early days, probably because it was a free-to-play game that worked in the browser (thanks to Java). Notch had no reputation or marketing at the time.

Re: Minecraft: Java Edition now uses SDL3

#205

The lwjgl bindings for this were written by a member of the GTNH modpack team, thereby completing the chain of vanilla->modded->vanilla once more https://github.com/LWJGL/lwjgl3/pull/1033

greg

I remember Greg was actually a pretty controversial modder back in the 1.5 - 1.7 days. Many people did NOT care for the Factorio-like direction he took IC2 in (before Factorio was a thing! Apparently they cited IC2 as an inspiration), and at least once I think he accidentally inflicted that gameplay on modpacks which didn't expect it, removing metal block recipes as I recall. But it's very cool that his mod should get such a legacy.

Re: Minecraft: Java Edition now uses SDL3

#206
post #172
post #158

Earlier quoted context omitted.

Apologies for hijacking an advice thread, but I'm another dad who's had to deal with this incompatibility nightmare, and I really really want to know what the hell happened within Microsoft & Mojang to end up with this mess. No, seriously, I'm fascinated by the story. It's been over ten years . I'm happy to assume that most of the people involved are smart and good with decent intentions. I also bet there were many k…

Consoles hate having a jit vm so java is a non-starter for them. The real reason is you want to run your game on the latest greatest WiiStation(tm). if it is written in C/C++ you sit down with a copy of their development library and change your code to fit. If it is written in java you port the jvm to the device. And I don't really know how hard that is(having never ported the jvm) but most people sort of balk at tha…

Unless I've got the product genealogy wrong, the rewrite predated Microsoft. The mobile version was also C++ based, and I think it is the distant ancestor to bedrock/windows/console editions.

Re: Minecraft: Java Edition now uses SDL3

#207
post #69

Earlier quoted context omitted.

It was more like Minecraft code was horrible, than anything else. Creating objects like crazy, range for in hot paths, not caring about data representation, chosen algorithms,.... JIT and GC were already doing heroic efforts. Yet, it settled Notch for life, which is something to take into account in the usual question regarding which technical stack for games.

Minecraft 1.7.10, covered in mods, can run fantastic (300+ FPS) if Java 25 is used. That used to be impossible.

Thanks to the Gregtech New Horizon folks.

Re: Minecraft: Java Edition now uses SDL3

#208

Earlier quoted context omitted.

GTNH has done more for Minecraft than Microsoft has, arguably. The level of care and work there is incredible- and that’s not just because I’ve contributed a bit here and there.

They've made it easy to fix things too. Just yesterday I ran into a bug in one of the mods they manage, I dreaded setting up deobfuscation and all the stuff necessary to get modding for an ancient forge version going, but nah - they've automated and standardized all that. It was just download, fix and build.

Standardizing so many ancient build processes into a modern gradle setup was a ton of effort over multiple years, but totally worth it.

Re: Minecraft: Java Edition now uses SDL3

#210
post #181

Earlier quoted context omitted.

Minecraft started on Java, a massive mod and server community created around it. Consoles won't run JIT/JVM/Java, so the Bedrock C++ version was created. People don't want to give up the massive mod community, so OG pc players stay on Java, while console players and newer PC players go to bedrock (with some of those PC players jumping over to Java after servers or mods are discovered). They almost have feature parity…

It's absolutely crazy that a game so popular - let alone any game - was originally written in Java. Why did notch do that? There were next to no libraries, ecosystem, or support for Java at the time. It was such a bizarre choice. Not to mention the JVM, GC, and all the other oddities. It was super off the beaten path to have done this. Might as well have been Ruby or Perl.

Different era. At the time choosing the JVM and Java language for a multiplatform project that targetted a portable runtime was not controversial at all.
Post reply on HN