BREAKING IN
PREPARING FOR YOUR CAREER IN GAMES
 
  CAREER PATHS DEVELOPER PROFILES RESOURCES 
  Profiles: audiodesignproductionprogrammingvisual artsbiz & misc.



Robert Huebner


Vampire: The Masquerade - Redemption

 


Robert Huebner
Director of Technology, Nihilistic Software

Current project:
Current project unannounced, last title Vampire: The Masquerade. I work with a team of 4 other programmers to design and implement the engine, game, and related tools for our current console project.


Academic Info

College: Purdue University, starting in 1988, in beautiful West Lafayette, Indiana. Go Boilers!
Degree: Bachelor of Science in Computer Science

Were there any particular projects or areas of study that you pursued?

Graphics, digital electronics, and general computer science.

Did you do any internships?
Yes. I interned for several semesters with a defense contractor in Los Angeles called "The Aerospace Corporation" where we did computer security analyses for the government, finding ways to break into secure Unix systems, it was a lot of fun.


Career Info

Tell us about your first job in the industry. How did you get the job? What was it like? What were your responsibilities?
My first job was with a company called Convex Computer in Dallas Texas. They made high-end supercomputers, kind of like Cray. Our product was actually a supercomputer made up of a bunch of RISC processors all sharing the same memory and working in parallel. My job was to help create the software that allowed the machine to solve problems in parallel with all the CPUs using networking protocols.

What jobs have you held in the games industry thus far? Briefly describe the career path you took to get where you are today.
While living in Dallas, I met some friends who worked at some of the videogame companies there, particularly the guys working on Duke Nukem 3D. At that time, literally years before it actually shipped, it was just 5 guys working in an office below Apogee (before they renamed to 3D Realms even). That was my first taste of game development and I was hooked.

Since most of my experience at work was with networking, when I saw a job posting looking for a network game programmer (this is before anyone was really making network games for the PC) I jumped at it. At first I thought I'd be working for Interplay, but as soon as I got there, the producer for Descent needed someone to fly out to Illinois to work on adding multiplayer code to the original DOS-based Descent game. So my first year at Interplay was spent 95% of the time living out of a rented apartment in Champaign, Illinois. The team atmosphere at Parallax was great, there were maybe 8 people or so working in an office behind a bank branch, one cramped room, and I learned volumes from the guys there. When Descent shipped I went back to Interplay and then eventually moved onto LucasArts, Blizzard, and now co-founding a company of our own.

Advice

What fields of study, specific courses, or life experiences would you recommend to students interested in your field?
When I was in school, it required extra effort to find courses that were related to game development. At the time, they taught incoming students Pascal and Fortran first. The reason I originally took a course in C was so I could learn how to modify the code for a Multi-User Dungeon I was playing on when I should have been studying. Its surprising how many other game developers I've met were into MUDs in college, but I'm not sure I would recommend it, they were very addictive, kind of like some people with EverQuest now.

But definitely taking C helped a lot, as did courses in data structures and algorithms. I actually find that the most important stuff I learned in school had to do with basic data structure theory, a game engine is really only as good as its structure and class design. The graphics stuff was good too, but a lot of it could be self-learned as well just by picking up the OpenGL Red Book or something. But some algorithms and data structures stuff you really had to experiment with to "get it", so school helped a lot there. And also learning something about the lower-level digital electronics by taking a lot of electrical engineering courses helped - its good to understand how code actually is executed on the hardware to really write stuff that's efficient. Compiler design was awesome too, the Dragon Book!

Is there anything you wish someone had told you before you got into the games industry? Is there anything you would have done differently?
When I first graduated from school, I didn't think getting into games was really a possibility, I assumed it was really hard, so I went through the usual placement-center interviews and ended up with a big company not involved in games. While that was fun and I learned a lot, it might have been more efficient to jump right into games directly from college. So I guess I wish someone had told me that its really not that hard to get an entry-level job on a game team with a little self-study and some good demos.

As games increase in complexity, what are the various kinds of jobs that you foresee development companies needing in the next five years?
On the tech side, we're already getting more specialized. For the first time, we've got one programmer generally focused on effects and UI, for instance. We also have programmers dedicated mainly to tools, but we did that in the past also. Tools often get overlooked, but they're incredibly important to making the final game look good and get done (roughly) on time. Bad tools have killed many projects. I think in the future we could end up with even larger programming teams, and maybe one person doing only AI, or only networking, and so on. We also have a lot of "scripting" in our games, so it's unclear whether those people are level designers, or programmers, or a bit of each. Even artists these days do a lot of programming with MEL script and all that. About the only thing I know for sure is that our programmers will never touch the art!

Do you have any other advice or recommendations to share with students who are interested in doing what you do?
I think to do well in this, you have to really push yourself, especially in school. Its pretty easy to glide through and get a CS degree, but in order to come out of school ready to work on games, you probably need to do a lot of self-directed reading and learning in addition to classwork. That means participating in mailing lists, going to conferences, reading books, everything. And of course working on demo code even before graduation so you've got something to show people. And I'd say don't ignore the classic CS stuff to just focus on graphics, because graphics are not the bulk of what we do. It's the data structures, algorithms, and architecture stuff that really separates a good game from a good graphics demo, so a well-balanced approach is best, a team only needs one (maybe two) hardcore graphics guys, but we need lots of people who can just plain code well.

 

Presented by:


International Game Developers Association