Minecraft Classic: A Truly OPEN Story

Babylon.js
4 min readMay 23, 2019

Unless you’ve been hiding under a cobblestone block for the past month, then you undoubtedly know that Minecraft is celebrating its 10th anniversary. 10 years of creating, exploring, and surviving. 10 years of adventure shared by generations across the world.

When the first version of Minecraft was released, it was clear that Mojang had created something truly magical. The raw creativity it unleashed grabbed the world’s attention and never let it go. Minecraft has come a long way since then, transforming into one of the most played games of all time. Despite this amazing success, Mojang never once failed to remember where it all started.

As a part of the 10 year anniversary celebration, Mojang re-released that very first version of the game to the world. Free to play in any browser, Minecraft Classic truly taps into the raw creative spirit that started it all.

So how exactly did Mojang bring their beloved voxel-based creation platform to web browsers? Partnering together with North Kingdom on the development, they both turned to Babylon.js!

When setting out to recreate this version of Minecraft, they quickly discovered that Babylon was an amazing tool to bring high-performance 3D to the browser. The real draw, however, was the fact that Babylon is open-source and has a vibrant community supporting it! In fact, it turned out that a member of the Babylon community was critical in bringing this project to life.

In 2015, inspired by Minecraft, Andy Hall (@fenomas) set out on a fantastic journey to create his own voxel game for the web, but he quickly discovered just how complicated his endeavor would become.

“Working with voxels is surprisingly complicated. To start with, GPUs only know how to draw polygons, so to render a voxel world you first need to process the data into triangles. But if you do that naively — two triangles for each side of each block — then things scale terribly and you’re limited to a very small world.

So a voxel game is something where you really need an engine layer to efficiently build terrain meshes, to handle the physics, to do raycasting, and so on. At first I tried to use an existing engine, but the main reason I wound up rolling my own had to do with 3D rendering. Since I was new to WebGL I didn’t want to work ‘close to the metal,’ I wanted a nice fancy 3D engine with materials and octrees and whatever else was available. So I decided to find a good one and build my own engine on top of it.”

After discovering Babylon.js, Andy knew that he had found the 3D engine he was looking for as the foundation for his project.

“I first tried it out because the APIs were intuitive and it was easy to get started, but I think the community is the biggest reason I still love using it, five years later.”

Using Babylon, Andy got to work creating the NOA engine, an “Experimental voxel game engine,” that he open-sourced to share with the world.

Andy didn’t know it at the time, but the decision to share the NOA engine with the world would actually lead full-circle back to Mojang and North Kingdom, who used it to bring Andy’s original inspiration to life on browsers everywhere.

THIS is the power of the open-source community: inspiration breeds inspiration and together, we can truly accomplish anything. Huge congratulations to Mojang, North Kingdom, and Andy for their roles in sharing Minecraft Classic with the world!

Jason Carter — Babylon.js Team

--

--

Babylon.js

Babylon.js: Powerful, Beautiful, Simple, Open — Web-Based 3D At Its Best. https://www.babylonjs.com/