John Carmack makes technology for video games by typing code into a computer. That code has math and logic and physics in it. He helped make some of the most influential games of all time, including Doom and Quake. Now he works at Oculus VR, writing new code that drives the best virtual reality headsets currently available to humanity.
John Carmack is my hero.
He makes every fictional archetype of a computer wiz look bland and dumb in comparison. His passion and creativity ruin any attempts to pigeonhole him as "on the spectrum". He's been on the forefront of at least three or four of the largest technological leaps in video game history. And he's not stopping.
A couple of weeks ago I was trying to explain to a non-nerd why John Carmack is so amazing. Where do you even start?
First off, you have to explain that video games are very difficult to make. Creatively, of course, but also technically. You're bouncing these virtual beams of light around a massively complex virtual world, and you need to render out an image at least 30 times a second or your game is broken — 60 times a second if you're being serious. For a modern game, that can add up to over a trillion calculations per second.
In comparison, Pixar takes about 10 hours to render a single frame of animation. I'm not saying Pixar is bad at technology, just that what Carmack is attempting to do is different and, perhaps, a little bit insane.
You're bouncing these virtual beams of light around a massively complex virtual world, and you need to render out an image at least 30 times a second or your game is broken
Then you have to explain that VR technology is, like, way harder than video games. A regular video game takes input from your mouse and keyboard, does a bunch of math, and puts an image up on your screen. That's called the "game loop," and for a 60 fps game it happens at least every 16 ms. A VR headset like the Oculus Rift adds extra work on both ends of the game loop. It starts with motion tracking to get the exact orientation and position of the player, all of which has to be processed before it can be sent as input to the game. And then the game rendering has to be warped and split so it presents two wide angled images to the VR headset. Inside the headset are lenses which adjust that image for human eyes. The result is immersion in a 3D world. The process is hell to create.
Oh and did I mention that 60 fps is kind of slow for VR? To feel truly immersed, and to avoid the nasty side effects of motion sickness, you probably want something more like 120 fps. And remember, video game technology has been almost entirely focused on improved graphical fidelity at 60 fps — chasing Pixar beauty — and VR requires an improvement of almost every part of the game loop to be done well. VR is less a continuation of Carmack's old work than a systematic rethink.
John Carmack is so excited by this challenge that he's almost exploding. He quit his job — at the company he founded, where he made all those famous games that defined the industry — to join Oculus. His old company accused him of stealing intellectual property. It was weird and messy, most of all because Carmack was essentially being accused of stealing himself. This isn't how business goes down in the technology world. This isn't how millionaires with nothing left to prove usually behave. Carmack should be funding startups, buying basketball teams, and hobnobbing right now. Instead, at 44 years of age, he's possibly the industry's most valuable programmer.
Twenty years into his career, Carmack still describes himself as a "heads-down engineering guy," and he acts like it.
Here is a typical John Carmack tweet:
Considering what rendering styles could be well expressed with a completely static command buffer that just takes buffer object updates.— John Carmack (@ID_AA_Carmack) September 26, 2014
With a little bit of this for flavor:
I wonder if you could hydraulically jack up skyscrapers as an energy storage mechanism.— John Carmack (@ID_AA_Carmack) September 30, 2014
I don't want to perpetuate the myth of the lone genius programmer. Carmack isn't the only employee of Oculus. He collaborates with a lot of people, and he's quick to give credit where credit is due. That said, even in a sea of programmers, Carmack stands out.
On his blog and in interviews he often relays stories where he was dissatisfied with something, so he jumped into the code for a weekend and blammo everything runs eight times faster. And when Carmack wades into wider debates in the programming world, where things like "Functional Reactive Programming" are near-religious ideologies, his comments come from the moral high ground of working at 60 fps and doing it better than anybody.
Carmack states it best himself, in a memo about internet multiplayer for Quake he wrote in 1996: "I am practical above idealistic." He's fully aware of the "pretty" way to do everything — a common hangup for the modern programmer, who has to deal with the trends in programming that cycle more like fashion than science — but his first priority is to do the thing that gets him to 60 fps.
This skill is at the heart of game programming, after all. We don't have Pixar's 10 hours, we have 16 milliseconds. How much can we accomplish?
"I am practical above idealistic."
The first talk I ever saw of Carmack's was a 2013 lecture he gave at Quakecon about the physics of light. As the YouTube description puts it: "John Carmack returns to the mainstage to explain how light behaves in the real world, and the approximations and compromises that are involved in simulating the behavior with computers."
That's John Carmack in a nutshell: genius-level approximations and compromises, expressed in code, to simulate the real world.
The most recent talk I watched, and the whole reason for me writing this up, is Carmack's recent talk at the first-annual Oculus Connect conference. I'll almost go as far as to say it's something everyone should watch, no matter how little they care about video games or technology.
It's a man at the height of his powers, like a pitcher pitching a perfect game combined with a president speaking at an inaugural address. Without notes or slides, Carmack speaks for an hour and a half straight about VR. His structure is simple: here are the two biggest shortcomings in this upcoming product, here are some ways we could overcome those shortcomings in the future. He talks candidly about struggles to work with Samsung, in the sort of way that might make a PR person set her hair on fire, but which comes as a breath of fresh air to any engineer a PR person has ever squelched. Nothing he says ever sounds mean or blame-shifting, he's merely involved in the work of approximations and compromises.
Never in my life have I seen someone talk so broadly, so accessibly, so technically, and so authoritatively, all at once. Carmack doesn't just detail the current state of things, he's describing the future as well. It's an insight into the thought processes of an unequivocal genius, a front-row seat as the state of the art flows rapidly out of his mouth.
I love this man.