Hi, my name is Matt Komsthoeft. I’m a programmer at BioWare.
My life is a long list of contradictions. I have poor vision, yet I’m also a graphics programmer. I’ve never been very athletic, yet I’m also a black belt in Tae Kwon Do. I hate the sun, yet I was also born and raised in California. I’m a bachelor, yet I’m also a foster parent. I went to one of the best colleges in the world, yet I also never really felt like I was better than anyone else.
I’ve always wanted to be a game programmer. Since a friend showed me a few instructions in BASIC on the Commodore 64 when I was nine years old, I couldn’t get enough. For a while I dabbled in my free time, making maze generators, small games, and abortive attempts at larger games.
My high school didn’t offer computer classes, so I took summer classes at UC Berkeley. After high school I went to Caltech to study computer science, though it all seemed too theoretical to me. I wanted to make something fun! After I got my bachelor’s, I lucked out and got a great job working on the graphics chip for the GameCube. For the next eight years I verified graphics chips. That was cool, but I still wanted to work on the games themselves rather than the hardware they ran on.
So eventually I made the leap from hardware to software and got a job at BioWare. It was also a leap from the U.S. to Canada, a leap from Californian non-weather to frigid winters and unpredictable northern prairie weather. But it has been worth it! So far I’ve worked on two of the highest rated games of all time—Mass Effect 2 and Mass Effect 3—made friends and had a great time. Now I’m working on the Dragon Age franchise and having a lot of fun doing it! We are trailblazing with an engine that has never been used to make an RPG before yet already has a number of beautiful games using it.
As a programmer on a big project, my time is probably one part writing code for every nine parts debugging or learning. That’s probably the biggest difference between hobby programming on your own versus working as part of a big team—you have to spend a lot of time digging through unfamiliar code. It’s not just debugging either; you generally have to spend a good chunk of time familiarizing yourself with a system before you can start writing new code for it. There’s also a lot more procedure.
We have mandatory code reviews (which do wonders for build stability), and we also have to think about whether our changes should be pushed back into the engine code base so other projects can benefit from what we’ve accomplished. We also have to help plan ahead, estimate how long tasks will take, prioritize feature requests, write documentation, assist content creators, and so on.
Even with all the non-coding stuff, I’ve still gotten to work on some sweet features. On Mass Effect, I worked on the user interface, the hint system, the character appearance system, creature wounds, general graphics… but what I’m most proud of was my work on visual effects. With advice and guidance from a couple of other programmers as well as input from a couple of artists, I developed a new visual effects management system from scratch. It allowed VFX artists to put together all the different aspects of an effect—particle systems, lens flares, lights, sounds, camera shakes, frame buffer effects, temporary meshes, ghost copies, attachment options—and to control them all from one editor.
It made its debut in Mass Effect 3 and, I believe, made the game look better than it ever could have otherwise. Even if a specific particle system didn’t look any different when it was managed by my system, the ease of development freed up the VFX artists’ time, allowing them to put a lot more awesomeness into the game.
One of the great things about working for BioWare—as if making some of the best games in the world isn’t enough—is that they really value a healthy work/life balance. When I wanted to take some time off to teach at a computer summer camp, it wasn’t a problem. Core hours are from ten to four, but no one has ever yelled at me for being a few minutes late. If I need to meet a contractor at home during working hours, a courtesy email to my immediate team members is usually enough.
But what about crunch, you ask? As with any video game company, some crunch is inevitable. When the deadline for a game comes up and we just can’t afford to slip, some key people may have to work more hours to get it in on time. That said, I’ve been pleasantly surprised with how little crunch there has been since I joined. It’s a testament to good project management. They make the hard choices about scope to keep the team happy and healthy without crippling the game.
Personally, I only crunched for about a month on Mass Effect 3, though some did more and some less. We are clearly moving away from the concept of “sympathy crunch,” and I think that’s a good thing. We also get some really good crunch food!
So, all in all, I’m pretty happy with my life at BioWare. I feel really lucky to be working here. We have some of the best game development talent here, and we’re all passionate about what we’re creating. Much like our fans, I can’t wait to see what we come up with next!