Valve’s Michael Abrash has started posting a little bit about what he’s working on day-to-day. Reading his piece is one of those moments where you peek behind the curtain and gawp. It’s a brief glimpse of a very shining future.
That post led me to his .plan updates from back in the day. And I mean the italics: the day was the development of Quake.
There’s a great segment in his notes where he remarks on John Carmack’s focus, his drive to find a neater programming solution to a particularly hard problem – how to cull the most amount of work from the game’s renderer to let it run at as fast a frame rate as possible. As Michael put it back then: “Generally, if you find your code getting more complex, you’re fine-tuning a frozen design, and it’s likely you can get more of a speed-up, with less code, by rethinking the design.”
At id, John Carmack, really, really, really wanted to solve the problem. All manner of solutions were tried. I don’t understand a third of what that entailed. To be honest, I’m not entirely sure I understand the principle of the problem. But I love his determination.
“When I came in on Monday, John had the look of a man who had broken through to the other side–and also the look of a man who hadn’t had much sleep. He had worked all weekend on the direct-BSP approach, and had gotten it working reasonably well, with insights into how to finish it off. At 3:30 AM Monday morning, as he lay in bed, thinking about portals, he thought of precalculating and storing in each leaf a list of all leaves visible from that leaf, and then at runtime just drawing the visible leaves back-to-front for whatever leaf the viewpoint happens to be in, ignoring all other leaves entirely.”
Here’s a thought. Right now, we’re in a pre-launch holding pattern. There’s a new generation of consoles coming, and with it, a new generation of technical challenges. At this very second, some of the brightest minds on the planet are looking at the silicon arranged in front of them and are asking themselves, “how do we make THIS do THAT.” And they’ll answer “have you tried…”
One of my favourite memories of E3 this year was interviewing John Carmack on camera for a good half-an-hour. There’s a moment in it where John talks about why his tech matters: because if he solves the problem, artists can be let loose to create something incredible. The engine isn’t just for the engine’s sake: it’s to create a moving picture, and a place, and for an artist to come in and sculpt it into something beautiful
I can’t wait to see what next-gen games can look like. I can’t wait to see what our worlds can play like. And I can’t wait to hear about how it was done. Even if I’ll only understand a fraction of the details, I’ll understand the effort.
Oh, and wearable computing, eh? Valve <;3