Basically title, this thing with two editions of the game slows down development because they now have to write the same thing twice and it splits the userbase. They also don’t want to make Bedrock edition for Linux for some reason.
Basically title, this thing with two editions of the game slows down development because they now have to write the same thing twice and it splits the userbase. They also don’t want to make Bedrock edition for Linux for some reason.
TBH, Minecraft development has always been extremely conservative. Even basic “hard” features like a modding API, cubic chunks, LoDs or an optimized renderer were too extensive to do.
Bedrock is basically Microsoft sicking a whole team onto a C++ rewrite for their business purposes, not Mojang’s core devs deciding to do it.
This is not bad, per se. Their careful, slow direction stopped JE from getting enshittified, bloated, buggy, things like that. But it’s been kinda frustrating, too, given Minecraft’s enormous user base.
That’s not true, bedrock started before Microsoft was ever involved; it was the console and mobile version.
Ah, right.
Point still stands though. JE development has been extremely conservative and cautious.
I mean, yes and no. They have (I believe) slowed down, but for quite a while they were making MAJOR refactors every release and the internals were rapidly changing despite not much being visible on the surface.
I think a lot of that stopped with dinnerbone taking a step back … but I’m also not as involved with the scene anymore so I’m not entirely sure if that’s true.
But yeah, they regularly used to screw modders up redoing internals to make things dynamic instead of hard coded and refraction tons and tons of stuff.
I miss the days when they were ambitiously pursuing an official API for mods; now they’ve kind of resigned to letting the community projects handle that. Which is not a terrible approach, but it’s not a great one either.
This was always controversial because the ostensible reasons, optimization and future features, seemed to pale in comparison to what random modders were doing hacking at the code. And Minecraft JE, feature wise, hasn’t changed that much.
Has bedrock edition changed much? I remember they had VR at one point, but in general they’ve kept the features pretty much identical AFAIK
Last I checked its still missing some gameplay features JE has, but generally tries to keep parity with JE, yeah.
I mean not lately. It’s been getting the same filler content updates that Bedrock has been getting. I guess they’ve been cautious about adding meaningful changes.
Well, sorta. Bedrock I believe actually was based off the mobile game, not console edition. Console edition was not so much of a rewrite as an attempt at a direct port for Xbox and PlayStation. One of the details that confirms this is that the old console editions used JE style seed numbers, whereas Bedrock edition kept the shorter seed numbers from mobile edition.
The original console editions are long dead.
Interesting, that’s a detail I hadn’t heard. So it sounds like the mobile edition eventually ate the console edition and then they wanted it to possibly eat the original Java version too, but couldn’t get there(?)
Pretty much. They got real aggressive at one point announcing things they were gonna roll into bedrock edition (this was around when they thought they were bringing combat update over, which never happened).
Then, all of a sudden, they pulled way back. I really got the impression they were thinking to give java the axe, only they discovered how much of a clusterfuck they were about to walk into and changed their minds. Instead suddenly the focus was on bedrock feature parity with Java (which, again technically never happened of course, cause of things like combat update).
I didn’t realize bedrock stayed with the old combat system… I honestly largely prefer that one
Microsoft definitely has enough funds to rewrite java edition in C++. Would it be possible to ensure mod compatibility tho?
No. That’s the whole point of Java, it’s quite hackable.
It doesn’t need a rewrite TBH, it just needs a little optimization. Heck, a few performance critical components can be written in C++ or whatever within the Java code.
Wouldn’t being hackable allow mojang to add compatibly to the C++ edition? I do agree that it just needs optimization though, some mods like Sodium already do this. Check out Fabolously Optimized
The minecraft mod scene you are describing is built around Java and changing Java code within the game, there is no way around that.
Bedrock already has a modding API of sorts.
Sodium, Optifine and such are all living testaments that some random coder can run circles around Mojang in their free time.
I mean, I love mojang, but what you are asking for is basically not possible.
No, the Java version runs within the JVM and the C++ version would run via native code. That’s effectively like having something work on an ARM processor and an x86 processor at the same time.
They both could be modded, but it’s harder to mod C++ because the optimization phase is ahead of time. Minecraft modding is in part an accident because the optimization phase happens during runtime within the JVM … that means the binary “.jar” files align much more closely with the code mojang wrote … where as an “.exe” would be radically changed.
C++ modding would also be more difficult because it’s harder to preserve stability in C++. In the JVM, basically the only way the program crashes is if an exception goes uncaught or the programmer explicitly asks the program to termite (which never happens). In C++ there are still exceptions but there are a whole lot of things that are exceptions in Java that aren’t in C++ … so you can’t just fence off the modding API cleanly and say “if an exception is thrown while running this mod keep going.”
Those two reasons are the major reasons that games pick Lua over native C++ based mods (that and you can secure Lua and prevent it from doing anything it wants … Java and C++ mods can do anything they want, which is part of why the Minecraft modding scene is so good; if you want to connect to a database for administrative purposes, you can write that mod server side and have your database of block changes to find griefers, your plot database to protect plots, your store database to provide shops, etc).
TIL! Thanks for the explanation. What if they rewrote it in Lua :P
You would get 3 FPS 🙂