Adrian Walker: I keep starting off these interviews with “Tell us about yourself” or a similarly very open ended and broad question. Instead, since you work at a game company I’m going to ask, “What is your favorite videogame of all time and why?”
Jeff Hanna: That would have to be Air Warrior (Air Warrior - Wikipedia). My first exposure to Air Warrior was in 1989 or 1990. Here was this graphical online game that brought together hundreds of people each night to wage virtual air battles. While Doom and Quake always get a lot of recognition for promoting online play and Ultima Online and Everquest get recognition for being early graphical online games, Air Warrior was doing it all years before those games game out. I think the first release of Air Warrior was in 1987. The player community was also hosting yearly conventions long before there were “Quake Cons” or “Blizz Cons”. AW was a real pioneering product.
AW: In what ways has Air Warrior inspired your trek into the world of technical art?
JH: Air Warrior got me into the games industry. At one point, while I was still in college, one of the developers from Kesmai (the company that wrote Air Warrior) contacted me to see if I would be interested in working on the manual layout for their upcoming box release. Up to that point Air Warrior had only ever been distributed via download so a box release was a large endeavor for a fairly small company. To help with certain aspects of production Kesmai was reaching out to the community of players and enlisting them as contract workers. Working on the manual, I realized that I could make a living creating games. After I graduated I went to work at Kesmai, and on Air Warrior, full time.
AW: That must have been really cool getting hired to work on one of your favorite games. Did you find it to be a bit intimidating?
JH: Isn’t everyone’s first job out of college intimidating? I don’t think I was all that intimidated. Maybe that was because I already had a working relationship with Kesmai? I remember that the player community was very excited and supportive of me when I was hired. Technology-wise things certainly weren’t all that intimidating. This was the mid-90s, remember. The main art applications used to create Air Warrior were 3D Studio DOS and Deluxe Paint. It was a few years before we, along with the rest of the industry, migrated to 3D Studio MAX 1.0, Photoshop, and DeBabelizer. Since there weren’t any scripting languages the art had to be passed through the various pipeline tools by hand. Most of that work fell on me. I was sort of a meat-based batch script for a few years.
AW: Where have the biggest challenges for you, as a technical artist, been?”
JH: The answer to that changes on a regular basis. Early on for me, the biggest challenge was convincing companies that they needed a technical artist. Even as recently as five years ago I was interviewing at companies that didn’t have any TAs and needed to be convinced of their usefulness. Luckily that corporate mindset has changed drastically. Now it’s odder to hear of a company that doesn’t have TAs than to hear of one that does.
Now the big challenge is staying on top of new technologies. The days of just needing to know how to use a DCC app and that app’s internal scripting language are behind us. TAs are evolving into full-fledged tools programmers, shader authors, database administrators, and software architects. Just today I attended a meeting on how to write unit tests for methods inside of Python classes. That’s so far removed from what I used to do on a daily basis that it boggles my mind when I stop to think about it. Luckily for me there’s so much to do that I don’t have time for idle thoughts!
AW: So I take it Python is part of your daily work? Could you tell us about some of the cool stuff you’ve been doing with Python?
JH: For me, personally, not so much yet. Red Faction: Guerrilla was very far along in its development when Volition made the decision to integrate Python into our workflow. It didn’t make sense for us to add Python in RF:G as most of the pipeline tools were already complete at the time. With my work on RF:G coming to a close soon I’ll be exposed to much more Python work. Volition is integrating Python into every facet of our artist workflow. Our technology group is adding internal Python interpreters to every in-house tool we make. We’ve also developed Python abstraction layers into both Max and Photoshop.
Our goal is to be able to use Python to create tools that not only work in a single DCC app, but can control complex processes that move data through multiple different programs. Having the abstraction layers also helps to free us from vendor lock in. While MAXScript is a capable language for creating tools in Max, it only works in Max. When we step back and create our tools at a higher level it gives us the opportunity to write tools that could easily work across different DCC apps, as long as we have the supporting abstraction layers in place. This will allow us to more easily make the transition to different DCC apps or move to a more blended workflow where we pick DCC apps that are best suited for each discipline instead of picking one app for the entire organization.
AW: Is Volition a straight 3ds Max house then, or do you guys have a mixed pipeline in that regards?
JH: For 3D applications we are majorly a Max house, yes. We have a few floating seats of Mudbox, ZBrush, and Maya that artists may use if they like. The TAs do not create full pipelines to support those tools, though. As I said earlier, one of our hopes with our Python initiative is to be able to easily open our pipelines to more DCC packages.
AW: Could you tell us a bit of your own thoughts on the strengths and weakness of 3ds Max from a technical artist’s perspective?
JH: From my perspective there are some very compelling features in Max for TAs. MAXScript is always forward compatible, which eases the transition of a pipeline to new versions of Max. That MAXScript is, for the most part, at feature parity with the SDK is powerful, too. This makes the “plugin or script” decision one based more on performance than on availability of features. Here at Volition we tend to make all of our tools first in MAXScript and then determine if we need to move the tool into SDK space. More often than not, we stay in script space. With a decently fast computer, and by optimizing the MAXScript code, the script based tools will run at acceptable speeds. The integration of .NET into Max is also very compelling. Having access to all of the .NET classes and namespaces, along with any custom .NET control that can be found or made, really opens up the types of script based tools that can be created. Finally, the COM server in Max is an excellent feature. Having the ability to communicate with external programs and data allows for some very complex systems to be built directly around Max.
AW: Changing topics a bit, what are some of the things you look for in a potential technical artist for hiring? I mean, what do you think it takes to be a technical artist at Volition?
JH: I would say the strongest traits we look for are a willingness to learn, the ability to problem solve, a desire to help others, and some experience with a DCC application and its scripting language. While we don’t have knowledge of Max and/or MAXScript has a hard requirement, we do want people to understand a 3D modeling workflow and how to extend that application. The test we give applicants is MAXScript based, but we have accepted solutions written in MEL or even as compiled plugins. If an applicant is strong in the traits I listed they will more than likely be a good fit at Volition.
AW: As a Senior Technical Artist, how is your day different than a more Junior Technical Artist?
JH: I don’t think there is much difference, actually. Now I feel like we should have a Sr. TA Lounge, or something, to make us feel superior.
AW: Thanks a bunch for your patience and sharing your own bits of insight with us!