What I Learned Watching Notch Code

I’ve read a couple articles about Notch’s entry into the most recent Ludum Dares. Both of those articles are worthwhile and I suggest you read them both.

Apparently Notch is just incredibly prolific – in a 48-hour period (while making Prelude of the Chambered) he coded for about forty hours and slept for about eight.

If you watch this timelapse, at no point will you see him goofing off on web pages. At no point will you see him checking on his World of Warcraft auctions. He watches a little YouTube and plays one game – Quake – for about an hour while he’s eating his lunch.

And if you don’t trust that, you can watch almost the entire 48-hour period in real-time over on Twitch.Tv. The man has the most amazing work ethic.

Some of the tricks he uses during the making of Prelude of the Chambered:

* He draws all the graphics in the game in greyscale, then uses vertex colors to actually color them in game.

* All of his graphics are 16×16 PNGs, even the wall textures.

* All of his levels are PNGs created in Paint.NET. The PNG contains every bit of information about the level, including which block to use where and what color to make it. The alpha channel information is used to place objects and triggers. His Paint.NET is set up to never ask him what format he wants the image in; it just always saves as 32-bit PNG. You may think, “What’s one more click?” but it adds up.

* He uses SFXR to create his sound effects.

But that’s only part of it. He’s also chosen a platform that makes projects easy to set up, allows altering of code while the program is running (thus reducing the amount of time it takes to debug), and allows people to play his game almost instantly – no installing, no configuring, just give them a URL.

Notch uses Java for pretty much everything he does. I’ve been resistant to change for its own sake, but this isn’t for its own sake. Making my games browser-playable means more exposure and better feedback. So I’m going to be learning Java and Java3D, and I’ll be writing a new prototype of Planitia using it.

Oh, and if you want a nice history of how Minecraft progressed, here’s the thread where Notch announced it for the first time. It’s fascinating reading.