Halo
Master Chief Bernie Freidin, Bungie Software Design Engineer
by Violet Leigh
I had a bruise over my left eye for a week. The Master Chief tried to coldcock me with his gun just outside the Bungie offices. Okay, as embarrassing as it is to admit, the truth is that I turned a corner and walked into a life-size statue of the Master Chief. I almost knocked myself out. It was not one of my finer moments.
Needless to say, I never told Bernie Freidin, who has the cool title "Software Design Engineer," about my close encounter with the main character of Halo. Unlike me, Bernie had all his faculties about him when he answered the following questions for us.
Violet: How long have you worked for Bungie?
Bernie: I started about 10 days before Bungie closed their Chicago office and moved to the Land of Microsoft. Actually, it's kind of funny—when I was interviewing at various companies I didn't know about the Bungie-moving-to-Seattle bit yet, and I had my preferred employers narrowed down to Bungie (awesome game, bad location) and Dynamix (nice location).
See, I'm not much for big cities. When I went for the actual interview at Bungie, I noticed a little scrap of paper lying on someone's desk—and I read it. It was basically outlining the Microsoft acquisition, and I was like: All right, I'm decided! I had worked in Seattle before and I knew there were relatively pleasant suburbs to live in.
Violet: What is your background?
Bernie: I've been obsessed with 3D graphics programming since around the time Ultima Underworlds came out. That was my first experience where my mouth hung open while I tapped the computer screen for about 20 minutes, mumbling "Is this real?"
Unfortunately I didn't know much of the math behind it, so I programmed pretty stupid stuff (in Pascal on the Macintosh!) from around age 12 through most of high school. At that point, my brain suddenly developed and I started writing software texture-mappers and Doom engine clones. Let me just say that everything I know about computers is self-taught, either from books, the Internet, or my own research (mostly the latter).
Violet: Besides Halo, what else have you worked on?
Bernie: While I was in college, in 1996, I worked on an arcade game called Raider at Leaping Lizard. It never made it out the door. I also worked on Spec Ops at Zombie back in 1997, which I'm quite proud to say made it onto the "Top 20 WORST Games of All Time" list in one of the computer game mags; I don't remember which one. So I've gone from one of the worst games of all time to one of the best. What will I do to top that?!
Violet: What were your responsibilities on Halo?
Bernie: I was responsible for the Halo rasterizer; that is, the piece of code that executes all the shaders, effects, and graphics rendering. I was also responsible for various other aspects such as decals, bitmap importing, animation compression, lens flares, and detail objects.
Violet: What were some of your challenges during your work on Halo?
Bernie: Well, Halo was an Xbox launch title, which meant that we had to understand this totally new and extremely complicated graphics architecture (the NV2A chip), what it could do, and how to build a system that would allow the artists to make good use of that power without exposing too much of the technical stuff.
Violet: What were the most thrilling and frustrating aspects of working on Halo?
Bernie: Dealing with cutting-edge graphics hardware is tremendously exciting for me. Designing systems (such as the shader system) that let the artists build incredible content based around this technology is also very satisfying. Some of the work I did was very frustrating as well—the decal system comes immediately to mind—but in the end having that stuff "work" is a good feeling, especially when there is so much excitement surrounding the game.
Violet: When you switched platforms, what had to change?
Bernie: I essentially rewrote the entire rasterizer layer from scratch to take advantage of the Xbox capabilities. A lot of other systems were rewritten from scratch as well by other people, but there were still a lot of pieces of code that just got "ported" from the half-finished PC version to the Xbox.
I've never thought graphics were trivial. What actually amazes me now is how easy it is to do certain effects on the Xbox. Usually I get inspired by looking at some real-world phenomenon in lighting or whatever and try to think about the mathematics behind it, and now I can approximate that math in the Xbox pixel shader.
Violet: What makes you most proud about Halo?
Bernie: I'm proud of everything I did in Halo, but I'm especially proud of some of the things that I had to push for on my own because nobody thought they were important until I had them working—for instance, the sun-glow effect (sunlight glowing around objects and streaming through the trees) is something I hacked together in a weekend as a surprise. The flashlight effects in the beginning of the third level ("Truth and Reconciliation") were something that I had to sneak into the game very late in the schedule, even though there was no time designated for them. The sniper rifle night-vision mode was something else I had to kind of sneak in and really push to get integrated into the game.
Violet: How did you feel when Halo was finally finished?
Bernie: By the end of Halo I was totally juiced to start working on Halo 2, because I had so many new ideas and I was so excited to be able to redesign some of the awkward Halo systems. We had an unbelievable number of hacks in the code that we had to put in at the last minute - if you really want to know, we had literally hundreds of lines like "#ifdef NO_SORT_FILTH".
Violet: What are you doing on Halo 2?
Bernie: I'm working on the new rendering engine and designing the stencil shadow system. When we finished Halo, I worked on sort of a research project (called "pstencil") where I took the Halo engine and added stencil shadows using some new techniques that can only be done on the Xbox, and it worked beautifully. We're designing the Halo 2 rendering engine around this system, plus we're adding a lot of performance enhancements. Adrian "Cuban" Perez and Chris Butcher are working with me on this.
Violet: Can you tell us any Halo 2 secrets about what will be improved?
Bernie: On the rendering side: stencil shadows! We're also looking at some new per-pixel effects that hopefully nobody will have seen before. Almost all the other systems (AI, physics, etc.) will also have substantial improvements, but I can't comment on those.
Violet: Can't comment on those?!! Well, okay. I suppose I should be happy with what I got. After all, Bernie shared a lot of secrets with us. Thanks, Bernie! I think I speak for all Halo fans when I say we can hardly wait to see what you've done with Halo 2.
|