I wonder if they'll ever just open source the Java Edition on GitHub. People will buy Minecraft on every platform it is released on, just like Skyrim.
There's no reason for them not to. Open source launchers using the "honor system" for account verification are already established and normalized. It's trivial to just comment out that verification. The jars and assets are free to download from Microsoft's servers without needing an account. It's a trivial game to get without paying, so I don't see any downside for them to open source the engine.
Minecraft removing obfuscation in Java Edition
201–210 of 478 posts
Re: Minecraft removing obfuscation in Java Edition
#202Earlier quoted context omitted.
Roblox had a phenomenal engine when it came out and its terrain destruction is still unmatched. In 2006, I could download the Roblox app and bam, I would play thousands of 3D multiplayer games for free that loaded near instantly. With fully destructible buildings and dynamic terrain. Somehow I didn't get viruses from remote code execution. That was groundbreaking at the time. In that era, I'd have to download Steam,…
In many ways it remains ahead of the curve. Kids that grow up making games in Roblox rarely survive the jump to a dedicated engine because Roblox is just so much easier to develop for in nearly every aspect. One big thing I've heard is that instantly getting working, robust online multiplayer by default baked into the engine is a major plus.
It's challenging to get networking right, and the effort required doesn't get all that much smaller just because your game is smaller.
Most engines do come with a networking framework or layer these days but Roblox gets to assume a bunch of things an engine can't, and as such provide a complete solution out of the box.
Re: Minecraft removing obfuscation in Java Edition
#203Earlier quoted context omitted.
Critically, VRChat works on desktop (though it's an inferior experience), and you can incrementally enhance your experience with it by doing things like webcam face/hand tracking instead of buying an expensive headset.
It's also very highly customisable without being monetized out the wazoo, allows you to host your own servers, and in general avoids the incredibly bland corporate image that meta projects. (Meta, I think, fails to understand that the people that most want a virtual space to interact with, to the point of putting up with the limitations of VR tech, mostly want to not look like regular people in that space, because th…
The VRChat community should consider forming and funding an open source group to re-implement the platform as it will eventually get regulated.
For what it's worth I don't use VRChat, I've just been around the internet for long enough to know the pattern.
Re: Minecraft removing obfuscation in Java Edition
#204Earlier quoted context omitted.
Critically, VRChat works on desktop (though it's an inferior experience), and you can incrementally enhance your experience with it by doing things like webcam face/hand tracking instead of buying an expensive headset.
VRChat is also consistently active with people making new worlds/maps, avatars, etc. There also used to be a client modding scene with e.g. melonloader but that got cracked down on around 2022. The "metaverse" however, does it even exist? Is there a vrchat-like, meta-built social vr environment available on quest hardware?
I am glad they don't, the headset should be a general computing device first and foremost, launching apps you choose to participate in.
Re: Minecraft removing obfuscation in Java Edition
#205Earlier quoted context omitted.
First time I have heard of object-oriented obfuscation. I get it, but in general I don't get the OO hate. It's all about the problem domain imo. I can't imagine building something like a graphics framework without some subtyping. Unfortunately, people often use crap examples for OO. The worst is probably employee, where employee and contractor are subtypes of worker, or some other chicanery like that. Of course in th…
For me, it's the fact that the mess of DAOs and Factories that constituted "enterprise" Java in the 00s was a special kind of hellscape that was actively encouraged by the design of the language. Most code bases don't need dynamically loaded objects designed with interfaces that can be swapped out. In fact, that functionality is nearly never useful. But that's how most people wrote Java code. It was terrible and taug…
I think people are still too ready to use massive, hulking frameworks for every little thing, of course, but the worst of the 'enterprise' stuff seems to have been banished.
Re: Minecraft removing obfuscation in Java Edition
#206Earlier quoted context omitted.
In many ways it remains ahead of the curve. Kids that grow up making games in Roblox rarely survive the jump to a dedicated engine because Roblox is just so much easier to develop for in nearly every aspect. One big thing I've heard is that instantly getting working, robust online multiplayer by default baked into the engine is a major plus.
I would call multiplayer out of the box the defining feature for sure. It's challenging to get networking right, and the effort required doesn't get all that much smaller just because your game is smaller. Most engines do come with a networking framework or layer these days but Roblox gets to assume a bunch of things an engine can't, and as such provide a complete solution out of the box.
Everything was replicated in the client and server. So you could open Cheat Engine, modify your total $$$ on the client, and it would propagate to the server and everyone else playing.
They only fixed this in 2014 with FilteringEnabled/RemoteFunctions but that was opt-in until 2018 and fully rolled out in 2021 (breaking most classic Roblox games). This also made games much harder to develop.
Re: Minecraft removing obfuscation in Java Edition
#207Earlier quoted context omitted.
And there's no way to do only the optimisation part? Surely you could optimise without messing up class and method names..?
One of the biggest optimizations it offers is shrinking the size of the classes by obfuscating the names. If you're obfuscating the names anyway, there's no reason that the names have to be the same length. "hn$z" is a heck of a lot smaller than "tld.organization.product.domain.concern.ClassName"
Re: Minecraft removing obfuscation in Java Edition
#208Earlier quoted context omitted.
There's no reason for them not to. Open source launchers using the "honor system" for account verification are already established and normalized. It's trivial to just comment out that verification. The jars and assets are free to download from Microsoft's servers without needing an account. It's a trivial game to get without paying, so I don't see any downside for them to open source the engine.
Honestly, I would almost settle for Microsoft open sourcing the Minecraft Java back-end server at a minimum. This alone is long overdue. The massive fanbase could have started to maintain it in ways Microsoft could only fathom.
Re: Minecraft removing obfuscation in Java Edition
#209It's extraordinary to me that Minecraft is both the game that has the most robust mod community out there and that the modders were working from obfuscated, decompiled Java binaries. With elaborate tooling to deobfuscate and then reobfuscate using the same mangled names. For over a decade! What dedication.
To be fair, since 2019 Mojang has been providing the mappings instead of everyone having to use community-created ones.
Re: Minecraft removing obfuscation in Java Edition
#210Proguard obfuscation, particularly when you get to aggressive renaming (there are a lot of valid characters for a java class or method), flattening, overloading and inlining, can make it very hard to understand what is actually happening. Its great to make this step.