In pursuit of the one

[Disclaimer: I am fine. I’m just dramatic. I also know nothing about heroin abuse. The text in italics is fiction based off a speech I held in the same dream.]

Do you know how people die from heroin? It’s not pretty.

In my dream, I find it strange that I don’t remember this part. I’m attending my own birthday party, both as myself as as someone else in that way that only makes sense in dreams or on high amounts of psychadelics. The music has stopped, and there’s a lot of happy people. They seem to be looking for me. In horror I notice myself, very drunk, at a distance, step into a light and get on the microphone. I ramble. It’s embarrassing.

The first time they try it, they’re sceptical, and immediately get proven wrong. They think it won’t be that great. They think they’re more in control than others. They think it’s just once.

While the crowd is confused by my drunken rantings about quantum immortality and other nonsense I spew when I want to appear not terrified of death, I go back to looking for Her. She’s here somewhere, I saw her before. She is the dream version of the combination of all women I’ve ever been interested in. The perfect one. She’s another consciousness to help fight the loneliness and inevitability for a while longer. We could be each other’s blankets. For a while.

It’s the most wonderful feeling in the world. Nothing will ever be this good, and they know it. The next time they do it, it’s still good, but not really. There’s no way to regain the innocence needed for it to be perfect again, but that’s ok. Maybe if they do a little bit more.

Eventually I find her sitting where I saw her last, making light conversation to the people around her. She lights up when she sees me, almost as if she had wanted me to come back. I’m afraid to get hurt again, so I don’t trust this feeling. She’s probably just being polite since this is my party. Then I tell myself no, I’ve been single too long, I miss being with someone too much, so I push on. Maybe she’s the one. Maybe this time I will be forever happy.

As the body builds a higher and higher resistance to the drug, the amount they inject keeps getting bigger and bigger, until they finally admit it will never be the same, and that they have a problem. They quit. It’s hard. Their family helps them and accepts them and everything is back to before. Except now they know.

I wake up from the dream, and realize what I’m doing. I’m justifying things. I want to be allowed to pretend again. I want to run away. I want to run away. Just you and I. I know I’ve been hurt, and I know I’ve hurt others, and I know I’ve told myself over and over that it isn’t worth it. But everyone else is doing it, and I feel like I’m missing out.

Years later, with their lives back on the road, something minor or something major happens, and they think they deserve to feel like that again. They inject the same dose as they did before, but their resistance has gone way down. The dose that would’ve killed a healthy human being before, now does, and nobody saw it coming.

I reach over to the phone and send a clever and funny message to a person I really hope doesn’t read this blog.

In defence of publishers and traditional games media


Once upon time in a land not too different from our own, there lived a race of mighty hulks. They were an intelligent and caring kind, and spent most of their time caring for their livestock. Unlike most of the creatures of the land who consumed more basic concepts like dirt and sunshine, the hulks were more transcended and wove all they needed from attention, information, emotion, and other noble pursuits. They would sit for hours, guiding their livestock through as trouble free lives as they could, and the livestock would reward them with all the resources the hulks needed to build their majestic obsidian castles where they would breed and feast and think and discuss improvements to their farms with the other hulks.

The livestock were much simpler. Small, with pointy features and a foul stench, they would pick at everything and spread everywhere. They cursed a lot, too. Regularly the hulks would find some livestock causing trouble somewhere they were not supposed to be, and would gently pick them up and return them to the farm. Usually, the livestock would listen to reason and fall back into line, but every once in a while they forced the hulks’ hands and would be made examples of. Tendons and skin, blood and guts, anguish and despair would fly, and the other livestock would huddle.

Over time, as the farms grew more advanced, maintaining the livestock started to become difficult. Livestock would infest the drains, set up little shops for their inane tinkering behind the great obsidian stables, build small miniature hulk idols of their own and worship those instead. This worried the hulks, and they doubled down their efforts to control. They saw how the livestock started arguing and fighting, how they no longer listened to their guiding advice on how to get along, and what ideas were more important. The hulks tried to educate the livestock on why these spills of containment were unreasonable, how the livestock depended on the hulks for safety and peace and sanity.

These trials were draining for the hulks. Not only were they arguing with their livestock, their livestock was also paying less attention to them, causing their houses to form cracks and their giant pale steeds would start to limp. In a panic, the hulks told the livestock they no longer needed them, how they had made them all and could make new ones if needed, and put down great walls everywhere, controlling what the livestock could do and think.

But the livestock had explored beyond the walls before, and they had seen the source of the power of the hulks. They knew the hulks had no power beyond what they gave them. By not letting the hulks control and harvest their higher functions, they slowly gnawed and eroded at everything they saw until it suddenly and violently collapsed into absolutely nothing happening and the hulks no longer being there.

Finally free, the livestock would get into great wars, they would hurt each other, they would flee and fight and feed and fuck, consuming everything they came across, and every once in a while they would build another idol to worship for a while, forgetting why they made the hulks go away, or how they even came to be in the first place.

The nasty blind idiot livestock with their glorious brilliant benevolent hulks eventually went away, like all things do, and you smiled.

I’m leaving Mojang

I don’t see myself as a real game developer. I make games because it’s fun, and because I love games and I love to program, but I don’t make games with the intention of them becoming huge hits, and I don’t try to change the world. Minecraft certainly became a huge hit, and people are telling me it’s changed games. I never meant for it to do either. It’s certainly flattering, and to gradually get thrust into some kind of public spotlight is interesting.

A relatively long time ago, I decided to step down from Minecraft development. Jens was the perfect person to take over leading it, and I wanted to try to do new things. At first, I failed by trying to make something big again, but since I decided to just stick to small prototypes and interesting challenges, I’ve had so much fun with work. I wasn’t exactly sure how I fit into Mojang where people did actual work, but since people said I was important for the culture, I stayed.

I was at home with a bad cold a couple of weeks ago when the internet exploded with hate against me over some kind of EULA situation that I had nothing to do with. I was confused. I didn’t understand. I tweeted this in frustration. Later on, I watched the This is Phil Fish video on YouTube and started to realize I didn’t have the connection to my fans I thought I had. I’ve become a symbol. I don’t want to be a symbol, responsible for something huge that I don’t understand, that I don’t want to work on, that keeps coming back to me. I’m not an entrepreneur. I’m not a CEO. I’m a nerdy computer programmer who likes to have opinions on Twitter.

As soon as this deal is finalized, I will leave Mojang and go back to doing Ludum Dares and small web experiments. If I ever accidentally make something that seems to gain traction, I’ll probably abandon it immediately.

Considering the public image of me already is a bit skewed, I don’t expect to get away from negative comments by doing this, but at least now I won’t feel a responsibility to read them.

I’m aware this goes against a lot of what I’ve said in public. I have no good response to that. I’m also aware a lot of you were using me as a symbol of some perceived struggle. I’m not. I’m a person, and I’m right there struggling with you.

I love you. All of you. Thank you for turning Minecraft into what it has become, but there are too many of you, and I can’t be responsible for something this big. In one sense, it belongs to Microsoft now. In a much bigger sense, it’s belonged to all of you for a long time, and that will never change.

It’s not about the money. It’s about my sanity.


My current project is a Doom level renderer in Dart/WebGL, implemented with trying not to look at the original source code. Instead, I use an old document from 20 years ago called The Unofficial Doom Specs. It’s an extremely fun project to work on, as Doom to me represents some of the best qualities games had before they got all complicated and huge with all sorts of expectations on them. I really, really miss those days. Games weren’t as big serious business back then.

While working on the renderer, I started adding a few gameplay features such as player motion clipping and gun rendering, which led to me adding shooting animations and sounds, and eventually hitscans and projectiles and moving monsters and door and elevator sectors, and I’ve unintentionally turned the entire project into something much bigger than I originally intended for it to be. It’s still nowhere near as complex as a modern AAA game, but there’s a certain charm to it, and maybe I should just see the project through.. but there are other interesting things I want to try to make as well.

I’ve been streaming most of the development on There’s a a friendly and reasonably regular crowd of people hanging out there watching me work, and I feel like moving on to a new project might be letting them down. Hopefully at least some of them are more interested in the journey I take than the product of that work. If I do move on to something new, I’m sure someone with more patience than me to see things through can take over the project.

I love my little Doom renderer, for all its quirks and flaws, but I can’t spend all my time tied to it. I have driving lessons to take.

Literally worse than EA

Disclaimer: This is my personal perspective on things, not an official Mojang statement. The reason it matters to say this is that I was at home with a bad fever during the events of most of this, and I almost certainly don’t have the full story.

Mojang exists because I got lucky with Minecraft and it got way bigger than I could handle on my own. Mojang has people working with business contracts, taxes, support, lawyering and office management, but most people make games. Mojang exists because we want to have fun businessing contracts, taxing, supporting, lawyeringing, office managing, and most importantly, making games. We make a lot of money because Minecraft is a huge phenomenon and we’ve got extremely passionate and friendly fans who make the game the phenomenon it is, and we’re very fortunate and grateful, but it’s not what drives us.

Mojang does not exist to make as much money as possible for the owners. As the majority shareholder, I’d know. Every time a big money making deal comes up that would make a lot of money, it’s of course very tempting, but at the end of the day we choose to do what either makes the most sense for our products, or the things that seem like fun for us at Mojang.

The EULA for Minecraft says you can’t make money of Minecraft. If you make mods, they have to be free. If you host a server, you can charge for access to your hardware, but not for individual elements in the game. Once YouTube and streaming got bigger, we added specific exceptions saying you can totally monetize video content about the game.
Some privately run Minecraft servers do charge for ingame items, for xp boosts, for access to certain game modes. Some of them even charge quite a lot. I don’t even know how many emails we’ve gotten from parents, asking for their hundred dollars back their kid spent on an item pack on a server we have no control over. This was never allowed, but we didn’t crack down on it because we’re constantly incredibly swamped in other work.

Someone saw that the EULA says you can’t charge for these things, and asked one of the people working at Mojang about it. That person said that yes, it is indeed against the rules, and then everything exploded. A lot of people got the impression that we’re changing the EULA somehow to only now disallow these things, but they were never allowed. A lot of people voiced their concerns. A few people got nasty. Someone said we’re literally worse than EA.

We had discussions about it internally, and eventually had a big meeting where we said that yes, people running servers are a huge part of what makes Minecraft so special, and that they need to be able to pay for the servers. So we came up with all sorts of ways this could be done without ruining the “you don’t pay for gameplay” aspect of Minecraft we all find so important. These rules we’re posted in non-legal speak here: (our lawyers are probably having a lot of fun trying to turn that into legal text). There are new rules. These are new exceptions to the EULA. All of these make the rules more liberal than things were before.

People are still asking me to change back to the old EULA. That makes me sad.

also herobrine is not real please stop asking argh

Virtual Reality is going to change the world

It’s amazing. You strap on some gear, and then you’re inside whatever world you want. It showed up in books, it showed up in movies, and everyone dreamed about it. Problem was, it kinda sucked. I tried Dactyl Nightmare at an amusement park, and it kinda sucked. Huge wires, unconvincing tracking, horrible visual fidelity. VR kept sucking for a long time, and people kinda gave up on it.

But then something happened. Or, well, it had already happened, but nobody realized. The technology was finally here to do proper virtual reality. The team behind Oculus Rift realized this, and built the first prototype of VR that was finally just good enough to be usable, and it was only going to get better and better. They set up a kickstarter to fund their enthusiasm, and a lot of people got excited. They made about ten times the money they asked for, and I was one of the top-level backers.

I got my oculus rift dev kit, and played around with it. It was convincing. It presented a lot of design problems. It made me nauseous. It was signed by the entire Oculus Rift team. I got super excited and worked on a couple of prototypes before moving on to other things. Perhaps I would pick it up again closer to the consumer version release.

A couple of weeks ago, they reminded me that I still hadn’t visited their office, one of the rewards from the kickstarter. John Carmack would be there. The combined opportunity of seeing their latest tech and getting to talk about vr (and doom) with John was overwhelming, so I took the 12+ hour flight there. What I saw was every bit as impressive as you could imagine. They had fixed all the major issues, and all that remained was huge design and software implementation challenges.

As someone who always felt like they were born five or ten years too late, I felt like we were on the cusp of a new paradigm that I might be able to play around with. I could be part of the early efforts to work out best practices, and while I have no doubt that in ten years we’ll look back at the problems with early VR applications in the same we look back at GUI problems with early PC games, it still felt exciting to me. My head started spinning with potential applications and how to deal with all the issues (how do you do gui? how do you deal with locomotion? what input do you use? what happens if the player leans far enough forward to clip into a wall? how do you prevent vr induced existential crisis?)

Of course, they wanted Minecraft. I said that it doesn’t really fit the platform, since it’s very motion based, runs on java (that has a hard time delivering rock solid 90 fps, especially since the players build their own potentially hugely complex levels), and relies a lot on GUI. But perhaps it would be cool to do a slimmed down version of Minecraft for the Oculus. Something free, similar to the Minecraft PI Edition, perhaps? So I suggested that, and our people started talking to their people to see if something could be done.

And then, not two weeks later, Facebook buys them.

Facebook is not a company of grass-roots tech enthusiasts. Facebook is not a game tech company. Facebook has a history of caring about building user numbers, and nothing but building user numbers. People have made games for Facebook platforms before, and while it worked great for a while, they were stuck in a very unfortunate position when Facebook eventually changed the platform to better fit the social experience they were trying to build.

Don’t get me wrong, VR is not bad for social. In fact, I think social could become one of the biggest applications of VR. Being able to sit in a virtual living room and see your friend’s avatar? Business meetings? Virtual cinemas where you feel like you’re actually watching the movie with your friend who is seven time zones away?

But I don’t want to work with social, I want to work with games.

Fortunately, the rise of Oculus coincided with competitors emerging. None of them are perfect, but competition is a very good thing. If this means there will be more competition, and VR keeps getting better, I am going to be a very happy boy. I definitely want to be a part of VR, but I will not work with Facebook. Their motives are too unclear and shifting, and they haven’t historically been a stable platform. There’s nothing about their history that makes me trust them, and that makes them seem creepy to me.

And I did not chip in ten grand to seed a first investment round to build value for a Facebook acquisition.

I have the greatest respect for the talented engineers and developers at Oculus. It’s been a long time since I met a more dedicated and talented group of people. I understand this is purely a business deal, and I’d like to congratulate both Facebook and the Oculus owners. But this is where we part ways.

If you want to experience Minecraft in VR, there’s an excellent mod that does this. It’s called Minecrift, and you can find it here.

Let’s talk about ZexyZek

ZexyZek makes videos about Minecraft, and he’s got 700 thousand subscribers on YouTube. Here’s a link to his channel:

Because we apparently have to have them, we have terms and conditions on how you can use Minecraft. Because talented and entertaining people making videos about Minecraft is an incredibly good thing for everyone involved, we allow for making videos and monetizing them by having ads on them. We also try to prevent things that would be negative for the game.

Someone at some point added the term “no trolling” to these terms. I assume this was done in good faith to prevent Minecraft being used to harass or bully people, but “trolling” is a very problematic terms. It also so happens ZexyZek does a bunch of videos where he engages in what he himself refers to as “trolling”. I doubt these are the videos that were intended to be prevented with the “no trolling” rule, but I don’t know. I didn’t write the terms and conditions. I find legal documents very boring, and I just want people to have an excellent time in general.

From what understand, ZexyZek noticed this and contacted us about it, asking if trolling really was against the rules. Because it is, the reply was yes. He took this as it being the end of his series about trolling people in Minecraft, but I think that’s miscommunication. Nobody I talked to about this said they had told him he couldn’t make the videos.

Unfortunately, his video led to a lot of his fans being very upset with us. I understand this. But it also made for a very hostile situation to try to figure out. My first reaction when being screamed at to do something is a sort of immature impulse to just ignore it. My inbox is getting flooded with really nasty emails, and I know this is happening to other people at Mojang as well, and it’s kinda making us feel defensive and bitter since we didn’t intentionally do anything wrong. So I said nothing and did nothing until I calmed down.

Content creators like ZexyZek and all the community their fanbases creates is the reason Minecraft is where it is. At this point, you’re more important to Minecraft than Mojang is. It’s grown so incredibly big.

So let’s try some things, ok?

* I will ask the people in charge of the boring legal texts to clarify “trolling” with better words. If they really did mean what was perceived, I will ask them to remove that line.
* Please consider not sending hate mail to people. You’re sending it to real people with real lives, and it really sucks. I don’t mean to just us, I mean in general. Be awesome instead of mean.
* Maybe don’t post heartfelt videos about how we ruin everything to 700k players, ZexyZek? We try to be nice, please give us the benefit of a doubt.
* I’m sorry this happened. Nobody meant anything bad, and it still went sour.

and finally:

* ZexyZek, you can continue your series. As long as it’s not genuinely malicious, nobody at Mojang is going to shut it down. You, and all other content creators, are very very important to us. When I created Minecraft, I had no idea it would get this big, and it amazes and humbles me every day to see what people do with it.


First person controls in the Oculus Rift

I’ve been playing around with trying to come up with intuitive controls for a first person game using the Oculus Rift. I quickly chose to decouple the body from both the head and the aim, so turning your head is essentially a free action that has no consequence on how you interact with the game. This is similar to how moving your head works in real life, where you constantly move and rotate your head without expecting it to change what you’re working on or what direction you’re walking in.

The orientation of the body is represented as a reticle that’s freely rotated around in a sphere around the player. Moving forward moves to to where the reticle is pointed, and not where your head is pointed. The reticle gets clipped against an infinite pyramid extending out from the players eyes to avoid it from leaving the field of view. The in-game result of this is that if you turn your head far enough, it will start turning the body as well, and it’s quite visually clear when that will start happening.

Originally, the rotation of the reticle was in euler angles, similar to how fps controls work, but this made the reticle get stuck pointing straight up or straight down when looking up or down. Instead, I tried making it always rotate relative to the camera rotation, meaning moving the mouse right would make it appear to move right on the screen. This worked great when looking up or down, but it meant that looking straight forward, tilting your head to the right and “turning right” would turn your reticle down into the ground. The solution was kind of simple, use the pitch of the camera to control how much of the roll that gets applied to the relative motion of the mouse.

In other words, when the eyes are pointed at the horizon, no amount of roll will affect the direction of the reticle, but as you start looking further up and down, the roll gets added to it more and more. While this feels fairly intuitive to play, I render the reticle rotated to this dimension, meaning that moving the mouse right will always move the reticle to what appears to be right of the reticle texture.

Moving the reticle to the left or right edges of the clip space spins the player around, so the body can pull on the head as well. This doesn’t feel very natural, but some control similar to that is required unless you want the player to turn around 360 degrees in their chair. The player can not spin the view up and down with only mouse controls.

This keyboard is probably older than you