John began his programming career at Softdisk and co-foundered id Software in 1991. His seminal work on ground-breaking titles such as Hovertank 3D, Catacomb 3D, and Wolfenstein 3D pioneered the first-person-shooter genre and established id Software as one of the premier video game developers in the world. He has created gaming engines for many critically acclaimed and commercially successful video game series – most notably DOOM and QUAKE. John is currently the technical director for the new id Tech 5 engine that powers RAGE. A rocketry enthusiast, he is the founder and lead engineer of Armadillo Aerospace. John was inducted into the Academy of Interactive Arts and Science Hall of Fame in 2001 and received a Lifetime Achievement Award from the Game Developers Conference in 2010.
What do you do at id Software?I am the technical director. I find and develop the major technology pillars that our games are built on, which involves research, some inspiration, and a whole lot of work.
What was the first time you realized that you wanted to work in video games?I knew I wanted to work with computers before I ever saw a video game, and I pored over encyclopedia and magazine articles for years before I ever got to actually touch one. Once I actually started learning how to program, games turned out to be one of the more rewarding things to work on, touching on so many different disciplines – graphics, networking, AI, systems engineering, user interfacing, etc.
How would you describe to a layman the work that goes into building a new graphics engine?In the old days, there was a clear set of milestones that were ticked off with each new generation – 3D perspective, texture mapping, 6DOF, polygonal characters, colored lighting, shadows, etc. In between major changes, there is always the push for more; more colors, more pixels, more triangles, more frames per second, and more depth complexity.
Games today look incredible, and there are few things that we can't do a pretty good job of rendering with the available techniques, so it is much more a question of balancing and trading off the development process against the fidelity of the product. We have to be reactive to hardware trends, and there are still large bodies of work in the offline rendering world to consider, but I don't feel huge pressure to radically rework our graphics architecture right now.
Still, I have done a fair amount of research work this year to help clarify our next generation directions, but so far they have mostly been negative results – I know we won't be rendering with a triangle intersection ray tracer on the next gen, for instance. I have a couple more research projects to undertake in the coming year, but the technical work I am most excited about doesn't have anything to do with graphics, but instead with the data management and work flow through the development process.