Video Game Programmer/Software Developer
Jesse James LaChapelle is 30 years old and has a degree in computer science from the University of Toronto. He worked with Digital Extremes/BrainBox games for one year and has completed one title: Marine Heavy Gunner. He worked at iNAGO developing online digital agents for four years, and spent seven months as a VB developer making Web-enabled applications and Web services.
Stephanie: What exactly do you do as a video game programmer/software developer?
Jesse: As in most programming positions there is a lot of grunt work. Setting up development environments, managing version control software, and bug tracking. The real 'fun' is the programming.
We as a team come up with a game concept, figure out what kind of game play we would like to craft. Then boil it all down to a list of features that we think will create the game play that we are looking for. These features could be things like, a particular type of weapon, a way to make the player 'dash', an output on the HUD (heads up display), or an interesting visual effect.
Then the fun begins. Some of the work takes place in the low-level native code, but most of the programming happens in a more flexible, simpler scripting layer. You program the features, in the case of a weapon for instance you might make a gun, lay out how much ammunition it can carry, how much damage it does, and what animations it should play when it fires and reloads. You co-ordinate with the art team to get the assets you need, then plug them into your code.
Stephanie: Is this something that you continually have to take schooling for?
Jesse: Nope. I got my degree in computer science and haven't had any formal training since. Partly this is that the work is very demanding of your time. Partly the nature of the work doesn't lend itself to formal education. Most of the learning is done in the form of an online community where developers share their experiences and solutions.
Stephanie: What should a person do if they want to become a video game programmer/software developer?
Jesse: Firstly, learn to program. Whether you have a formal university education or a college degree, I don't think it matters if you have the skills.
Secondly, make a game. No question the people that get hired here have shown their capability to create something fun. Take the time to learn an engine and build some levels, or a cool mod [modification]. There are online development sites that are great resources for getting started in most game engines.
Finally, be active in the gaming community. There is a lot of activity online, post your levels or your mod. If its fun you could attract the a lot of attention. There are other off-line community meetings too, the IGDA is a gaming developer association that gets together monthly to swap ideas (and drink some beverages). It's open to all and when a position becomes available it is often the first talent pool drawn upon.
Stephanie: How did you get started in the field?
Jesse: I finished my degree at the University of Toronto and started work at a small Internet company. We used to stay late Friday nights, order a pizza and play Unreal. It didn't take long before got ideas for levels that we would love to see. So we took the time and learned the basics of the level editor, and built some simple (but fun) levels.
When the time came to move on from that company I sent a résumé to Digital Extremes highlighting my editor experience. By the time the interview rolled around I had put together my first mod. In an industry where deadlines are always looming, coming into an interview with proof that you can hit the ground running makes all the difference.
Stephanie: What do you like about what you do?
Jesse: I love that the job is very visual. Too often at other companies, all or you development work ends up as an invisible service running on a server room somewhere. Here though, you build a gun, then shoot monsters with it. Everyday I do something that someone says is 'cool!'. People are interested in what I do, and it is really fun to show off my work!
Stephanie: What is your least favourite part of the job?
Jesse: As a professional, I take pride in building properly organized code. However with the time pressure in this industry that is not always possible. Things can be pretty fast and loose, and hacks can creep in pretty quickly.
Stephanie: What advice do you have for someone considering working in the industry?
Jesse: Well, beyond the advice I have already given, I would say play some games. Learn what is fun and what is not. If this is your chosen field than it is good to have a background in it. Learn what hasn't been done yet, and what has already been done to death.
Stephanie: What kind of an education do you need to be a video game programmer/software developer?
Jesse: I think it all comes down to experience. If you can prove that you can build a game that is fun, that is really all you need. That being said, when it comes down to a couple of capable candidates, those with the formal education will likely win out. A degree in computer science is a definite plus!
Stephanie: What was your favourite video game growing up, and why? What kind of game would you love to design?
Jesse: I started like most people my age with Mario Bros. I like a wide range of games, role-playing games like the Link and Zelda series, racing games like Fx-0, and strategy games like Starcraft are great too.
Nowadays I love the Mario Party series. Games like Quake and Unreal really took up a lot of my time though; something about playing against real people that makes the games great!
If I was given the chance I would love to do something crazy, mixing genres and game mechanics. Perhaps a multi-player first-person/role-playing type game where one player runs the strategy side of the game, building units and deploying troops like in Starcraft while another team plays the first-person component against those same troops.
We are always looking for new careers to feature in the spotlight! If there is a career you would like to know more about, please let us know what it is, and we will do what we can to include it on the site. E-mail your suggestions to firstname.lastname@example.org.