This blog was a joke for the 1st of April


Just wanted to say to the people who believed in this story, or didn’t understand why I made this blog :

It was the April joke for my website, which is the biggest French website about the game :

It was really fun and a lot of people freaked out on my board :)

I hope the story I told will never happen and Mojang will continue their good work on the game (@Notch : I hope the modding API come out soon, and please make the multiplayer less buggy :D)

posted 3 years ago

The end of Minecraft

As you saw on my last article, Sean Parker went to visit us at Mojang’s office yesterday and we had a great time ! Sean invited three of us along to fly to London with his private jet to go to a party. We spent a nice time at this party where we met a lot of interesting people. That was really awesome and I enjoyed it.

Back at the office, we talked with Sean about our company, and our main game : Minecraft.

After a really long discussion, we finally came to an agreement. I no longer own Mojang AB, and Sean is now the society’s chief executive officer and holds all the rights on the games we made, this include both Minecraft and Scrolls.

Apparently, he wants to stop minecraft developpement and focus more on Scrolls (our lastest game) to make money selling virtual cards.

I’m sorry for everyone who believed in our company and I’d like to thanks everyone who followed us in this adventure.

posted 3 years ago

The weirdest night of my life!

I feel like James Bond.
Or, rather, I feel like a geeky kid who just finished playing James Bond for a few hours and wants to tell all his friends about what happened.

Yesterday, a rather spontaneous rich guy dropped by the office to meet and greet, which was fairly awesome. We had a short meeting where everyone said what they did and what we thought about the future and so, and as he left, he invited three of us along to fly to London with his private jet to go to a party where a famous musician was playing. That was even more awesome.

I immediately said yes. Then I called my fiancee to make sure it was ok. ;)

We arrived at the party at about midnight, where there was a table reserved for us. There were rich people and various hang-arounds everywhere, but the mood was very relaxed and energetic. The music was brilliant, and the entertainment even more so. People got drunk, people smoked on balconies, and we ended up in a hotel suite eating white bread and some kind of peanut butter/gingerbread paste.

After catching some very brief sleep in our own hotel rooms (paid for by Mr Rich (thank you, sir! (I wonder if he’s reading my blog..))), we flew back to Stockholm just in time for a meeting with a potential new employee.

It’s amazing to realize that there are people who actually do this all the time, flying around in private jets, and having assistants who in turn have their own assistants.
As alluring as this lifestyle is, strangely I’m more excited about the fact that the oscilloscope I ordered last week finally arrived and is waiting for me back home.

posted 3 years ago

Soo exciting, please vote for us!

posted 3 years ago

Full steam ahead, captain!

Someone pointed out to me that most of my blog updates recently were about how I had no time to develop. I thought about it, and realized that I only feel like I have the time to blog when I’m being prevented from doing actual development. So I guess in one sense, the recent lull in updates can be seen as a good thing. ;) Hopefully it doesn’t mean I’ve grown tired of blogging..

I’ve been able to focus on development a lot the last couple of weeks, and we’re hoping to get the new update out soon. It will include the wolves, the ability to change your spawn point, and a rather ambitious statistics tracking and achievement system. Once that update is out, we’ll spend some time figuring out exactly what to do with the modding, which should result in a nice modding API.

Other cool news is that work has started on the mobile version of Minecraft, we landed a merchandise deal with J!NX (pardon the plug), the guys working on Scrolls decided to use Scrum with internal demos each Tuesday, the office renovations are almost complete, and 2 Player Productions reached their goal on kickstarter to make a full-length movie about Mojang! Amazingly, they’re the third highest funded project on kickstarter!

posted 3 years ago

The state of Minecraft

There are manly men with powertools in our office, punching floors and walls in an attempt to make things look better. As a result, we haven’t been able to work from the office this week, and worked from home. Jens spent most of the week working on a new mob; the wolf! You can tame it and order it to follow you around, and it’ll work as a pet. They’re fairly rare, but they won’t despawn once you’ve tamed them.

I worked on the achievement and stats system. One design issue was dealing with offline mode and synching the achievements once you get a connection again, but that’s been solved. We’ve got a couple of people in the office who don’t like achievements in games at all, so the goal is to design something that they’re fine with.

Achievements will NOT be chores like “cut down 10000 trees”, but rather challenges like “ride a pig off a cliff”. Stats, however, will be used to keep track of how many trees you have cut down. The long term plan is to show achievements and stats from the profile page on as well, in case you want to brag.

Just keep in mind that because you can design your own levels and run your own servers, people will be able to cheat with achievements and stats! ;)

Oh, and here’s a vid of the wolves:

posted 3 years ago

Warning: Some malicious client mods are stealing passwords

When you install a mod, the mods gets full access to your computer, and can do ANYTHING to it.
Make sure you absolutely trust the source before installing any such mods.This applies to both server mods and client mods.

I don’t know which mods are the culprits.

When the modding support is added, there will be support for sandboxing mods to give them less access to important stuff. You can chose to trust a mod if you want to, and if it needs to do fancy things, but the default will be to run the mod sandboxed.

posted 3 years ago

posted 3 years ago

Terrain generation, Part 1

I’ve been promising to write a technical post on Minecraft for a while, but never really got around to doing so. I’m on a tiny airplane now, though, with nowhere to run, so here we go!

One of the most complex parts of Minecraft is the terrain generation. When I changed the game over from being just single zones of a map to an infinite map, the terrain generation got a whole lot more complicated, as terrain needs to get generated on the fly as the player explores, and it has to be the same no matter what direction the player approaches it from.

1) How infinite is it?

First of all, let me clarify some things about the “infinite” maps: They’re not infinite, but there’s no hard limit either. It’ll just get buggier and buggier the further out you are. Terrain is generated, saved and loaded, and (kind of) rendered in chunks of 16*16*128 blocks. These chunks have an offset value that is a 32 bit integer roughly in the range negative two billion to positive two billion. If you go outside that range (about 25% of the distance from where you are now to the sun), loading and saving chunks will start overwriting old chunks. At a 16/th of that distance, things that use integers for block positions, such as using items and pathfinding, will start overflowing and acting weird.

Those are the two “hard” limits.

Most other things, like the terrain generation seeds and entity locations use 64 bit doubles for locations, and they do much subtler things. For example, at extreme distances, the player may move slower than near the center of the world, due to rounding errors (the position has a huge mantissa, the movement delta has a tiny, so it gets cut off faster). The terrain generator can also start generating weird structures, such as huge blocks of solid material, but I haven’t seen this lately nor examined exactly what behavior causes it to happen. One major problem at long distances is that the physics starts bugging out, so the player can randomly fall into ground blocks or get stuck while walking along a wall.

Many of these problems can be solved by changing the math into a local model centered around the player so the numbers all have vaguely the same magnitude. For rendering, Minecraft already uses local coordinates within the block and offset the block position relative to the player to give the impression of the player moving. This is mostly due to OpengGL using 32 bit floats for positions, but also because the rounding errors are extremely visible when displayed on a screen.

We’re probably not going to fix these bugs until it becomes common for players to experience them while playing legitimately. My gut feeling is that nobody ever has so far, and nobody will. Walking that far will take a very long time. Besides, the bugs add mystery and charisma to the Far Lands.

2) Isn’t that terrain shape pretty awesome?

In the very earliest version of Minecraft, I used a 2D Perlin noise heightmap to set the shape of the world. Or, rather, I used quite a few of them. One for overall elevation, one for terrain roughness, and one for local detail. For each column of blocks, the height was (elevation + (roughness*detail))*64+64. Both elevation and roughness were smooth, large scale noises, and detail was a more intricate one. This method had the great advantage of being very fast as there’s just 16*16*(noiseNum) samples per chunk to generate, but the disadvantage of being rather dull. Specifically, there’s no way for this method to generate any overhangs.

So I switched the system over into a similar system based off 3D Perlin noise. Instead of sampling the “ground height”, I treated the noise value as the “density”, where anything lower than 0 would be air, and anything higher than or equal to 0 would be ground. To make sure the bottom layer is solid and the top isn’t, I just add the height (offset by the water level) to the sampled result.

Unfortunately, I immediately ran into both performance issues and playability issues. Performance issues because of the huge amount of sampling needed to be done, and playability issues because there were no flat areas or smooth hills. The solution to both problems turned out to be just sampling at a lower resolution (scaled 8x along the horizontals, 4x along the vertical) and doing a linear interpolation. Suddenly, the game had flat areas, smooth hills, and also most single floating blocks were gone.

The exact formula I use is a bit involved (and secret!), but it evolved slowly over time as I worked on the game. It still uses the 2D elevation and noisyness maps, though.


  • Biomes!
  • Caves and Large Features
  • Trees, Lakes, and Small Features
  • The nether!

Now I’ll prepare for landing so I can switch flights!

posted 3 years ago

Minecraft - Volume Alpha by C418

C418 makes music for Minecraft. He has released an OST of sorts on bandcamp. All the music from Minecraft (including a few unreleased tracks) are on there, in high quality.

Go buy Minecraft - Volume Alpha now! (or listen to it for free)

Everything you pay there goes directly to C418, so that’s a great way to show him you enjoy his music!

posted 3 years ago