Microsoft Open Sources Parts of Minecraft's Java Code (kotaku.com.au) 79
Four years after Microsoft acquired Minecraft developer Mojang, the company has decided to open source some of Minecraft's Java code. According to Kotaku, Microsoft and Mojang released two parts of Minecraft's Java code in library form, so that "anyone can pick them up and use them in their own game," says Lead Engineer Nathan Adams. From the report: For now, there's just the two libraries: "Brigadier," a "command parser and dispatcher"; and "DataFixerUpper," designed for "incremental building, merging and optimization of data transformations ... [to convert] the game data for Minecraft: Java Edition between different versions of the game." While the news doesn't mean much for players, it will be a boon for interested programmers and developers, keen to see the guts of Minecraft. The plan is to open source more components in the future, though no time frame is specified. For now, if you want to check out Brigadier or DataFixerUpper, both can be found on Mojang's GitHub page.
Re: (Score:3)
I'd love to see the whole thing released, then better graphics produced so it everyone uses that instead of the crappy MS version.
You can already have better graphics. Even without modding you can change out the shaders, for example, and the textures.
Re: (Score:2)
Yeah, I wish they'd sell it to EA and then they could sell me a new version every year or so with slightly better graphics and...hopefully...ROYALE.
Re: (Score:2)
It's not hard to imagine what the source is like. Take every way you know to make efficient code and do the opposite.
Remember the promise to open the whole thing? (Score:5, Interesting)
Get back to me when the full sources have been released.
Re:Remember the promise to open the whole thing? (Score:5, Informative)
Have sales died? Last I heard, it was still going strong.
Re: (Score:2)
You are intentionally avoiding the point.
If sales have not died down, then the condition has not been met.
Re: (Score:2)
I’m all for holding people accountable, but it sounds like you’re suggesting “the point” is that we should be upset at someone for NOT breaking their word. I cordially disagree and would like to suggest that you are intentionally being obtuse if you would suggest otherwise.
Re: (Score:2)
The "Super Duper 4K" upgrade that was announced nearly 2 years ago (okay, a year and a half) has been delayed repeatedly. Microsoft is attempting to keep people interested in the game while they continue to delay the only thing worth a damn that Minecraft fans are waiting for.
Re: (Score:2)
How about we get back to your snarky ass when "sales start dying"?
They just announced that Minecraft now has 70M+ active players each week. If releasing the code was 100% based on Notch's statment, they would not even have released what they just did.
Re: (Score:2)
How about we get back to your snarky ass when "sales start dying"?
Son, you have missed the whole point. And there was even already a response along the same lines, which was also rebuffed, which you also missed. Maybe this whole internets thing is not your bag.
Notch gave up control to Microsoft instead of giving it up to the users. That means he can never fulfill his promise. That means it was bait and switch. HTH, HAND.
Re: More interestingly (Score:2)
Does mine test have any content, though? Like the multitude of mod packs, total conversions, and countless ctm/adventure & creative/building maps available for Minecraft?
Re: (Score:2)
Does mine test have any content, though? Like the multitude of mod packs, total conversions, and countless ctm/adventure & creative/building maps available for Minecraft?
There is nowhere near as much for minetest as there is for MC, but there are mods for it which provide most of the functionality you would expect. The big problem is the lack of players.
Re: (Score:2)
*clears throat*
There is a good selection of content - in the form of mods (at least a few hundred, but I can't give you an exact count), mod packs, texture packs, and what we call "sub-games", which can be anything from minor changes to a complete overhaul of the game play.
All mods/modpacks are open source, written in Lua. The engine supports acceleration via LuaJIT, and the modding API can be enhanced/expanded with libraries such as luasocket (for example, IRC for command and control, or to link several s
Re: (Score:2)
Minor edit: l now they're called just "games" instead of "sub games". Meh, guess I forgot :-P
Re: (Score:2)
s/I now/I guess now/
Re: (Score:2)
oh, and it's http://forum.minetest.net./ [forum.minetest.net] Slashdot ate my link
Re: (Score:2)
Microsoft's endgame
Porting it to C#/.NET?
Re: (Score:2)
Porting it to C#/.NET?
I'm about 95% sure that they will do a complete rewrite in C#/.NET and offer it only for Windows and Xbox, eventually. And then do everything they can to absolutely kill the Java version, as it will represent competition.
Recently started modded play with Stoneblock (Score:2)
Minecraft sees so primitive and shallow compared to modded Minecraft.
They should really back up a truck full of money to the mod community and get some of that code added to the main code base.
The glacial pace of current development is stunting the game.
There is a rich deep world of play out there in the modded community.
Re: (Score:1)
Yup.
And it's just so boring.
You can beat the game in a week tops.
Minecraft says, "40 new slabs, walls and stairs!" Meanwhile, I just found in modded minecraft there are *hundreds* of new slabs, walls and stairs. Heck, cobble stone alone has about 30 different textures you can chisel it too.
And there's an upgrade path which takes more than a few days to max out.
And lots of new tools/tinker toys to puzzle over.
I've played the game for 7 years. I think it's just too simplistic and the pace of development is
It's java...why not decompile? (Score:2)
Isn't Java practically open source by design? What has kept the unwashed masses from decompiling already?
Re: It's java...why not decompile? (Score:2)
Decomposing Java is as easy as downloading Mcp and running a batch script. Trivial.
Re: (Score:3)
Last time I tried to decompile it, it turned out the code was obfuscated. You can decompile it, but that's the easy part.
Re: It's java...why not decompile? (Score:2)
Download mcp.
Re: (Score:2)
Today I learned that Tata & WipeNo run all their code through a decompiler.
Re: (Score:2)
Re: (Score:2)
False. The first demo video of Minecraft was posted May 13, 2009. Infiminer source was released [archive.org] May 16, 2009. Obviously Notch had been working on his code for at least a few weeks before then. As you can probably tell, 16 is greater than 13.
Unfortunately that video, "Cave game tech test" by Nizzoch (F9t3FREAZ-k) is "not available in your country". This [youtube.com] and this [youtube.com] seem to be re-posted copies of it. I can't watch the original via Hooktube [hooktube.com], but at least the date and description shows:
Cave game tech test
Published by Nizzotch on Wed, 13 May 2009 17:47:26 GMT
This is a very early test of an Infiniminer clone I'm working on. It will have more resource management and materials, if I ever get around to finishing it.
It currently runs at about 700 fps for a 256x256x64 tile map.
You can follow development on my blog: http://notch.tumblr.com/ [tumblr.com]
Poor craftsmanship (Score:4, Informative)
These code bases have a serious issue with readability and maintainability. They seem to frequently write massive [github.com] methods [github.com] with [github.com] deep [github.com] nesting [github.com], and not even leaving some API or class documentation for posterity.
It's the kind of gobbledygook code that I only see from freshly-graduated programmers and in competitive coding puzzles. Mojang should spend a few days to set up some static code analyzing tool like SonarQube.
Re: (Score:2)
These code bases have a serious issue with readability and maintainability. They seem to frequently write massive methods with deep nesting, and not even leaving some API or class documentation for posterity.
Notch wasn't much of a programmer, he was better at design. He left but the legacy of crap code persists. That's why there are several clones which are technically superior to minecraft. Unfortunately, almost nobody plays them, so if you want to play with large numbers of strangers you play minecraft anyway.
Re: (Score:2)
Mojang should spend $150K/year to have you do it. Then remind you that after working on it for years you'll have made a few hundredths of a percent of what they did from "gobbledygook."
Re: (Score:2)
Re: (Score:2)
I'm not sure if you understand that "not... a re-write" is quite inconsistent with "refactoring" and even "cleaning up existing code." You've run the gamut from nothing to ground-up reconstruction in the space of two sentences
Re: (Score:2)
I'm not sure if you understand that "not... a re-write" is quite inconsistent with "refactoring" and even "cleaning up existing code." You've run the gamut from nothing to ground-up reconstruction in the space of two sentences.
It seems to me that you are arguing against a position I am not taking, and perhaps vice-versa. Your first post seemed to me to speak of spending years re-implementing their code base, and I disagreed with that approach, instead trying to clarify that the existing code can be progressively cleaned up with the guiding help of a static analyzer.
Craftsmanship is only a principal goal for hobbiests. There are many other concerns and goals in most projects, and craftsmanship can validly be subordinated to them. Especially when you're writing a game and not a general purpose library.
I would instead suggest that craftsmanship should be a discipline for engineers. Hobbyists in my experience tend to forgo tests, documentation and maintainability. A g
Re: (Score:2)
No, it was another way of expressing this [slashdot.org], to someone who does not appear to have any comparable experience leading project with a wide audience, much less one that is commercially successful.
Oh... so the "It's the kind of gobbledygook code that I only see f
Re: (Score:2)
No, it was another way of expressing this [slashdot.org], to someone who does not appear to have any comparable experience leading project with a wide audience, much less one that is commercially successful.
That AC is right in a way; Mojang should do what Mojang wants. But I still think you're gravely overestimating the cost in time and money of setting up e.g. SonarQube into the build pipeline. Granted, I haven't worked on games that sell 150+ million copies, but my experience as a senior developer in various projects and teams -- from security programs installed by ~10 million end-users, to games that at their height were played by ~500,000 yearly -- has taught me some lessons, ones that largely echoes one o
Re: (Score:2)
I suppose that was a bit of hyperbole. However, the actual issue with that method in particular is that it performs several tasks that can be placed into named concepts -- i.e. methods:
* Fetch nodes to loop through
* Parse a node
* Determine if a node meets some criteria
* Recursively parse sub-nodes
* Sort the resulting nodes
The recursive call complicates refactoring though, but the simple act of learning the "Extract to method" shortcut in their IDE could do tremendous good for readability here.
Re: (Score:2)
Re: (Score:2)
I don't yet meet your arbitrary criteria, but one of my favorite programming authors that I just cited [slashdot.org] on the subject of maintainable code has been programming since 1969, and dedicates chapters to explaining and demonstrating why code such as that which I linked to is a bad idea, and how easy it is to write much better code.
Get back to me when you have been coding for 50 years, and written Minecraft in Haskell. =)
Re: (Score:2)
Wahhh. Cry to mommy.
Just in time (Score:2)
Just in time for Oracle to screw it all up and start charging for Java licences.
Open source (Score:2)