Pages

Wednesday, October 26, 2011

Creating a Game's Canvas


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
If a game has a brilliant story and a visually striking world but it isn't fun to play around in, there's kind of no point in it. It just...exists. The game has to have good combat or other types of engaging elements to keep you entertained between the bits of story. Otherwise, you're missing the other half of the equation that makes a good game.

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
I got my start making mods for Unreal Tournament. When I was young I stalked Cliff Bleszinski at an E3 to get a photo of him. Tim Sweeney was always one of those programmers that inspired me. I came to Epic and all the sudden I'm being interviewed by these guys. I'm sitting in meetings with them. We're sitting around conference tables looking at my work and dissecting it.

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
That's not important just for programming but for game design in general. Epic will do proof of concept stuff for new features where we have a designer make a feature in Kismet (the Unreal Engine's visual scripting system) before we invest a lot of programming time. We'll build off that prototype and form it into a more robust feature. It's vital because nobody reads a design document and sees the exact same thing. But when you have a tangible product to start from, everybody immediately understands the designers intent. It gives everyone a common frame of reference to talk about and iterate from.

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
While we were making Gears 3 we licensed Scaleform for the UI. I was involved in all steps from the evaluation, integration, changing the workflow, to actually implementing it.

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.

Wednesday, October 19, 2011

Painting with Light



What would you see if you turned out all the lights in your favorite game? Or ripped out the sky? I'll tell you, not much!

Light gives us the ability to see our real and digital worlds. It can tell us the time of day, or turn a cheerful place into a moody and hair raising environment. Lighting is directly influenced by the sky, that enormous and ubiquitous ceiling overhead. I sat down with Jason Connell, Lighting and Sky Artist for Sucker Punch Productions to learn about the nuances of his profession.

Soon to be officially titled "Solar and Atmospherics", thanks to the fun loving environment at Sucker Punch, Jason practices both the arts and sciences. His love of art, both traditional and game-based, helped inspire him to create masterful skies for the recently released Infamous 2. Those skies influenced the overall lighting schemes found throughout the games environments.

Though he is currently focusing on lighting and skies professionally, he prefers the title of Artist which more accurately reflects his love and interest in all aspects of artistic expression.


Why is the Lighting and Sky artist integral to the success of a game?

The best way I've ever heard somebody explain lighting is this: Somebody can model and texture a crate, the most basic prop you find in every game. The best modeler and texture artist can make amazing materials and shaders for it. But if you don't light that crate well, then it could look like crap. Bad lighting has made the most masterfully produced crate in the world look ugly.

On the flip side, if you take a mediocre crate with just OK textures and shaders and light it really well, it still has the potential to look good. Without lighting, games look flat and lack definition. Lighting touches everything in the game. In Infamous you're probably looking somewhere at the horizon while you jump from rooftop to rooftop. Your vision is dominated by the sky, which also dictates how the overall lighting appears on the level.

Something I remember my first Art Director, Phillip Bossant telling us, "A painter has to use big, medium, and small brushes in order for something to look right." Meaning get the big stuff right first and move to finer and finer detail. When you do lighting, most of the time you're using the big brushes. From time to time we get to put in little accents here and there.

I'm not modeling the trash on the ground, the car on the street, or the character shooting at you with the gun. While those things are awesome, we get the opportunity to make them look even more awesome with the efforts of myself and my co-workers on the lighting team. We really like that challenge.

We have to make every team happy. The environment and character teams, they want their work to look awesome. We need to make sure the gameplay and level designers are happy because if certain areas are too dark, then the characters (friendly and hostile!) can't be seen.


With the advancement of technology over the years allowing for more realistic lighting in game, the complexity of utilizing those tools has also gone up. Are you happy because these advancements allow you to better achieve a target look, or are you frustrated with just how much more complicated the tools and technologies have had to become in order to produce those end results?

I would say that it's definitely both. I'm not going to lie, it's hard to keep up with the technology as it changes and make the right decisions like "what is going to make the game look beautiful"? With all the technologies on the market it can be hard sometimes to not only learn them so you can make an informed decision but then going through and actually implementing those features. It can be stressful to make that decision and commit. You don't want to be changing your mind halfway through a project.

To answer the question directly, I think it is hard, but that's also what makes it fun. The challenge is awesome. I spent all day working on a shader! My brain hurts right now but I love it. If the challenge wasn't there I'd be bored.


It sounds like new challenges at work every day are the norm. Are there any you've encountered you would call your greatest challenge? Or maybe from a personal project? How did you overcome that challenge?

Oh man, that's easy. It's something I always wanted to do ever since I started working in games. A little over a year ago before I came to Sucker Punch I decided I was going to learn how to digitally paint. I had never done any concepts before. I had a fear of it. I was so wrapped up in the tech art stuff that I never took the time to learn. I got a portable Cintiq. At first I started out painting every day then it settled down to a solid 2 or 3 days a week.

Then I started painting skies at Sucker Punch. Instead of just using photo reference I wanted to try my hand at painting some skies from scratch. I started with simple value, just throwing it down. I'd sometimes use photos for reference. I tried to do a little bit of matte painting work using different elements. The first one took me a long time and everybody really liked it at work. My lead told me to keep doing that!

I did the next one, then another mission came up that needed a stormy sky, then another required a sunset, then the sky at the end of the game. They’re almost all hand painted.  There are a few details where I used some photos because sometimes they give you exactly what you want.

That led me to taking this awesome matte painting course through CG Society with a guy named David Luong at Blizzard. He's fantastic. I'm only in week two but I'm learning a lot.

I'm so happy I took the time to learn this skill. I'm finally starting to feel like a competent painter. I'm not going to get a job as a concept artist anytime soon and it isn't what I want to do. But it feels great to be able to make a painting of a sky, or bring some different elements to create a concept to convey something in my brain. A year ago there was no way that was going to happen.


I think you may have just answered the next question I had for you which is what work are you most proud of and why?

It would be a tie between all the skies in Infamous 2. There's such a personal history behind them stemming from my desire to learn to paint. I made eight skies for the game out of fourteen total. Out of those eight, five of them are hand painted. I think they could be a lot better looking back at them. I had to be really cautious with how many pixels I put up there and how blobby I made things. Overall, I’m pretty proud of how they came out.

One of the other things I got to do was a lot of marketing art. I looked at this game every day and felt that it was extremely beautiful. It's an open world game and it's very, very pretty. I got to make portraits for two of the new characters for a Game Informer exclusive. Then I was given the opportunity to create the box cover for Japan. Knowing that a piece of art that I worked on is sitting on store shelves in another country is pretty outrageous. It's still kind of hard for me to take in.


So other than the paycheck, what makes you want to come into work every day?

I think it's the challenge. I really like this stuff. I love the people I work with. It reminds me a lot of the culture we had at America's Army in Emeryville. A really close knit group. It's a good company run by good people. If I wasn't here, I'd wish I were.

Recently Sucker Punch presented at PAX a "Making of" for the 2D cut scenes from Infamous 2. A lot of co-workers went to the panel and came away wowed. They had no idea how we made those things. It's cool when another team working on the same game as you is doing something so foreign. When they show how its done you just feel enlightened. We regularly have cross-department presentations to share stuff like that.

Overall it's a good mix of mastery and challenge. When I wake up in the morning I have a good bit of stuff to do and when I go to bed at night I feel like I really accomplished something. It's a lot of fun to go to work every day.


From your last production, or just your experience in general, are there any methodologies or best practices you have learned or developed that have served you well you would be willing to share?

I think the most important thing is that you have to want to keep learning. If you're just looking for an easy answer that you can repeat for five years, it's not going to work. The best artists I've ever met and worked with are constantly trying to improve themselves. There's never a point where they feel like they're better than everyone else. There may be a moment of pride where they are proud of their work, but then they always want to make something better and new.

When Infamous 2 came out I was very proud of the skies. But the day it was released I instantly started looking at Halo, Gears and other games to see how they did their skies. You have to be super inspired to keep improving, no matter what it is you're passionate about. Don't ever think you know everything because you don't. There's always someone out there who may be better than you.

I also think it's nice to give back. Our industry is relatively young so there are a lot of people trying to get into it. I feel like young artists coming out of school right now don't have a lot of avenues to get good advice from people who've recently made it in and worked for a few years. They need more access to peers who are one or more steps ahead of them. Once you find work and you're starting to make games, find a local school that has a game development program and offer some free advice or a lecture. If things fall into place I may be teaching a class at a local college soon.

Wednesday, October 12, 2011

Building Blocks of a Believable World


Who are the prop makers of our digital worlds?  Who produces a multitude of objects so each environment looks like a believable and functional space?

From the largest skyscraper, to the smallest scraps of garbage strewn about an alleyway, game worlds are populated by an enormous number of assets which are used to create a living, breathing world.  I sat down with Nicolas Dunbeck, Environment Prop Artist for Trion Worlds to see what it takes to accomplish this task.

Nic describes himself as a digital Lego craftsman.  Not so much that he creates virtual plastic bricks, but the objects he creates are building blocks that can be turned into complex environments.  They can be snapped together and reconfigured in a multitude of ways allowing for a large variety of sets to be created without the need to make lots of very specific props.


Each person on a game development team serves an important role. If one aspect is noticeably weaker than the rest, it can negatively affect the players overall experience. Why are prop artists integral to the success of a game?

My job, along with other artists, is building all the props and pieces that get put together to build the game.  Everything the player interacts with, it could be something that you shoot at and it blows up, or it could be something you walk inside of like a building.  It could be objects used for cover if it's a shooting game.

It's really important that these pieces get created properly because they will be used all over.  Ours is a large game, so you will be running around this world and objects will be re-used.  If you don't do a good job it will be seen in many places.  It's much easier for the designers when they are laying out the different areas to create what they want if they have the right building blocks.  They fit together just right if they're modular.  The possibilities are endless with what they can create.  We'll make props and the designers will end up using them in some totally different way.  It's satisfying to see that the props we make are versatile.


So is that true for all objects, from a piece of trash all the way up to explorable buildings?

Definitely.  A few months back I made piles of junk (the actual objects, not quality of work), but now I'm working on big buildings. The small stuff is probably what you see more often than the big stuff.  If you take something like a light pole for example, those sort of things are all over a game. There might be a hero set piece, or a big boss, but the things you see more often are the environments and trash mobs.  Simpler characters or props get arguably more screen time than some of the hero pieces.

When it comes to being a prop artist, you have to be ready for anything they throw at you.  It's always a surprise what I'll be working on next.


You mentioned some trash piles and buildings you've worked on recently.  What work, past or present, are you most proud of?

I'm really excited about what I'm working on now, even though I can't go into too much detail.  I'm working on a set of buildings which will go in a specific area.  They may be reused, but right now I'm just focusing on one area.  It's really exciting because typically as a prop artist you are just working on small pieces that can be put in random places around the world.  I get the chance to work on a single area's props all by myself.  I'm building all the props, and designers will lay them out.

I'm really proud to get to that point where my boss trusts me to do that.  Its like a sink or swim sort of thing.  It's all me in this area.  Its great to have a fire lit under you to see how you respond.  I'm learning a lot.  Because I'm working on this area it's been evolving, going back and forth with the concept artist, designer, and terrain artist.  It's exciting to nail the concept artists look and make the designer happy because the props enable him to make the gameplay flow the way he wants.  Finding that balance has worked out very well.


So when you are given an assignment like this how much input and direction are you given to produce the props?  How much of your own artistic interpretation are you allowed to inject into the process?

It depends what stage of the project we're in.  We're in a "full steam ahead" mode right now.  I wouldn't call it crunch mode, but we're moving at a good pace.  We don't want to be taking steps backwards or sideways on asset production, we want to keep moving forward.  When you're in that sort of situation you often find you aren't going to get a fully rendered design.  You're trying to produce as much as you can as fast as you can without rushing so you don't have to go back to fix everything later.  At the same time you can't take as much as you'd probably like to.  The same can be said of the concept artist.

Sometimes I'll receive a sketch, sometimes it will be in color.  Most of the time it's taking a line drawing and interpreting the silhouette and shapes.  I'll talk with the concept artist if I have any questions and get any reference images they may have used to produce the art.  Sometimes you will get a fully rendered concept and that can be really simple to implement.  Right now I'm better at working with that than at the design end of it and using my own creative license, but I'm learning!  I keep the lines of communication open with the concept artist and my leads to ensure I'm meeting their expectations for the prop. Its fun to see designs evolve.

It's always a challenge.  I'm not as seasoned as some of the leads so I'm always trying to figure out how to build something, keep it under the budget, make it look cool and maintain silhouette.  What if a character walks around the backside?  The concept only has one angle!  It can be stressful at times, but it's also fun.  If it's too easy it isn't pushing you to get better.


It sounds like you have to stay pretty flexible to thrive in that environment!  It's nice that each prop comes with its own unique challenges, which helps keep things fresh and continues to challenge you.

So in addition to those things (and obviously the paycheck) what makes you want to come into work every day?

It's really easy to work here because it's an awesome project. It doesn't feel like work because I'm getting to contribute to something I'm very excited about.  The co-workers are awesome too.  If you weren't surrounded by such cool people, you wouldn't want to go to work.  I spend more time here than I do at home during the week.  There are a lot of knowledgeable, talented and fun people to be around.

I sometimes feel dwarfed by all the talented artists I've met at the studio, but for me I feel lucky that I'm working with them.  I'm in shock when I get a paycheck, I'm actually getting paid to do this!

I've found that learning from your coworkers is key.  Don't feel like you have to learn everything in school because you learn so much on the job.  Don't be afraid to ask your peers to learn new techniques.  Everyone has a strength or skill that can help another's workflow process.  Don't be afraid to ask, and don't be afraid to share!


So while working at your current job, or anywhere along your professional career were there any techniques or best practices you have learned or developed that have served you well?

Always get feedback from your peers.  Never work in a vacuum.  During the development of an asset you don't want to get too far along only to learn major changes need to be made.  You can really shoot yourself in the foot and lose a lot of valuable time.

I completely agree.  You'd think in such a collaborative that would be something you naturally do, but I can remember times when I would get so focused on a task I'd just forget to look up and see what else is going on around me.  You have to be disciplined to not get too wrapped up in what you're doing and remember to confer with your friends and co-workers from time to time.

We're Doin' It Live!

I'm happy to say the site is now live! The first interview will be up shortly. Then check back each Wednesday for new articles.

If you have a burning question you'd like to ask a developer of a particular discipline, please let me know and I'll see if I can incorporate it into a future interview.

Until then welcome and enjoy!