BKL and the minecraft effect

January 18, 2013

I am speechless.

Somebody on Hacker News just posted A Minecraft-like Block Based Game Engine Using Three.js, WebGL and Node (badassjs.com).

This is already cool.

But in the comments somebody else promoted BLK – a project from Ben Vanik – a Google employee – who created BKL in his 20% Google spare time.

I set up a server on Amazon EC2, and the t1.micro instance was seconds ago populated by people – building things.

The Minecraft effect is incredible.

[EDIT] link to the main page is here.

Bildschirmfoto 2013-01-18 um 21.38.55 Bildschirmfoto 2013-01-18 um 21.29.20 Bildschirmfoto 2013-01-18 um 21.12.50 Bildschirmfoto 2013-01-18 um 21.11.39 Bildschirmfoto 2013-01-18 um 21.11.12

Source code of the minimal first person webGL demo

January 7, 2013

I forgot to mention that I uploaded the sources to the minimal FPS that I mentioned in my last postTowards open game engines in the browser‘. Hopefully this gives a head start to someone who wants to combine 3D (Three.JS), physics (Cannon.JS)  and first person controls.

You can find the repository on Github.

Bildschirmfoto 2013-01-07 um 17.38.49



Towards open game engines in the browser

January 6, 2013

I started a series of experiments towards a game engine in the browser. This is part of a bigger plan that I hopefully get sorted out soon and write down eventually*.

To me, there are two paths to follow towards games** in the browser and I will follow both of them.

The ‘Bananabread’ way

Taking a full fledged game engine like Cube2 is the way that Alon Zakai is following – his Emscripten process is compiling it to pure Javascript and ports Bananabread to the browser. At this very time of writing he is adding the last missing piece to it – network support.

Bildschirmfoto 2013-01-06 um 11.52.00

I cannot stress enough how incredibely cool this is.

The JavaScript library way

A ‘game engine’ comprises usually a couple of different components and it turns out that you find open source JavaScript libraries for nearly (?) every purpose of such an engine – sometimes even more than one.

This list is by far not complete (more complete lists here and here) and I am probably missing some bullets and some libraries which even underlines my point: everything seems to be there.

To get a grip on it myself, I took a 3D engine, a physics engine and the first person controls and build a little demo, sporting an (albeit unsophisticated) Blender model and some dynamic objects:

Bildschirmfoto 2013-01-06 um 11.52.24

Why is this important?

There is absolutely nothing wrong with proprietary concepts like the Unity Engine, not even with Flash.

I still think it’s important to be able to create something right in your Browser – both Mozilla and Google are working towards turning their browsers into multimedia engines and add the parts missing in a spectacular speed.

Most of the components needed are already there, so why not use them?

But even more important: all of these libraries are open source. This means we can not only use them for free, but we can learn from them, combine them and maybe enhance them to something that the original authors may have never thought of.

So – what keeps you from building?

* Rob Hawkes (former Mozilla) has written an excellent post which includes some aspects of the bigger plan.

*Disclaimer: when I say games I mean the good definition of games like in  “cutting edge real-time database network application with multimedia frontend for entertainment” and not the awkward german definition of  “it’s fun so it can’t be serious”.  And no, I won’t grow up.

[EDIT] The source code to the demo is on Github.


Blender view