Open Minecraft was initially written in OpenGL 3.3, but was ported to OpenGL ES 3.0 to ease the porting to WebGL 2. Now, it runs on OpenGL ES 3.0 on desktop, and WebGL 2 on the web.
Using Node.js + Socket.IO on the server and an abstraction layer over the client-side Socket.IO (C++ and JavaScript) allows for cross-play between the browser and native platforms such as Mac, Linux and Windows.
Using Emscripten, Open Minecraft has a WebAssembly port. Click here.
Rendering millions of individual blocks at an acceptable framerate using instanced rendering.
Open Minecraft is very easy to build, using CMake with no external dependencies.
Requires the Emscripten SDK, and a shell with the Emscripten environment set-up.
mkdir build
cd build
emcmake cmake .. -DBUILD_EMSCRIPTEN=ON
emmake make