Just below the surface of any game you play lies a web of logic, data structures, and complex algorithms. Without code and the programmers who create it games would be like an empty car body. It may be pretty but without the engine and other internal workings it's just going to sit in your driveway.
Programmers create the solid foundation upon which all games are made. Without their work your character couldn't move, fire a weapon, or converse with an NPC. In addition to making the systems that make a game playable, they also create all the tools used by every other profession in the game development process.
Nick Whiting is a Gameplay Programmer at Epic Games. Though that is his official title, he thinks of himself more as a "Daywalker Engineer", able to walk in both the gameplay and engine worlds. He enjoys the immediate gratification and creativity gameplay programming provides. Things will go "boom!" when he does his job right. He also finds the difficult, low level problems that need to be solved at the engine level equally compelling. Thanks to Epic's work environment, Nick is able to move between the two departments which constantly challenge him and improves his skills.
Why is the gameplay programmer important for the success of the game?
The artists define the visual look of the world but the gameplay programmer defines how the world works and behaves. It's not just a static visual place but an interactive element which is the advantage that games have over cinema and books. It allows the player to immerse themselves and be a part of the story. It gives them a compelling reason to keep playing through that story via good gameplay and entertaining mechanics.
![]() |
| Artist rendition of a programmer at work |
The role of the engine programmers is to help artists, designers, level designers, and animators by giving them the tools to bring their vision to life on the hardware. We strive to make it as easy as possible for them to create these beautiful and compelling worlds that exist in their minds. In simple terms, we give the artists the paintbrushes and canvasses to do their work.
Overall the programmer is the yin to the artists yang. They create the visual side, and we create the rules that govern the world.
That's a good way of putting it. It's easy for an artist to point at something on screen to show their work. There's a substantial object or character that's easy to see. It's harder to quantify the final product, visually on screen in the game, for a discipline like programming.
Exactly. I always try to think about it as, "How do you describe the work you do to your mother"? Because my mom doesn't play video games, she'll look at a game I worked on and ask "So what part did you do"? She understands answers like, "I made the canvas for the artists to work on", or "I made the laws of nature that exist in the world". Those sort of answers clicked with her, so that's what I use!
So even though you're officially a gameplay programmer, Epic gives you the freedom to express interest in any area requiring programming talent?
Ya, it's pretty open. Epic is very flexible and lets you bounce around to wherever your interests lie. Of course with any project there are certain things that just need to get done. You can only have so many people working on AI, gameplay, controls, etc. They're very good about moving us around and letting us explore our interests.
Right now I'm working on more engine-centric tasks than gameplay because I expressed a desire. After we finished Gears 3 I moved over to try something else. It helps the company as a whole if your programmers are more versatile and learn more systems. There's more people to help put out any given fire or just help when it's needed. It keeps us interested and passionate. Being encouraged to do that at work is great and one of the compelling things about working at Epic.
What work are you most proud of and why?
In terms of a product as a whole, I'm exceptionally proud of Gears 3. The team was great, the game turned out amazingly. It's kind of surreal playing it now that it's out. As you're developing it you're so heads down and only seeing the things impeding progress like the bugs. You don't get that holistic picture of what the entire product is for some time. Now actually playing it there's a moment of "Wow, this turned out really good"! Product-wise, Gears 3 by far is the best achievement I've had to date.
On a personal level I sometimes think back towards the end of America's Army 3 development. We had so much going against us. Almost everybody by the end had never shipped a game, some had only shipped previous iterations of America's Army. It was a new engine, it was a small team. We only had 3 on-site programmers doing a lot of the engine and gameplay code.
That was a trial by fire. It was a brand new product on a brand new engine with a relatively green team, but we learned and accomplished so much. Just looking at some of the systems we implemented like the sound features and the animation state graph, we accomplished some amazing things for being complete newbs. There was a great sense of accomplishment and camaraderie, just overcoming the odds. I'm still very proud of the work that we did.
I think if I hadn't been in that situation of being the senior guy on site and having to manage people a little bit, pick up loose ends, and put out a lot of fires every day, I wouldn't have been prepared to work where I am now. I learned so much by being thrown in the deep end.
How do you get things done when a feature doesn't get completed or somebody drops the ball? How do you compensate for that? When do you make the decision to compensate for it? I think those are all very valuable lessons that I wouldn't have got if we weren't in that situation.
Considering all the hurdles we had to overcome on AA3 we still managed to get a game out that did pretty darn well for what we had to work with. I'm most proud of that from a personal standpoint.
So from those previous experiences, what would you say is the greatest challenge you have had to overcome either personally or professionally?
![]() |
| Cliff and Tim |
It was very intimidating at first. The gameplay programmers at Epic have very active design roles. It's a very flat structure so when we're iterating on features we have a level designer, a gameplay programmer, and designer all looking at the implemented proof of concept. As it develops we have constant feedback and critique. We rip the feature apart to see what's good and what doesn't work. When you're doing that with somebody that you've idolized while growing up it's very intimidating and hard to think that your words hold any kind of weight.
When I first got here I never really spoke my opinion because what's my opinion versus these veterans? It was something I struggled with for a good year or so until my lead finally said "Hey, you obviously have a good design sense, you do good work. You should contribute more because we'd love to hear your opinion. This is one of the reasons we hired you, to break these things down and provide feedback".
I started doing that more but it's still hard to this day because I have so much respect for the people I work with. But actually voicing my opinion makes a difference. That's another nice thing about the process that we have at Epic. Anybody that has good feedback or contributions has a high likelihood those ideas will make it into the game.
Now that I'm feeling more confident to speak up, I have to answer questions like: Which ideas do I submit and which do I hold back? When is appropriate to make suggestions? That's one of the trickier things I've been learning to do lately.
Even at America's Army straight out of college the programming test freaked me out. I spent so much time getting over the initial barrier that the people who make games are super-human. But they're people just like us, and that's something you have to remember especially if you've built up games to be this impossible goal.
Just realize that when you get hired your employer usually wants to hear what you have to say. Actually voice it in a creative and constructive way. Your input matters!
Other than the paycheck, what makes you want to come into work every day?
I still think it's darn awesome I get to make games that run on the "magic box" that's sitting by my television. It's something I always wanted to do and now I'm actually doing it. It still thrills me. They say, "Your career should be whatever you would do even if you weren't getting paid to do it". I come home and I make games after work, it's really my life and my obsession. It's awesome being able to do that, especially with the talented team at Epic.
Day to day, as an engineer, I'm hard wired to like meaty problems. I like breaking them down and working through them every day. In game development we are constantly trying to push the boundaries. There's always something new that hasn't been done before. For the nerd and engineer in me there's nothing more compelling than that. If things blow up and look cool as a result of my work, even better! I get to acquiesce my creative side by making cool gameplay and my engineering side by implementing systems or helping others to do their jobs better.
Over the years, have there been any techniques, methodologies, or best practices you have learned or developed that have served you well you would be willing to share?
From a programmer standpoint, just laying down code is important. A lot of the times when you think of certain features it can be overwhelming. Here is this gigantic system I have to create and this is all the stuff it has to link to, where do I even begin? You get "analysis paralysis" where you over think the problem so much that you don't actually start anywhere.
Just start throwing down code, even if you think it's awful. You have a starting point at least. You can make it better as you go. It gives you momentum and a vitally important foothold.
![]() |
| Kismet example |
I think my biggest words of wisdom are to just to get something going even if that start is the biggest, ugliest kitbashed hack in the world. At least you have a starting point and you can make that into something.
Another important thing I've learned, especially for gameplay programmers, is it's very important to have experience working hand in hand with the different disciplines. You don't have to be an expert at what they do and how they do it, but if you have an understanding and an appreciation it makes it a lot easier to: A) Work with them because you have a common language you can now speak, and B) When you're coming up with gameplay features it's very important to understand what other departments limitations and concerns are.
For the programmer the customer isn't just the person buying the game, it's the people that have to use the systems that we've made to also make that game. We need to make the designers, artists, and everyone who has to use the engine happy. You don't want to limit them in any way. You want to give them the tools that empower them as opposed to constrain their vision.
Is there anything about Gears 3 you are particularly excited about in which you were directly involved?
![]() |
| Menus made possible by Nick and the UI team |
We've got this crazy amount of depth with the stats system, awards pages, and end of rounds screens with the in-game scoreboards. Other game studios often have a large team dedicated to stats programming and UI. We pulled it off with just a few guys. We were basically building the plane as we were flying it. Just the fact that we got it all done in the time frame we did, at the quality level we did it, I'm really proud of that.
Lets talk about you for a bit. Tell me a about your background.
When I first started thinking about making games back in the day, I thought Nintendo was the most awesome thing in the world. I grew up in south Florida and it was always 99 degrees and 100% humidity, so going outside and playing was usually not the first thing on my mind during the summer. I stayed indoors and would go to Blockbuster and rent games for the weekend through the NES/SNES generations.
After that I took a break for a little bit and didn't really get back into games until high school when Unreal Tournament and Half-Life came out. That was when I started thinking "Hey, maybe I should try making games for a change". Both of those games allowed modding. During high school when I should have been doing more productive things I would go down to the computer lab with my friend, Evan Champlin, and started making mods for UT and Half-Life. Evan actually decided to create an independent study class that I was associated with as a proctor/mentor.
We started making a mod for Half-Life we called "Sicaria" which was an uber-realistic assassination game. We had to write to Valve and sign an NDA. Once they received our paperwork they sent back a CD with the SDK for making single player mods. We spent a bunch of months in the basement of the high school just working on that and other projects. That's really where I learned to program.
I started college as an Electrical and Computer Engineering major. I also earned a B.A. in Japanese Language and a certificate in biomedical engineering. Among all my class assignments I would try to make them game related. In my assembly class with a friend, Mark Winter, we created a game called Hungry Hungry Hippies. It was a shooting gallery type game that you had to control with a joystick. There were hippies walking back and forth pointing at their mouths and you shot rotten sandwiches at them.
Wait, you did this all just using assembly code?
The summer after that freshman year in college Evan was a production assistant for America's Army in Monterey, California. He asked if I wanted to come out and do some QA sort of things for the game. I went and slept on his couch for two or three weeks and worked on the final days of America's Army 1.0. I did things like QA testing and just general helping out. That was my first exposure to professional game development.
I actually worked with a number of people I work with now here at Epic. Mike Capps was the program manager. Scott Dossett was an animator, Steve Superville was a programmer, Jim Brown was a level designer, and Phillip Bossant was an art guy who later became the executive producer on the project.
It was a bit of a dream come true. It was the first game that shipped on Unreal Engine 2. I was seeing technology that wasn't out in the main stream yet. Even though it was pretty short it was really cool to have the opportunity to get that sort of exposure, make some connections, and just see what it was really like.
After that it sealed the deal. I knew this was what I wanted to do. I had built up this idea in my mind that game development was this unattainable goal that only some chosen few could get into. After I graduated from college Evan called me up and said there was an opportunity for a programming job. I immediately said "Hell ya"!
The programming lead, Bill Perez, sent me the programming test. I was scared to death of it. It was the code for a few weapon classes or something like that. There were questions like, "What does this code do? How would you do it better? If you had to rewrite it what would you do"? There were also a few general programming questions.
I printed out all the source code and laid it out across my living room. I went through it with a highlighter because I was so nervous and wanted to get everything right. I spent an unholy amount of hours during the night obsessing about different chunks of code. I wrote up my answers, sent it back, and lo and behold, it worked! I got the job!
My first day of full time employment at America's Army was a base visit to Guernsey, Wyoming. I got off the plane, signed my HR paperwork then went to the tarmac for a Black Hawk helicopter ride. That was a pretty awesome first day!
That team was great, a real close knit family. I cut my teeth on AA 2.7. It was a good time to get in because 2.7 was as big a scope as any releases they had done before. There were a ton of new features in there, so I got exposure to a little bit of everything.
One of my first jobs was to revamp the entire UI. Working with the lead designer, Dave Kozlowski, he decided he wanted parts of it to be dynamic and downloaded from a web page. I ended up creating a whole HTML-like language called NML for "Nick's Markup Language". I made the system to allow for the entire UI to be dynamic. It was my first real project. It was pretty gigantic in scope and way over my head. I guess trial by fire is the best way to teach somebody.
I was also one of the first to get started on America's Army 3 pre-production using the Unreal Engine 3. It was pretty cool because it was the new fancy technology. We had a lot of interesting prototypes, sort of spaghetti on the wall to see what sticks. I remember we went through a 3rd person prototype, we made mario with the game assets, all sorts of little things to learn the technology. That was a lot of fun.
After the ship of AA3, and the day-after studio closure, I went to Japan for a needed vacation. I actually found out about the shutdown from Bill while I was on the BART headed to the airport. When I returned I applied to a bunch of places like Valve, Epic, and Insomniac. A month and a half later Epic got back to me and put me through a series of interviews. The day or two before I got an offer from Epic, Insomniac actually got back to me. I started working on their test, but then Epic gave me an offer and now here I am!
You briefly mentioned your days of playing NES and SNES titles, and your modding days in high school for Half-Life and Unreal. In addition to those experiences, what would you say are your inspirations now?
I really, really like cinematic and filmic kinds of games. I used to play Dragon Warrior, Final Fantasy, all those kinds of games in the NES/SNES era. Not only were you listening to a story, but you also actively engaged in it by virtue of interacting with the characters and building up something in this virtual world.
When Half-Life came around I really liked how they took an environmental approach to story telling. Valve told the story through the world you're immersed in. As a player you got little bits just tangentially from your experiences and interactions with the characters and environment. I was really fascinated by that because they did such a great job.
I also loved Ico and Shadow of the Colossus. They built these worlds where they had this interactive layer on top of the narrative and cinematic elements so they don't have to be forced front and center to tell the story. I really love any sort of game where you feel immersed in the world and it doesn't feel ham-handed. You can't do that in a book or a film medium. Those are the games that really inspire me.
I also have my wall of inspirational games up at work. I have a copy of Metal Gear 4 signed by Hideo Kojima, and a copy of Shadow of the Colossus signed by the animators on the game.
Knowing what you know now, what advice would you have given your younger self when you were just starting out?
I think the biggest piece of advice I would have given myself would be to just start making something. One of the problems when I was in high school was that I had all these ambitious and great ideas for games. I wouldn't let myself settle on just one or two of them at a time.
I wanted to make a game that has all these cinematic elements, cool gameplay features, detailed weapons, and crazy realistic movement. All the ideas I had for making a game were so big and vast, it would be hard for a AAA studio to do it, let alone just one person. It was a big mental barrier to entry.
When I was younger I should have sat down and done something like a game jam where you have 3-5 days to make a game. I should have picked some small idea or small scope game and just done it. You learn so much even if you run up against the wall the entire time. You quickly learn how not to do things. You get a better understanding of all the ins and outs of the problems that arise from trying to do something all the while trying to keep the scope and design manageable.
Everybody has great big ideas, just take one piece of that idea and run with it. Put it through it's paces once to see if it's even worth doing. If it's not fun then throw it out. Then figure out why it wasn't fun. It's better to find out early if a feature or gameplay element is worth fully developing for the end product. Fail early and fail often!
You may have already covered this in your inspirations, but were there any crystallizing moments in your past that motivated you to work in the game industry?
I think it's rooted back in the fact that I've always loved games. I looked at the different consoles from Nintendo or Sony as these black mystery boxes. Someone, somewhere in the world gets to create these games that I play with.
I was always interested in programming and logic, that sort of thing, and I realized I could use that to actually make the kinds of games I'd want to play. In college when I got the opportunity to work at America's Army for a few weeks it kind of opened my eyes that it was an actual legitimate possibility. It became a real thing to me instead of this abstract magic box that entertainment comes out of.
It sounds really stupid, but before when I heard about big names like Shigeru Miyamoto, Cliff Bleszinski, Tim Sweeney, John Carmack, and all those sort of guys, I imagined them as these magical, mythical beings at the top of this high mountain who were just casting games down to the people below. But once you actually get there you see that they are people just like you and me. They're just very awesome at what they do.
My love of games, and the realization that I could do this as a profession is when it really hit home.
What are your favorite games, and why? Bear in mind this can be any sort of game, it doesn't necessarily need to be a video game.
One of my favorite games of all time is the original Deus Ex. I'm really excited to play the new after I've finished playing through Gears 3. I remember that was one of the games I got most addicted to. I didn't want to eat or sleep, I just wanted to play the game and explore the world.
There were so many side paths and minor ramifications for things you could do. Just wandering around Hong Kong, it was just one level way back when in Unreal Engine 1, but you could go and break into your chopper pilots apartment, steal stuff out of it. There were so many little details and paths you could take to affect the gameplay. Not huge major ways, but minor things like choosing to kill the guy in the airplane (I forget his name). I remember being in shock from the outcome. I went in there and refused to kill him, and the cybernetic agent (Anna I think), she shot him in the end anyway. I remember being so pissed off about that.I remember talking to my friend Mark the next day and he said "Ya, I took a bunch of crates and stacked them up in the door so Anna couldn't even enter the plane and he ended up surviving"! I thought that was amazing, I didn't even think to do that! I loved that sort of stuff because it had an awesome story and a really compelling world. The technology sort of limited the scope of it, but the little touches that they did add were so polished and thoughtful, it was a great game.
I remember that plane scenario and being unhappy with the outcome so I reloaded an earlier save and tried to fight her off. I lost, badly, so my second attempt I loaded up the entrance with mines which blew her away and it kept the guy on the plane alive.
Ya, just the fact that you could do that was so awesome. It's amazing you would be so dissatisfied with an outcome that you took the time to go back and try to change it. If a game can make you feel something, even that frustration with what happened, I think that's a sign that it's a really compelling game because you care enough to go back and spend the time to try and change the outcome.
I think one of my other favorite games of all time is Shadow of the Colossus. The world that they created, there isn't a whole lot of story, you fill it in yourself like you would a book. Every shot of it looks like a gorgeous painting. Fumito Ueda said one of his goals for the game was that he wanted every screenshot you could possibly take to look like a still from a film. He actually pulled it off if you ask me.
The details they put in, like the animation of the horse. It's just a horse but you develop this deep connection to it over the course of the game. You could stand up on it while riding and jump off and grab onto a bird. Who does that? It can be completely pointless in the context of the game but it serves such an awesome purpose of being a nice little discoverable and makes the world feel real.The cool little touches like that make it feel like a fully realized place. They did such a good job taking a simple gameplay element that was fun but putting it in a world you can explore. It just had such an ambiance and sense of place and a visceralness that you don't get in a lot of games with giant open environments. To me it's still just an amazing game because of that. They did all this stuff on the PS2! I'm surprised the hardware didn't just melt after playing the game.
So that's what you were playing then, how about what are you're playing now?
![]() |
| Carefully crafted HUD elements |
I hadn't played most of the campaign in its final form, so it's cool to actually go in and see how it turned out. I spent most of the playtests in multiplayer. For certain areas the last time I saw them they were just covered with the default textures and now they look amazing! It's great to see how it's progressed from where it started to where it ended up.
I've been playing a little multiplayer now too which is embarrassing. I'll go out rocking my developer gear and just get owned! I'll get messages saying, "I don't think you're a real dev 'cause you're terrible"! I'll sometimes reply with, "Just because I'm a developer doesn't mean I don't suck"! I get my butt handed to me, but I've been having quite a lot of fun playing it.
The last thing I played before Gears 3 was Bastion, which was awesome. I really liked the world they created. The narrator was an awesome element. I was kind of worried leading up to it that it was going to get repetitive and be a tacked on feature, but man, they really pulled it off. The narrator actually adds so much to the game. It's as vital to the game as it's art or any other element. They really succeeded in making it an integral, essential part of the game which I thought was pretty darn awesome.
Street Fighter 3 recently came out on Xbox Live, I've been playing a lot of that 'cause I am a sucker for fighting games. When I was on vacation in Japan one of the highlights was going to the arcades and playing Street Fighter IV and other awesome Japanese arcade games every day. I got myself a persistent player card and went in there and had a few good days and a few really awful days playing against arcade locals.
I love the arcade experience, I wish we still had that here in the U.S. It was awesome to go in and see an entire floor of a building dedicated to fighting games. They had 16 Street Fighter IV machines, a bunch of SF 2 and 3. I was in heaven!
Thanks for your time Nick!










It took two sessions, but I finally finished reading y'all's interview. It was AWESOME.
ReplyDelete:P