Sunday, March 29, 2015

Minecraft and Microsoft

Last fall, Microsoft acquired Mojang, the Swedish company that developed Minecraft, for a smooth $2.5 billion. Reactions to this news fell into one of two possible categories1:

  1. WTF is Mojang / Minecraft?
  2. Microsoft has lost its goddamned mind.

These are reasonable responses. Because we couldn't see what Microsoft could possibly want with this game. And we certainly couldn't see how the game was worth so. much. money. But over the weekend, I think I've figured it out.

What is Minecraft?

It's Steve!
If you're under 14, or a parent of a child under 14, you already know what Minecraft is. The concept is simple: you control a character in a 3D world filled with materials to collect, items to craft, and enemies to defeat. Several game modes allow for different rules to apply, such as whether you're able to fly, whether you can fall without getting hurt / killed, and whether your game ends after a single death. Some players like the challenge of playing in Adventure mode, while others prefer to play exclusively in Creative mode. And no one likes Hardcore mode. It's just too crazy.

But it's the creative mode that's worth discussing. In creative mode, the players do not need to be on the lookout for hostile mobs. And there's no need to search for and collect materials such as wood and cobblestone; in creative mode, players are given an infinite supply of every type of block in the game. Creative mode lets the player build structures underground, above ground, in the sky, underwater, and... well anywhere. It's a blank canvas, or rather a canvas that is only the topographical suggestion of the player's world. And some people have built amazing things in creative.

A Brief History of Versions

Mojang releases new versions of Minecraft on an irregular basis, and each new version includes major changes to the game. For example, Minecraft 1.6 (aka the Horse update) introduced ridable horses and a new launcher for the game. Minecraft 1.5 introduced Redstone, which enables the creation of working machines and circuits. And most recently, and this is where the connection between Mojang and Microsoft becomes apparent, Minecraft 1.8 introduced twelve new commands that players can use to interact with and manipulate their worlds.

That means players can now use the console (or the command line, if you're looking for a metaphor) to create and destroy objects in Minecraft. It's like, in that players who use these commands end up learning about programming without knowing it.

An Example: The Command Block

The Command Block.
I'll give you an example: my youngest son, who can navigate Minecraft with a trackpad faster than you ever could with a mouse, asked me a question yesterday. It was along the lines of, "can you help me with this command block?" (A command block is an object in Minecraft that you can load a command (or series of commands) into, and the command block will execute the command based on certain input. No, really.)

When I walked over to the space behind the sofa, which is where he perches when playing Minecraft, this is what I saw on his screen:

Editing the Command Block.

Inspect the Console Command field. Is there any denying that this is code? It certainly doesn't look like the over-referenced Nintendo codes of my 1980's infused youth. No, this is serious stuff. And my boy was asking for help, because his command wasn't working right. (The goal of this command is to give the nearest player an object that looks like the head of a player named eager0. Naturally.) It turns out, he was missing a colon between SkullOwner and "eager0".

I smiled when I saw him working on this, because I lost count years ago of the hours I've lost poring over code looking for syntax errors. We fixed the problem, tested it, got the expected result, and he moved on. Except now he knows the importance of each character in a command, and how each section of the command needs to be delineated from the others. Well played, Mojang. Well played, Microsoft.

Do you see the connection, now?

Microsoft acquired a massively popular (an estimated 27.6 million people play Minecraft in one form or another) tool that encourages kids to write code in order to solve a creative problem. Kids aren't learning to code because it's part of their curriculum; it's part of their fun. Can you imagine what these kids will be capable of doing after they've mastered some coding and have applied that knowledge directly to their work (play is work, after all)? And when they've spent years perfecting this skill, they'll be poised to meet any challenge.

Satya Nadella is a genius.

1 - Actually, these categories are not mutually exclusive.