Interview By: James Hills, Guest Reporter
Published On: Saturday, June 19, 1999
In 95 (I believe) you were instrumental in id's decisions to release a linux port of Doom. What was your reasoning behind this gesture?
You assume correctly. Believe it or not, when I told my previous employer, The Kernel Group (a unix-kernel-debugging-firm), that I had a job offer at id Software and that I had to leave immediately lest I make a sticky mess in my pants, they counter-offered something like an executive position in a new Unix game division of the company, the
idea being that we make extremely high-end games for the super-rich who could afford workstations for upwards of $100k a pop. Cool idea. Brave dudes. That was in 1993. In 1990, I was actually swearing up and down that someday games for Unix would make money and that I would somehow pull that off. (That's when I said things I knew nothing about and had little wherewithal to complete. Now, I say things I know plenty about and have no time to complete.)
But it turns out I was right. We don't have our first commercial Linux hit game, yet, but it comeith, and that right soon.
So it turns out that id Software is very high-strung. Some chemistry underpinned by the personalities of the owners and their history makes it that way. Mostly manifests itself as nasty politics, outlandish purchases, and extremely generous compensation policies. It's all a very tree-house/boys-club feel, but instead of hoisting up porno
and "the faces of death" into the treehouse, we were... wait a minute, we were doing that, too. Nevermind.
Anyway, so it felt almost natural to do weird things. Here was a company where hundreds of thousands of dollars changed hands depending on moods and stories, Nextstep was the development environment, and showing up to work and seeing something truly miraculous in John Carmack's office or the art room about once a week was the norm. So when I started calling various workstation vendors like IBM, Sun, SGI, and asking they send workstations in exchange for typing "make", no one was terribly surprised. It was just one more of the weekly miracles, and a lesser one at that. "Oh look. There's our game running in a window on 5 architectures and as many OS's. Huh."
By the way, id may be very different today- I am just giving you my little snapshot back then. Zoid picked up the ports after I dropped them. He seems far more professional and did a much better job.
It wasn't really a gesture so much as it is a part of me. I doubt I will be able to stop.
What was the attitude at id towards this decision? Were there people who thought that the OS wouldn't take off, and supporting it was a waste of time?
Prolly. But keep in mind, everyone was already chanting about the worthiness of Nextstep when I got there. They were an enlightened bunch.
One day, I got some frowns when I was playing netrek at work, in the hopes of refreshing the essence of what made that such a beautiful example of a persistent networked game.
As a matter of stunning coincidence, I interviewed with netrek's author in my job search after Crack fell down. Didn't know I was talking to him until I noticed that he was a lot livelier than the rest, kept talking about games, and about how he used to play around with games on a sequent at Berkeley where he... "YOU WROTE NETREK!! I'M NOT WORTHY!!" It was a great interview, juxtaposed later that day by easily the worst interview I've ever had. I think God was jealous.
After Leaving id, you continued to support games under Linux at crack.com. What issues did you come across that made this difficult?
Part of the treehouse experience was that their incredible internal generosity and club-loyalty was matched only by the killer vitriol they spat on outsiders, even "friends". I was starting to taste that in my mouth even on the way out.
Was also getting more interested in Crack and was spending gobs of time with my soon-to-be-wife.
Now that the Linux user base has reached a point where mainstream media (PC World, CNN, etc) is beginning to recognize it, right next to Mac and Windows, how do you think the community and development of the OS will change?
Fame has weird affects on people, but they're mostly negative. I saw a chunk of that at id Software, and I was damn embarrassed of the damage it did to me. I haven't been proud of what it's done to some of the Linux developers I respected, but there are some who have handled it beautifully. Alan Cox, for one, is my biggest hero. Linus, two.
So are Erik & Marc & Rasterman @ RedHat, Dev (OSS), David (Sparc), and lots of others I've never met but respect from afar, like Miguel (GNOME). And at Transmeta, I got to meet several of the stealth-legends, who I had no idea were so talented, and I guess I'm still not allowed to talk about. By comparison, I am by far the most corrupted Linux-type here, still driving my rocket car from id, still trying to dress like a rock star.
I don't think fame can change the development, at least the open source stuff.. It's still done by the developers who care about doing it. They still get bored. They still get inspired. They still bitch. They still patch.
Because of the increased popularity of Linux it seems that more and more high quality software is being developed for it. What areas need more attention before Linux can be more readily accepted as more than just a "geek" operating system and a network server.
What Linux needs is more developers. It has a never-ending thirst for them. The more you get, the more gems you get, the more likely the tough, killer apps, drivers, and infrastructure are developed.
So I think trying to direct Linux is like herding cats. Cats are not motivated by anything resembling what motivates you, but if you get enough cats, some portion of them will go the right direction just by chance.
How does Linux game development differ from Windows game development?
With Linux game development, you write a lot more super-handy tools and scripts. Every once in a while, you catch a memory leak, realize that the operating system hasn't crashed, and you get this warm, shit-eating grin for the next hundred lines of code. You tend to think more about portability. You enjoy much cleaner OS documentation. You write more code, because Linux is leaner, but the code is a pleasure to write. And a few times a day, you grumble that debugging threads in Linux sucks, then the next day, you remember that debugging threads in anything sucks, then the next day you figure out a cool way to write the same thing without threads which has less code, runs faster, and is easier to debug. Debugging in general is just a pleasure, just raw joy. Even writing optimized assembly is cleaner, even writing it portably for Windows! You find yourself wishing the artists would use Linux, and you start
to tease them with gimp and E themes.
In Windows, you start MSVC and first you cringe because of how much screen real estate it wastes. Then you cringe because of how arcane the hot-key sequences are. Then you cringe because you hate the editor. Then you open up the help system on a function and cringe because it has that butt-ugly Hungarian notation everywhere. Then you read about some of the functions and you smirk because you see the half-hearted attempts to emulate Unix or X Windows, you can see the entomology and everything. Then you cringe because you can actually See the Evil (tm) in the developer suggestions that basically tell you not to be portable. Then you compile and cringe at the bastardization of the command-line compiler options. And then you link, and it's really really fast, and you get a little jealous. And then you run it, and it usually doesn't crash your machine, and you feel relieved, but you don't believe in the means to the ends, so you start looking at cygwin to see if you can cross-compile your Windows apps and treat Windows a bit more like the embedded system it always should have been.
Where do you think the future will take Linux games?
OK, here's a fairly far-sighted prediction. I think PC games in general are going to move away from being full-screen, and they're going to start being windowed.
The reason is that the idea of more integration with other applications is getting a lot more appealing. The ability to lay out the screen exactly as you'd want is getting more important. And you can't any longer trust the OS to do some other task in the background reliably if it's full-screen, because you might have to switch modes later and discover that the game doesn't recover. The amazingly low price on monitors is making the option of buying two 17" monitors and two video cards a LOT more attractive than buying a single 21" monitor, and full-screen games can't take advantage of that very well. And there is an important lesson to be learned from GUI's. It's really difficult to write your own, and in the end, you discover the oldest rule of GUI's is NO SURPRISES, so you end up rewriting Windows anyway.
All this doesn't necessarily make it easier to port it to Linux, but once it is ported, it definitely makes it fit in better. I think the future of Linux games is tied to the soon-to-be-trend above. I am not going to make dorky claims about how Linux's future depends on solid OpenGL acceleration. It'd be just darn swell, but there are
still lots of mega-hit games with 2D rasterizers.
I think GNOME and KDE (gtk+ & Qt widget libs) are going to make these window-game ports more attractive. The thought of porting a windowed application to just plain old X & the Athena widget set was enough to make you want to go out and hit a hippie.
And Linux will need a charismatic trailblazer or two. He/she will have to a. write a cool windowed Windows game, b. release a windowed Linux port, then maybe c. make a killer presentation at the GDC on what GUI features to use & avoid to keep one's windowed game portable.
That's the long, elegant view that gives us a better tomorrow.
Here's the quick and dirty prediction for instant gratification.
If these upcoming Linux and open source IPO's work out, then somebody sitting on a million shares of stock and looking squarely in the eye of stockholder lawsuits is gonna get motivated to insure that intellectual
property laws are amended to support business even if you're using an open source model. When that happens, we're gonna see game developers using GPL'd code, because duh, it's free, and duh, they can still protect their property. If that happens, it's game over: Linux wins. The GPL virally forces apps to be open-source, and once there's source,
there's a Linux port, and a *BSD port, and a BeOS port, and an Irix port, and a Solaris port, and ...
I understand that you, Linus and several other industry veterans are working on some secret project. Rumors have it that Linus is working on a new OS to go with a new chip being developed at the company. Are you working on a new game(s) to go along with this project?
Let's see. I'll bet I can tell you that I've never worked with so many brilliant people in one place in my life, and that includes id Software, Crack, The Kernel Group, IBM, and Convex. I'll bet I can tell you that I don't think we've hired a single asshole yet. I'll bet I can tell you that I have never been so challenged. I'll bet I can tell you that I've never been so proud as I am to be a part of this company.
That's all you get. I am trying to quota how much trouble I get myself in each week.
Copyright © 1999 Gamer's Alliance Inc. All rights reserved.
Reproduction in whole or in
part in any form or medium without express written permission
of Gamer's Alliance Inc.