it' code windows stuff work years don'
Years programming: 5
Where he works: 3D Realms
What he does: One of 2 coders for Duke Nukem Forever
Also known for: Code on the Cob
Where he is from: Northern Virginia
Cigarette of choice: Sampoerna Classics
Beer of choice: Killian's Red
What he listens to: electronica/trance (Astral Projection, Juno Reactor, Slide)
What he's played recently: Half-Life, Zelda, Starcraft: Brood War
What else?: look at this
Who do you think is the best coder in the industry, and why?
Somebody I don't know about and have never heard of but who will drop everyone else down a few notches when the time's right. In other words, I don't honestly consider any currently known coder to be the best. Everyone has their strengths, but nobody is so good right now that they topple everyone around them. Right now there is no 'god programmer' in my eyes. There are people I highly respect, for example my coworkers, and of course other guys like Carmack and Sweeney... but none of them are so good as to be crowned king; everyone has plenty of flaws, myself included.
So, do you think the garage developers still hold a lot of clout?
Somewhat... the people I'm thinking about aren't so much "garage developers", but similar people who actually have the ability to get their ideas implemented.
What projects do you have your eye on and who's handling them?
I'm mostly watching out for Q3 and Amen right now, although I've admittedly heard little in details about either of them.
How is Duke Nukem Forever coming?
Going cool, doing a lot of neat stuff; E3 will be fun
How do you like working for 3D Realms? Other than them, are there any companies in particular for which you would like to work?
I very much like it here; it's about as comfortable a place for me to work as there can be. There are some other companies out there that "interest" me, but none right now to nearly justify leaving a place like this. It's nice because here I'm one of only two coders on a rather high-profile project. If there's any way to not be tossed into "the pile", this is it.
You mentioned that you have been playing Brood War. I have to say, Blizzard kicks some serious ass.
Yes they do; they've got their heads straight.
From my perspective, they are leaders in the industry rather than followers.
They pretty much own the RTS genre, along with perhaps Cavedog with TA, but Cavedog is moving into shooters now so Blizzard's got complete control for a while.
Is game development really a dream job? Do all the glorified perks justify the long hours?
That depends on the person. For me, it justifies it, for now. I won't be doing this in ten years though. It takes it's toll, and I know five to ten years down the road I'll have a family to think about, I can't do this kind of stuff then with a clear conscience.
How much do you guys *actually* work per week?
I work a minimum of 60 hours per week, and up to 120 in severe crunches (the 120's are 20 hours a day for around six days, with the seventh day for burnout recuperation. I've only done those maybe 3 or 4 times.) I love my job though... it's more like a hobby that I get paid for, not a job.
Not to pry about your salary, but how much would the average game programmer rake in?
That depends on everything from the company to the job title to the cost of living to you name it.... it can be anywhere between 25k and 125k...
What do you envision yourself doing in five years?
In five years? Not sure, that'll probably be about the time I get out of the industry and find a more relaxed programming job doing some other kind of development. I have no doubt I'll be coding as long as I can during my life, but game coding specifically I'll probably stop when I get near 30 or so.
Could you ever live with yourself as a suit?
I've been a suit before. Not a problem by my standards; I reportedly look good in a suit ;) It's not so much that I anticipate being a suit when I turn 30, I just anticipate moving towards a more conventional job with normal hours, where I can spend some time with my family. I love programming, but when I have kids, they'll come first; end of story. So, in the meantime, over the next five years.... I'm milking this industry for all I can
Chris, you've got an impressive history... Duke, namely... your discussions of starting out have been quite revealing for a lot of people... But what do you foresee? Where is the industry going? What part are you going to play in that shift?
Unfortunately I'm not a crystal ball in terms of the general shifts in the industry; that's not really my focus. I stick with the technical issues, coding-related stuff. On that end, I don't think there will be any major shakedowns over the next few years, except the increased development focus of component-oriented software. Note that I didn't say "object oriented", but "component oriented."
A lot of people I've spoken to really like Code on the Cob. Some have even suggested you write a book... any reaction to that?
I've given the book idea some thought; once Duke's shipped later this year I've be giving it a lot of consideration. I might drop the idea by a few publishers between now and then; see who'd go for it. I'd probably just do something along the lines of COTC, but extended to cover every damn thing I don't have time to do in a regular tutorial.
In your opinion, what should an industry game coder be keeping up with?
They should be keeping up with anything that helps them get more done with better results towards a better product; that all depends on what they need to code, when it needs to be coded by and what it needs to have. It's hard to nail down singular topics that are important, when everything is important within a given context. I've got like 150 programming books on the shelf to my right for that exact reason.
Ah, so really just focus on the product. Did you learn a lot that way?
I learned by personal necessity... what do I need to do, how should I do it, who has done this before that could give me some insight, what have they written, what fits my situation and what doesn't, what can i improve upon... etc. For example, in COTC I wrote that DirectSound code a couple articles back. That's actually the first sound code I've ever written. You find out what you need to, then find out how you're going to do it.
In COTC, you say you don't care too much for DirectX. Do you have any experience with other platforms?
Before Windows I worked in DOS for several years (I didn't started with Windows as a target until I went to Raven), so those are my two primary platforms of experience.
Do you think that any platform (specifically Linux or Mac) has a chance of dethroning Windows?
Linux and the Mac have no chance of dethroning windows anytime soon, in my eyes. The only OSs that win these days are the ones that 90% of the people get at startup when they buy a computer at the local computer superstore. That's almost always Windows, so as long as it stays that way, Windows will reign.
Out of curiosity, have you played with Linux?
Minimally; I respect it as a superior OS to Windows in almost every front, but the fact is it doesn't have market share, and market share is what affects my income. When it comes down to it, I'm more of a mercenary than an idealist... Windows may suck next to Linux, but Windows gets you paid.
Are you 100% mercenary or 99% mercenary?
So there's still a part of you that's got to play around with stuff and explore. Would you say that makes a major difference in your work? Has it ever?
Oh there's plenty of me that plays around with stuff, I just do it within the context of that which will advance my project and my cash flow... Best of both worlds.
What sort of scripting languages have you written?
Mostly just small ones necessary for tools and stuff, or consoles, etc. Like the console I wrote for COTC is not like the ones I use myself these days; the consoles I write use an LR parser generator library I wrote. I've spent a lot of time playing around with writing script compiler creation tools, because it's an interesting topic, but it's also helped my work immensely.
What's the hardest thing you've ever had to code?
I don't think there's any one thing I've had to code myself that's been terribly difficult... the most difficult stuff for me is adapting my code when I have to fit it into a conflicting paradigm.
Like, for example I'm totally against top-down design in game engines, so when I'm forced to work with top-down code that makes no logical sense to me (logical sense, i.e. I know what it's doing I just don't agree with it) then that's pain-in-the-ass code to me. Top-down is awesome for tools and things, and many of the tools I write are top-down within certain subsystems, but no way do I build an entire engine that way.
at the 3drealms website... they say that everyone on the DNF team is a huge x-files fan. are you?
most of us are x-files fans, although not so huge as to go to conventions and stuff, but enough that most of us watch almost every week. I'm one of them, yes.
Who would you rather get a lap dance from: Gillian Anderson or Mimi Rogers?
Gimme little miss Gillian any day.
Who do you like in the Superbowl?
I want the Falcons to win, just to see them make it. Denver's had the fun before, but Atlanta hasn't, so it'd be fun to see if they can pull it off. The Vikings losing kinda surprised me... but then, I'm still pissed that Green Bay got screwed over in the last three seconds, so oh well
Heheh. Being that I'm a hardcore Vikings fan, I have to say that Green Bay is evil.
Try saying that at Lambeau
What's written on your wall right now, Chris?
I've got posters on two of 'em, the whiteboard on the other. Some work stuff, a few bad cracks at other peoples' expense, random crap.
So, Chris, what's your favorite game development website? =)
Is this like one of those radio station call-in things?
loonygames, huh? =)
Alright, I'll say S.O. Are ya happy? ;)
Interview conducted 1/30/99
Want more of Chris? Check out the attached resource to see a transcript of the chat Sweet.Oblivion hosted with Chris for our visitors.