Way back in 2015 I started building a voxel game engine. About four years later, Mojang released Minecraft Classic. It was built on my engine.
Considering that I’m a solo indie developer, and that Minecraft is the best-selling video game of all time, you might reasonably suppose this would be a Big Deal for me. But I’ve never really written about it - mostly because I know so little about the whole thing that there isn’t much to say.
But I feel like I should write something, so I’m jotting down the details here for my own reference (and to hopefully banish it from my head so I never think about it again). Be warned that there’s no punch line at the end - it’s a “…so that happened” kind of story.
The Good
Minecraft Classic launched in May 2019 as a marketing promotion for the game’s 10th anniversary. It’s an extremely minimal version of Minecraft, with limited terrain blocks and no crafting - but it’s free and runs in the browser, and at launch it supported multiplayer up to ten people. So by all accounts the launch made a big splash - front page of Reddit, big streamers playing, etc.
And as noted above, the game was built on my voxel engine (apart from the multiplayer - Mojang did that). The code is minified but not obfuscated, so if you open the JS console you can give yourself super powers:
var move = noa.entities.getState(noa.playerEntity, 'movement') |
The Bad
Minecraft Classic was apparently a one-off marketing gimmick. The multiplayer servers died the day after launch, and Mojang has never mentioned the project since. I didn’t actually hear about it until ten days later, by which time the game was fully abandoned and well on its way to being forgotten.
More annoyingly, Mojang’s marketing announcement strongly implies the game is an old (buggy!) alpha version of Minecraft, rather than a new thing they made using open-source libraries. It’s hard to promote your game engine when the most famous consumer pretends they didn’t use it!
But my main interest in Minecraft Classic was that Mojang had grafted some kind of multi-player support onto my engine. The servers died early but it had apparently worked, so I wanted to ask Mojang about contributing code changes upstream or maybe open-sourcing their work. And at first things seemed promising! My engine internally uses a 3D library called Babylon.js, and the core Babylon team all work at Microsoft. I figured they’d want to promote Mojang’s use of their engine, and since Microsoft owns Mojang they’d be able to get the necessary introductions.
So I reached out to the Babylon team, who said they were in touch with Mojang and would have news soon. Then I pinged them every few months and got similar replies, until eventually they said Mojang had ghosted them. But they declined to include me or give me any details, so for me that’s about the end of the story.
The Technicality
If you’re an open-source dev, by now you’re probably wondering whether Mojang followed the terms of my code’s software license.
The answer is: …not really? My engine uses the MIT license, whose main requirement is just to include the code’s copyright notice. Mojang didn’t do that, but it might just be due to source minification. Either way I’m not losing much sleep over this part, but do feel free to let them know the next time you see them.
The Probably-a-Coincidence
I noticed Minecraft Classic had some engine bugs I’d already fixed ages ago, so out of curiosity I poked around the internals. It turns out they forked my engine in July 2017, which was about two years before their game launched. The game they released doesn’t look much like a two-year project, so I guess it was probably a proof-of-concept that got shelved and then later repurposed.
But as a historical footnote, check out the following issue that a Github user filed on my engine in late August 2017. They sound, um, frustrated:
Transcript
Please do not understand me wrong. But this code is one of the ugliest code I’ve ever seen.
Ok, I think you’re not a professional developer. You have to learn more clean code. And how to develop correctly and responsive. It’s not my intention to insult you. The truth can be hard.
Your project is great, but only the result. I’m looking for great REAL voxel engines. And your’s is one of the best. But coding …
One of the important rule for coding is: Do not code for you, Do it for others. Do not confuse the readers. Do not complicate it, to appear more intelligent.
Tip: You could develop with typescript and build with gulp. Code with visual studio code.
That comment was posted about six weeks after someone forked my engine for the project that would become Minecraft Classic. Hmmmm….🤔🤔🤔
Of course this is probably a total coincidence, and the author probably has no relation to Mojang. But I like to imagine it’s connected - because that way at least I got some feedback out of the whole depressing episode.
Anyway, that’s the story of the time Mojang released a game built on my indie voxel engine.

