This is the next post in my series highlighting different careers in the video game industry.
Today I want to highlight a career that is near and dear to my heart, that of a programmer.
Computer programming has been my day-job for the last 16 years. I took my first programming class when I was a senior in high school and fell in love with it. From there, I got a computer science degree in college and have been programming ever since.
I have found a lot of programmers are also gamers. There is a natural progression from playing games to thinking, “I could make something like this!” to a career in programming, even if it is not making games.
What does a programmer do?
Programmers are backbone of the video game industry. It does not matter how great a designer’s ideas or how beautiful an artist’s art, if the game does not work, no one will play it.
There are two routes a programmer can go in the video game industry, working as a employee for a game studio or developing games as an independent developer. Let’s look at both of these.
Working for a game studio
Going this route, the programmer would probably go to college to get some kind of computer science related degree. From there, she would be looking to get a position at a studio. Here are a couple positions she might get. (This list is by no means exhaustive.)
- Tools developer – This person builds the tools other people use to build the game. The biggest example of this is the level editor. This is a tool the level designers will use to layout the levels in the game. This position tends to be where developers start when going to work for a big company.
- Engine developer – This person builds the actual engine that runs the game. This is the code that makes the game work. This work could require a lot of knowledge in things like math and physics, depending on the type of game being built. These tend to be more senior developers.
The programmer would then work on whatever game the studio is developing. As an example, if the programmer works for Treyarch right now, they are working on Call of Duty: Black Ops 3.
Let’s look at the advantages and disadvantages to going this route.
Advantages
- Salary – The video game industry is full of risk. As technology advances, games are becoming more and more expensive in terms of money and time to create. As a employee, that risk is largely taken on up the food chain, either by the heads of the studio or by the publisher. Obviously there is still some risk for the employees that the company will go out of business but most of the time the paycheck is going to come on time.
- Specialization – Video games are complex. There are a lot of moving parts, from the programming to the art, sound, and music to the design. Working for a game studio allows a programmer to do her part and trust others to do their. Going along with that…
- Business Infrastructure – Besides the game itself being complex, the job of running a successful game development studio is also complex. It is not enough to build a game and throw it out to the world. There is marketing, PR, accounting, and everything else that goes with running a business. A programmer at a game studio does not have to worry about those things. A programmer at Treyarch does not have to worry about getting the word out for Call of Duty. Activision’s marketing department handles that.
- Team – Some people cannot handle working on their own. They need like minded people around them to spur them on and energize them. Working for a studio grants this.
- Scope – Big games like Call of Duty require hundreds of people to develop. If a programmer wants to work on a really big game, she will probably have to join a big studio.
Disadvantages
- Overtime/Crunch – Crunch is the overtime required by a studio to complete a game. This normally happens when a release date is coming up. However, the video game industry is notorious for requiring months and months of crunch. This is not an issue at every studio but it is something to be aware of.
- No Design Control – At most studios, there is a person or group of people in charge of the design direction of the game. Most of the time, these are not frontline programmers. So the programmers may have to deal with decisions about the direction of the game they do not like.
- No Business Control – I said in the advantages that most of the risk rests up the line from the programmers. However, not all of it does. The programmer takes the risk that studio heads make a bunch of mistakes and run the business into the ground. Then she is left high and dry. Of course, this is a risk if you work for any business, not just a game studio.
Now let’s look at the other option.
Working as an independent developer
The last several years as seen the rise of the independent developer. These might be a single person or a group of only a few people working on a game. As with working for a studio, there are advantages and disadvantages to this approach.
Advantages
- Control – If you are the only one working on a game, you can make all the decisions about it. You can decide the type of game, what the story is or if there even is one, what platforms to release it on, everything.
- Financial – When you work for a studio, you get your salary and potentially bonuses depending on how well a game sells. However, as an independent developer, if your game sells like gang busters, you reap more of the financial benefits.
- Freedom – If a programmer is going to work for a studio, she probably has to live in or move to the city where it is located. An independent developer has much more freedom with where she works. This allows her to potentially live somewhere much cheaper, which would help mitigate the financial risk.
Disadvantages
- Financial – While the upside potential is greater for the independent developer, the initial financial risk is also much greater. A game studio will normally have a publisher helping finance the development of the game. An independent developer has to come up with money she needs to survive while building the game, either through savings, asking family and friends, or trying to raise money through something like Kickstarter.
- Control – I mentioned control as an advantage but it can also be a disadvantage. While an independent developer gets to make all the decisions, she also has to make all the decisions. And this is not just about the game. It is also about the business. She has to handle development, marketing, accounting, PR, everything. If she does not do it, it does not get done.
- Wearing Many Hats – One of the big reasons I have not jumped into game development myself yet is art. I am no good at it and I do not have a lot of extra money to pay for it. If a independent developer is going to work alone, she will have to handle everything that is involved with developing a game including the programming, art, sound, and level design. This is why you see a lot of independent developers consisting of groups of a few people instead of just a lone developer.
- Scope – An independent developer is going to be limited on the type of game she can create. She is not going to be able to build the next big FPS to compete with Call of Duty. That type of game requires too many people.
- It’s Hard – While there are cases like Mojang, the makers of Minecraft who recently sold to Microsoft for $2.5 billion, most independent developers are scraping by. It is hard work to create a great game and then get people to notice it and buy it.
How much money is there to be made doing this?
The answer to this question is obviously going to depend on whether the person chooses to join a studio or go independent.
Gamasutra does a survey of game developers salaries every year. The 2014 survey found that those working at a studio with the title “programmer” make an average of $93,251. That is a pretty good salary and what you would expect from a specialized field. One thing to keep in mind, though, is a lot of the big studios are located in places like California where it is more expensive to live. So this salary will not go as far in those cases.
Independent developer’s income is much harder to predict. The survey found, “Non-salaried solo independent game developers made an average of $11,812 (down 49 percent year-on-year) last year, while individual members of an indie team made an average of $50,833 (up 161 percent).” As I mentioned in the disadvantages of independent development, it is hard (but not impossible) to make a living this way.
How would my gamer get started?
There has never been a better time to get into game programming. There are two things I would recommend your gamer trying if this is something that interests her.
- Mod an existing game – There are a lot of PC games out there that release their development tools so users can create mods. Torchlight 2 is one I recommend to get started.
- Start creating a game – Some of the biggest game engines out there are available for free. This includes Unity (tutorials) and Unreal 4 (tutorials). She can download these and start going through the tutorials right now.
There are also a couple books I recommend. The first is Masters of Doom, which covers the history of id Software, the creators of the FPS genre. The second is Stay Awhile and Listen about Blizzard and the development of Diablo. These books will give her an idea of what game development was like at a studio in the late 90s.
The benefit of building games now is she will be building her portfolio. Having finished games to show potential employees will help boost her credibility. Plus, she might just make something that becomes the next Minecraft.