What do you want to be when you grow up?
For so many members of the Bungie Community, playing games (and loving them) is simply not enough. Their daydreams about games compel them to make games, and we can certainly relate. Just about every person who calls this studio their home away from home was driven to plant roots here by their passions as gamers. When we opened the Mail Sack this week, the questions that tumbled from its depths focused on the mysterious migration from the controller to the workstation.
Bungie Career Day begins now. Let’s open the sack.
antony X1000 Were you part of the community before you started working at Bungie?
Most of you know that I was plucked from the same battlefields that you have played on to lead this march into our next game. I am not alone. Here are only a few of the developers who blazed a trail into the industry before I ever met them…
Back in 1995, “the community” was just
alt.games.marathon on USENET. A bunch of current Bungie staffers were once big fans of Marathon and Myth, way back in the day.
Derek Carroll, Senior Designer
Once a gamer, always a gamer. Just one more level…
Forest Soderlind, Technical Artist
Yes. The website and I always were, and always will be.
Chris Owens, Test Engineer
I wasn’t part of the Bungie community, but I was a part of another videogame community online. I ran my own website, too!
David Johnson, Engineer
EpicWaffles What should I start doing to be a Level Designer at Bungie?
Whenever you ask a question about getting a job at Bungie, the answer will invariably be: “Make something!” No matter what sort of job you’re applying for, the people who interview you will want to see that you have done what we need you to do somewhere else, even if it’s in your home office. Level Design is no different. Here’s some advice on how to cut your teeth on your own projects…
The best way to get into making games is to make games. There are
plenty of game engines out there that will let you show off your skill.
Derek Carroll, Senior Designer
Pick up any of the free level editing tool kits and start learning. UDK (Unreal), Unity, and Source SDK are great places to start. Start small, learn the basics, and build small levels no bigger than a couple rooms that emulate spaces you have seen before in real life or other games. Study some architecture, learn basic composition, and apply it to the levels you are building.
Evan Nikolich, Designer
Design your own levels and get them noticed in the community. Keep working at it and try different things. Knowledge is power!
Chris Owens, Test Engineer
Kr1egerdude What's the most difficult part of your day?
Waking up before dawn so I can make it to work on time. Don’t get me wrong. It’s totally worth it.
Chris Owens, Test Engineer
Bypassing the morning treats Bungie offers without partaking in them.
David Johnson, Engineer
Meetings right before lunch. Usually they run long and then I have to wait even longer to get lunch.
Mat Noguchi, Programmer
Whenever I have to make significant edits or completely gut a mission or level. It can be tough to go back to existing work and know where to start and editing to make the gameplay experience better.
Evan Nikolich, Designer
Tearing myself away from the screen to try to get home and start cooking dinner at a reasonable hour. It can be really hard to stop coding when you get rolling on something, and it’s even harder to stop playing the most recent build of our game.
Andrew Friedland, Associate Engineer
The hardest part is prioritizing tasks. There’s so much to do, which makes it essential to prioritize properly.
Alan Stuart, Senior Engineer
The commute. Seattle-area drivers are... different.
Mike Forrest, Senior Engineer
QuirkyNate If you were going to rob a bank which employees would you take?
Bungie doesn't recommend bank robbery as a viable career choice. Assuming, however, that we are just playing around here, I volunteer to drive the getaway car.
Jondis Is it better to specialize in one area or to be well rounded? I've heard both.
I prefer to be well-rounded, although I can see the benefits of both. I think it has more to do with your personality. I tend to get bored easily when I focus all my energy into one area. I like to keep learning and expanding my knowledge on as many different skills as possible.
Chris Owens, Test Engineer
For test, both of those are the correct answer. We’re all expected to specialize in our specific area, but we’re also expected to be knowledgeable across the board.
Scott Kankelborg, Special Projects Assassin
Definitely have a specialty, but know how to do everything else at least a little bit so you can communicate better with people who work in different disciplines.
Forest Soderlind, Technical Artist
The best engineers I know have areas where they’re experts, but also a general knowledge of the entire field. Perhaps just as important, they have a keen understanding of what they know and what they don’t.
Joe Venzon, Engineer
Kaneg93 What all should a freshman computer science student do besides obtaining their bachelor's degree that will ensure they have the necessary skills, knowledge, or experience needed to earn an engineering position at Bungie?
One does not earn any position. They take it, with audacity and tenacity.
Mat Noguchi, Programmer
Write your own game engine. It’s the best experience you can have. There are so many documentation/discussion forums online nowadays that it’s pretty easy to start hacking your own thing.
Alexis Haraux, Engineer
Networking is just as important as knowledge and skills. Knowing who to talk to, when to talk to them, and how to talk to them is imperative to land any position. If no one knows you, they won’t know to ask you to work with them. Get to know the industry face-to-face.
Forest Soderlind, Technical Artist
If it already exists, join the game-making club on campus. If it doesn't, think about starting one. Or, you can try to find people online to work with. I was able to join the
Game Creation Society during undergrad. I hear
TIGSource is also good for finding like-minded people.
Andrew Friedland, Associate Engineer
All software engineers at Bungie are expected to have a good understanding of data structures and algorithms. Know your
Big Oh notation!
Alan Stuart, Senior Engineer
Don’t just stick to classwork. There's no substitute for the experience of working on a real piece of software. One way to do this is to find an open source project that you're interested in and try fixing a bug or two.
Mike Forrest, Senior Engineer
David Hanson, my teacher for Systems Programming, gave weekly programming homework assignments. If your program crashed for any reason, you got a zero for the assignment, no exceptions. After the midterm, if your program crashed or leaked memory, you got a zero. It was the best motivation to write solid, robust code that I ever had.
Tom Sanocki, Staff Artist
We have a good number of programmers that are mathematicians, physicists and engineers; which reflects one of Bungie’s emphases: Math is delicious. A practical (and solid) algorithms base also helps a lot. The rest you can get with hands on experience - and the more you have the better.
Christian Diefenbach, Engineering Lead
HDhacker What do you typically do when you are having a bad day of coding?
Rage eternally at the inequities of reality. I have a lot of bad days.
Mat Noguchi, Programmer
If I get stuck on a problem, I take a break and go running, or if it’s late, I head home.
Joe Venzon, Engineer
Coding in itself is almost never the problem you want to solve, except at school. If you’re having a bad day, just go outside, lie on the grass, and enjoy some sun. If you live in Washington, move to California.
Alexis Haraux, Engineer
I just drink another Monster Import: Dub Edition and make some music in Ableton Live. Usually calms me down.
Forest Soderlind, Technical Artist
I think it’s important to find some sort of inner Zen when you’re having a rough day. When I can, I temporarily switch to a task that’s sure to invigorate me. If I can’t, I ask a coworker to give me a sanity check to make sure I’m on the right foot.
David Johnson, Engineer
When I feel myself starting to stall and get frustrated, I usually get up to go to get a snack. If that doesn't help, I’ll bounce my thoughts off coworkers to see if I’m failing to notice something more elegant, or if I just have a really nasty issue.
Andrew Friedland, Associate Engineer
It is amazing how often a two minute conversation with a colleague reveals the solution. If that doesn’t work, I follow
John Cleese’s recommendation. If all else fails, I play a game for a while to relax.
Alan Stuart, Senior Engineer
Stop and take a break. If it's an issue of not being able to focus, switch to a different task for a while. Or caffeine.
Mike Forrest, Senior Engineer
Am I brain dead? Take a day off and go home. Am I still functional? Go play <Insert new Bungie game title here>!
Christian Diefenbach, Engineering Lead
calcarlson Can I or should I pursue a career in Video Games as a 3d sculptor? I use physical media and I'm wondering if that has any place in a video game studio, or if you use solely computer based models?
Yes! Video game models are sculptures in a different medium. Typically, it’s less dangerous and less messy than casting and you go home at the end of the day with clean clothes. A traditional-skilled sculptor can transfer the same concepts digitally. You would just need some basic 3D software training to get up to speed, but the art stuff will already be there.
Forest Soderlind, Technical Artist
That snarling visage was sculpted by hands that belong to our Character Team. In order to see their work from a more literal perspective, the guys that bring to life new creatures in our games took a sojourn to the
Seattle Sculpture Atelier. Taking a break from virtual modeling to workshop the physical medium was a valuable exercise. Don’t go jumping to conclusions, now. This was little more than an experiment. If you think you’ll see that beasty critter in our next game, please reign in your conspiracy theories.
Arbiter 739 How did you learn to code?
I figured out how to modify game genie codes for Dragon Warrior 3.
Mat Noguchi, Programmer
I started on a Commodore64 using super simple basic commands. Just pick up a book and try some things out. Keep the scope of your projects small and manageable at first and build from there.
Forest Soderlind, Technical Artist
My mom enrolled me in some computer programming camps offered at universities during the summer. That’s what really sparked my love and passion for it. Once you have the basics, it’s easy to go off and explore.
David Johnson, Engineer
I made the effort to learn to code and it made me a better designer. I learned by taking classes in high school and college, but the most productive learning was done on my own side projects or learning on the job.
Evan Nikolich, Designer
The most important thing is to find some projects that interest you and dive in. I ended up dumping hours and hours into making a terrible JRPG battle engine and was completely hooked after that.
Andrew Friedland, Associate Engineer
In high school I bought a C++ for beginner’s book and went through all the programming examples. Then I bought a more advanced C++ book and did the same. I wrote some programs for some relatives to get some “real world” experience.
Alan Stuart, Senior Engineer
Trial and error mostly. There's no substitute for getting your hands dirty in code.
Mike Forrest, Senior Engineer
I really, really, REALLY wanted to print dots all over the screen, but holding down the period key only gave me 255. It all snowballed from there. (True story!)
Tom Sanocki, Staff Artist
On an Apple IIc computer. Writing code.
Christian Diefenbach, Engineering Lead
Being “forced” into coding for immediate real world needs is what has worked best for me. Back when I started on Halo 3, we had a tool called “Xbox Chief.” I started out by writing automation scripts using the simple language, but eventually needed something more powerful. I learned to convert all of the stuff I was doing into C# and then began playing around. Now I write all of my scripts using C# as well as write programs for various tasks around the studio.
Scott Kankelborg, Special Projects Assassin
LordMonkey What programming language do you find most useful?
When it comes to improving my computer science skills and writing relatively bug-free code, but performance is not a concern, I like using Haskell.
Joe Venzon, Engineer
Python is super useful and versatile. Multi-platform, easy to read, and it’s used everywhere. As an object-oriented language, it’s quite powerful.
Forest Soderlind, Technical Artist
C++, you’d be surprised how useful it is…even if you don’t code.
Chris Owens, Test Engineer
Personally, I think C# is one of the best languages to learn because there’s so much already at your fingertips. It lets you explore and create without having to hunt down or write your own common structures. It’s easily the language of choice I use at home for random projects.
David Johnson, Engineer
COBOL, Basic, Logo, Fortran… so many memories. Fortunately, Bungie focuses mostly on C++ and C#.
Christian Diefenbach, Engineering Lead
C and C++ are supported by most major platforms so learn those first. Next learn C#, Java, and JavaScript. If you know those languages you can get hired just about anywhere and you can quickly learn any other language.
Alan Stuart, Senior Engineer
If I had to pick one it would be C, because you can use it for just about anything. But there are better alternatives depending on what I'm doing. PHP is great for smaller web projects because it's quick and easy and runs on just about anything. And Java and C# are great for more complex systems.
Mike Forrest, Senior Engineer
Certain languages at better at certain things, and you should pick the one that fits best. Don't limit yourself to only one or two. Once you know the basics of how various types of languages work, it usually isn't too hard to pick up a new one if you want/need to.
Andrew Friedland, Associate Engineer
Professor24 I always seem to get stuck on chapter three or four of a book that I'm trying to write, what keeps the writers at Bungie creative?
Accept that the first draft is going to suck and write it as quickly as you can. Don’t judge a single word. Don’t second guess yourself. Don’t correct spelling or grammar. Just get words on the page. Create the ugliest beast you can imagine then chain it to a pipe in the basement and walk away. Don’t even look at it for at least a month. When you are ready, get back in there and make it handsome.
Clay Carmouche, Writer
I think the biggest reason most people get stuck is self-judgment. You have to learn to love your creativity. And if you can’t love it, at least accept it like the problem child it is, and keep trying. It will constantly lead you down dangerous paths and get you in trouble. But if you just take a breath, and love it for trying to be good, love it for aspiring, and accept it as imperfect, like we all are, then you’ll have the patience to wait and try again and see what comes next. Writing is hard. But you have to just keep going, just keep writing, and you will, eventually, fall back in love with your work. And when you don’t feel that creative spark, write anyway. As a great teacher of mine once said, the real secret to writing is three simple words: Ass. In. Chair.
Joshua Rubin, Writer
Consume other acts of creativity. Stare at a painting. Watch an old movie. Read some story that’s not at all related to the premise you’re working on. See how other creative folks handle their business. If that doesn’t inspire you, steal from them, but add enough of your own sauce to make it your own.
Eric Raab, Managing Editor
Full Time Loser Should I give up?
Quitters never win. Now buck up, and walk the walk. You could start by picking a more inspirational username.
Try Would you rather work for money or job satisfaction?
Everyone who weighed in on this conundrum chose satisfaction. Here’s why…
I’m compelled to work every day, doing the things I love to do. Some call it obsession; I call it PassionTM.
Forest Soderlind, Technical Artist
Money is a nice perk, don’t get me wrong, but having worked at a job where I wasn’t at all satisfied, your mediocre job eventually becomes your worst nightmare and starts taking over your at-home life as well.
David Johnson, Engineer
I had opportunities to pursue better paying jobs when I first started working, but I’ve learned that if you don’t like coming to work every day, the higher pay isn’t worth it. However, by all means, get paid what you and your skills are worth! Ideally, you have a satisfying job with a wage you feel you deserve.
Evan Nikolich, Designer
If you paid me a ton of money for something I didn’t enjoy, I would end up taking that anger home and would never be happy. On the flip side I should point out that having an employer that clearly appreciates my contributions adds to the satisfaction of a job I enjoy doing.
Scott Kankelborg, Special Projects Assassin
I have a few friends who have a job they love, but are barely making ends meet. They’re always happy and don't mind the fact that they don't have much money. I have another friend who is making money hand over fist, but hates his job, and I have watched him become depressed and less energetic.
Andrew Friedland, Associate Engineer
Job Satisfaction > Money!
Alan Stuart, Senior Engineer
I’ve done the money thing, and it’s soul draining, although I do miss the huge money-filled vault that I used to dive into.
Chris Owens, Test Engineer
Job satisfaction is great, but I do like being paid in money. You can buy more stuff with it.
Mike Forrest, Senior Engineer
MightyMarcher01 What is your favorite type of chip?
Silicone.
SpadesJr2 How would one go about getting into the voice acting business?
You’re in for a special treat. I found a voice actor that might know a thing or two about working on games. You may have even sampled some of his work (you better have). The floor is yours, Chief…
When it comes to Voice Acting. The emphasis is on "acting," not "voice." Someone telling you that you have a nice voice is no reason to pursue voice over. Many great voice talents don’t have a rich deep voice. What they have is believability. The idea is to be able to internalize the message and deliver it so the listener "feels" it. If you live near a place that has a reputable acting school, look into what classes they offer. Many will offer voice over classes. Even taking an intro to acting class or an improv class would be helpful. Talk to actors who have taken classes there and get a few good referrals (very important). If you live near a city that has a branch of the actors union (AFTRA-SAG), call them. Often times, they offer free classes on getting into voice over, and can also make recommendations on reputable schools in your area. Whatever you do, DON'T GO TO A BROADCASTING SCHOOL.
Steve Downes, Master Chief
PVSpartanL36 Do you have any wisdom to share with someone who is new to programming and struggling?
Pick a project that you think is really cool (simple game, cellular automaton, physics simulation, website, etc.), and DO IT. Even if you don’t finish it (I’ve never completed any of my personal projects), you’ll learn a lot.
Alexis Haraux, Engineer
Don’t give in to the gremlins! If you’re struggling over some programming concepts, step back and go through some tutorials to help you understand the basics fully before moving on. Try teaching someone else some basic programming concepts. If they get it, move on to the next level. By teaching someone else, you’ll discover the holes in your own knowledge.
Forest Soderlind, Technical Artist
No matter what you pursue, there will be obstacles. Realize it’s a phase in the learning process. Once you get past the obstacle, you’ll have gained new knowledge and expertise, and this will make you a better developer. Good luck, and keep plugging away!
Evan Nikolich, Designer
Even at the professional level, programming is a constant struggle, so learn to enjoy the struggle. The most rewarding projects I’ve worked on were the most difficult. Also, find a mentor who can review your code and give you guidance. Lastly, it takes time and practice to become a proficient programmer so have patience and diligence.
Alan Stuart, Senior Engineer
Try to avoid getting frustrated. Programming is hard enough when you have a clear mind. Do your best to make sure you're not attempting something that's over your head. Stick with simple problems for a while and things will start to click. Just keep practicing. One way to improve is to take some older code that you wrote or an old homework assignment and re-write it to make it cleaner, or better, or faster.
Mike Forrest, Senior Engineer
Keep finding odd and diverse tasks to sharpen your skills. Challenge yourself to do something new. It doesn’t have to be big, but it has to be outside of your comfort zone.
Christian Diefenbach, Engineering Lead
Learn by shooting for targets that directly affect you, and don’t be afraid to ask questions from folks that know what they are doing. In the five years I’ve been at Bungie, I have never had an Engineer refuse to provide me with as much help as I needed to get through something.
Scott Kankelborg, Special Projects Assassin
Create a reasonable goal involving something that interests you, and learn what you need to do in order to accomplish that. Having that goal behind you will almost certainly steer your passion behind the process, which is a big help. Almost every time I started learning a new computer language for fun, I started simple. One of the coolest university projects I had to do was to create a networked, multiplayer game of Battleship complete with win/loss record keeping.
David Johnson, Engineer
Modify completed code, or code samples. It’s a lot easier to see cause and effect when you can change aspects and directly see the effects and connections.
Jennifer Ash, User Researcher
The universe is fundamentally computational; learning its secrets will take time. It took the universe 13.75 Billion years for you to be born. Have patience and keep plugging away.
Mat Noguchi, Programmer
spawn031 My friend in an Xbox Live party chat just told me that you guys can give me blue flames.
Here you go. We consider the matter closed. Please stop writing us letters.
At least about blue flames. We do love your letters, but the ship that carried your blue flames as cargo has sailed, friends.
We hope you’ve enjoyed this look into our world, and the roads that lead here. We’ll let our hair down a little more next week, and get back to the ridiculous sarcasm and nonsense that you should expect during this communications blackout. So many of you just seemed so sincere about your curiosities this week, and we’re just a bunch of suckers for eager young minds that want to make games.