JS1k 2012
Part 1 : introduction

This is the first post of a series about my contribution to the 2012 JS1k contest (annotated source). I put some work into it, and since there were some appreciative comments here and there, I feel the need to keep track of what I've done here and give some implementation details.

About the "Mine[love]craft" name: this was a feeble pun trying to mix this and that. I now would rather choose "Mine1Kraft", or "CraftyLove", whatever.

I had no plan to participate in this contest, though I had already stumbled upon contributions to previous editions. The magic of hyperlinks brought me recently to the home page of the 2012 edition, and this time it clicked. There were still a few weeks left before the end of submissions, and I couldn't resist the challenge. I find javascript both fun and powerful, and the 1K constraint reminded me of the programs I created on my Oric Atmos back in the days (yeah I'm that old, but at least I know why this is funny). So I decided to give it a try, and began to look for ideas.

My first idea was to implement a remake of the old Zaxxon game. I don't remember how this idea came to me, but it seemed pertinent since the isometric projection is both a satisfying 3D simulation and easy to compute. My first prototype was going well, and I began to work on a randomly generated terrain, to diminish the cost of storing it into the 1K. But the algorithm result looked more like a real landscape, and with a few modifications, I had snow, grassy slopes and stretches of water. I'm a big fan of Notch, I have Minecraft on my Mac, though I don't play it much since the 3D gives me nausea in 5 minutes (am I the only one ?), so it was not long before I decided to work on a minimalist version of this simple, yet incredibly addictive game.