I recently converted a game, Tribal Trouble ( https://github.com/bondolo/tribaltrouble ) from GLFW to SDL3. It was mostly a painless refactor though I did have some issues with full screen exclusive modes and desktop full screen but was eventually able to resolve those. I ended writing a demo for screen mode handling to test and document the fiddly bits. https://github.com/bondolo/SDL3-Fullscreen-Demo The game is Jav…
Minecraft: Java Edition now uses SDL3
221–230 of 285 posts
Re: Minecraft: Java Edition now uses SDL3
#222Earlier 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.
Java allowed Minecraft to run pretty much everywhere, including as an applet (very important in its early time) and it relied (and still relies) on LWJGL which provides access to the most common stuff you'd need to make a game (OpenGL, windowing, input events, etc) - and at the time it also worked for applets too (you needed to download the LWJGL applet code but it was signed by the devs so you didn't get too many scary messages).
I used the same tech (Java+LWJGL) at the time to make a few simple demos/games and it was quite easy to make stuff - e.g. i made this[0] in a few hours using Java, LWJGL and Eclipse on the iMac i had at the time.
Re: Minecraft: Java Edition now uses SDL3
#223They still update that? I thought it's all bedrock now?
Re: Minecraft: Java Edition now uses SDL3
#224Earlier quoted context omitted.
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 ge…
In a sense, he created expert mode modpacks before they were a thing, where it is common and expected to modify recipes from multiple mods to make a more interconnected recipe chain.
Re: Minecraft: Java Edition now uses SDL3
#225Earlier 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.
Re: Minecraft: Java Edition now uses SDL3
#226Earlier quoted context omitted.
Oh hey, I did a lot of ComputerCraft back in the day. Don't forget OpenComputers, which was much different flavor of challenge but also quite interesting.
OpenComputers II is even crazier as it uses a RISC-V emulator to run a real Linux image.
Re: Minecraft: Java Edition now uses SDL3
#227Earlier quoted context omitted.
If he wanted AI slop, I'm sure he's capable of asking an AI himself. He asked a forum full of people because he wants a real answer from a knowledgeable person. If you didn't have anything to contribute, you could have just left it for someone else to reply.
Well, I've used both GLFW and SDL and can say SDL is more robust, covers more edge cases, etc... And he specified he only wanted an answer from someone in the know, so probably no one here anyway. Also it's weird complaining about slop when HN is 99% slop, and has been for a long time. It was only interesting from 2008-2016 or so.
Re: Minecraft: Java Edition now uses SDL3
#228I recently converted a game, Tribal Trouble ( https://github.com/bondolo/tribaltrouble ) from GLFW to SDL3. It was mostly a painless refactor though I did have some issues with full screen exclusive modes and desktop full screen but was eventually able to resolve those. I ended writing a demo for screen mode handling to test and document the fiddly bits. https://github.com/bondolo/SDL3-Fullscreen-Demo The game is Jav…
That name is a blast from the past! I remember Tribal Trouble's devs mentioning they chose Java because they wanted to use "weird/unusual" languages for gamedev :-P
Re: Minecraft: Java Edition now uses SDL3
#229Anyone got any advice for a techy dad with no (zero) Minecraft experience who wants to set up a Minecraft server for the family in 2026? Kids right now are playing on their iPads, and (sometimes) old macbooks/windows PCs.
Something to know is that there are two versions of Minecraft, Java and Bedrock (C++). Some others in this thread have talked about the history of why this is, but the important thing to know is that Java runs on Mac/Windows/Linux, and there are some neat launchers that can run it on Android. Bedrock runs on Consoles/Tablets/Phones/Windows. Note that Bedrock _does not_ run on Linux or Mac.
There are ways to host Bedrock-only servers if you're _sure_ no users will ever be running the Java client, but I would recommend running a Java server with the Geyser and Floodgate plugins for compatibility reasons. The plugins are a translation layer that trick Bedrock clients into thinking they're connecting to a Bedrock server. I've been playing this way (me on Mac/Java, her on Android/Bedrock) for two weeks with no real issues. I haven't explored adding any other plugins to the server.
I'm running this in a container on an old Thinkpad in my office. This setup is common enough that GLM-5.2 set it up in (nearly) one shot.
I also really recommend running an instance of https://bluemap.bluecolored.de/ in another container on the same machine. It hosts a neat map of your world, which your family could pull up on their phones while not playing. My server itself is LAN only, but I used a Cloudflare tunnel to host the map so she can show her friends: https://mcmap.thg3.net/
Let me know if you have any questions or would like my server config!
Re: Minecraft: Java Edition now uses SDL3
#230Earlier quoted context omitted.
Does macOS even have exclusive fullscreen anymore? I haven’t looked into it, but my impression is that it fakes it with borderless windowed even when the app explicitly asks for it.
Yes. On Apple Silicon Macs (w/ macOS Sonoma or later), native fullscreen automatically triggers Game Mode. This feature slashes input lag by prioritizing CPU/GPU resources and doubling the Bluetooth polling rate to 240 Hz for wireless accessories. Gaming works very well in this mode, even with PC titles played thru crossover. Conversely, using borderless windowed mode instead of native fullscreen on macOS adds render…