Adrian Walker: Thanks a bunch for agreeing to be interviewed! I’ll start off with a few questions and then we’ll go from there. Why don’t we begin with you tell us a bit about who you are?
Jason Parks: I’m a local-boy born and bred on the beaches of San Diego and find it very difficult to leave. Luckily I’ve found happiness and success as part of the Sony Hive down here for over 10 years now.
I remember the days I really dreamt about being a video game maker. I used to stare at the picture of the game developers inside the cover of the original EOA C64 games, thinking: “That would be the coolest job in the world”. I was a big fan of the ‘Construction Set’ games as well. The little kids entry to the game design field. I never really pursued it in through schooling, never really thinking I was capable of it, but it’s probably not an accident that I find myself in the industry today.
I got started in the industry making educational software in the mid-90’s; self-taught computer geek from when I was a kid. After cracking a copy of 3D Studio and putting together a quick demo-reel (no documentation), and with the help of a friend who was working at the relatively newly formed Sony Interactive Studios American in Sorrento Valley, I got my foot in the door as the first motion-capture technician that the new department hired.
AW: Being a self-taught “computer geek”, how do you feel about all of the schools that have popped up that cater towards preparing students for entering into the game industry?
JP: I think it is awesome. I so wish these courses would have been available when I was a kid. I would have been in heaven. We grew up in the dark, scrambling around trying to crack crazy-expensive 3D software and learn it all with no documentation and nobody in sight who knew how to do anything with it. Nowadays there are ‘student’ licenses for most software, forums, art/trade schools, online learning, and full-fledged degrees to be had. I’m just stoked my kids are going to be able to do anything they want with computers when and if they are interested.
In fact, I am SUCH a fan of the educational opportunities these days that I’ve tried to contribute what little I can by putting together some Autodesk MasterClasses to try to help artists learn some scripting and make that final push into the tech-art community. The pay is practically nothing, so most people who do these classes do them strictly to give back to the community and foster learning. It is a lot of work but I think it can make a difference
AW: According to your LinkedIn profile, you spent about 4 years working with motion capture technologies and processes. What made you decide to move into a technical artist direction?
JP: I had helped build up the motion capture department to over 20 people and wound up managing the entire thing, over-seeing the transition of motion capture libraries for SCEA first-party titles from PS1 to PS2. Besides the fact that this was hugely taxing and stressful, I felt that I had learned most of what I was ever going to learn about the entire motion capture process, from hardware to software, to methodologies, to pipelines, etc.
The newly formed internal Cinematics team which worked in parallel with the motion capture team as an internal service for all of SCEA seemed like an attractive place to go. I was given the tip by the guy I hired to replace me, Brian Rausch, who came from the Hollywood motion capture crowd that the “Character Technical Director” position was not only highly technical, but highly sought-after and probably perfect for me. So, I thought I’d give it a try. I got lucky in that this was the summer of '01. This date is important because that was the year that Jason Schleifer gave his perennial Maya MasterClass on Character Rigging and I was lucky enough to attend. This class not only explained everything I needed to know to get started but inspired me and re-booted my career. I have been a fan of his work every since and taken the opportunity to thank him for his contributions every time I bump into him.
AW: All the time you spent working in motion capture I’m sure helped to provide you with a better understanding of character animation than if you’d just tried to become a “Character Technical Director” right off the bat. What are your thoughts on what someone needs to be successful as a technical artist and/or director?
JP: Unfortunately there are many definitions for what a Technical Artist or T.D. does, but most agree that this is the person who talks both code and art. Obviously some art experience is necessary, even if it is just hours of hands on with the apps. Your “art” doesn’t even really have to look that good. You just need to know all of the things that artists do to make things look good. I think it is fair to say that some kind of knowledge of code, whether it be basic languages, or real OOP is necessary if you want to get your hands dirty actually solving the problem you have figured out the answer for. I suppose some T.D.s just figure out the solution and then tell other people to go fix it. But most houses do not have that kind of staff, so any solution you propose, you are usually responsible for drafting, documenting, coding and implementing.
On a more psychological level, it is pretty clear that all T.D.s/T.A.s you run into have one thing in common: they love to solve new problems. That also ties in with what Steven said about “being too lazy to do stuff by hand”. If you’re the type of person that cannot stand seeing anybody at work around you doing a repetitive task more than 10 times in a day, then you’ve probably got that incessant need to put down what you’re doing, go over there and ask them: "So how many times do you click those same 3 buttons in a day? Uh-huh. And do you always click them in the same order? Etc. etc. OK, I can write a script for that. Sound good?” That is what a T.A. does in his/her free time; just makes everything work better around them.
AW: Could you tell us a bit about some of the tools you work with that make your job / life easier as a technical artist?
JP: Professional IDEs are a scripter/programmer’s best friend. A very good text-editor is the minimum a scripter must use to take herself seriously. By this I mean, syntax highlighting, robust search and replace, indent/dedent features, etc. I used Ultra-edit for years and years and came to serious programming only recently using Visual Studio and now Eclipse. Since I try to spend as much time as possible these days programming in Python, Eclipse w/ Pydev is my secret weapon. A powerful IDE is like an entire team of smart people behind you constantly telling you what to do at ever second. Real-time debugging is the best. Unfortunately you can’t really do this when running Maya or MotionBuilder python but for all of my generic Python utility scripts, the debugging features of an IDE are indispensable. Command completion, code outliners, function helpers, etc. really, really speed up the scripting/coding process.
AW: Are you working in Python as much as possible because you’re mostly developing tools and pipelines to interact with Maya? Or are there other reasons that you’ve been drawn to it?
JP: I got started scripting in Python for MotionBuilder some years back. Before that, all I knew was MEL. Recently I’ve been using lots of generic Python to write standard maintenance and data scraping scripts; digging through directories, parsing xml, creating reports, interacting with version control, etc.
Maya’s Python is actually loads better than MEL for non-build type scripts. By this I mean, Maya utility stuff that isn’t doing a bunch of rigging or building of Maya nodes. There are plenty of scripts that need to collect data, interact with the OS, count stuff, etc. Python is infinitely more suited than MEL to do these kinds of things. And if you want to do real Maya kind of stuff inside of Maya, then PyMel makes Maya’s Python much more object oriented and is the way to go even for build/rigging scripts.
Python is highly addicting though. It is very easy to learn, and just scales and scales. I’d consider myself a mid-level novice and I’m learning cool new tricks and using new modules every day, but I’ve seen Python code out there that is crazy complicated. This is a good thing. This means that the more you know and the smarter you get with it, it can become even more and more powerful. MEL tops out pretty darn quick, actually.
AW: What are some of the emerging technologies in the world of technical art that you are particularly excited about?
JP: Well Python of course! I’m still stoked on the fact that I can treat Maya nodes as objects with PyMel, so I’m looking forward to how much better my Maya scripts can get. I just saw Adam’s demonstration of using win32com to script Photoshop which I’ve always wanted to do. So I look forward to learning some of the COM stuff to get Python to interact with all kinds of windows apps.
On the software side, I’ve always been a big fan of NaturalMotion’s ideas. I love all of their behavior work and think that procedural animation derived from key-framed and motion capture data but subtly “directed” via behaviors is probably where animation is headed in the far future. Autodesk’s new Game Technology Group is coming out with some very interesting runtime and application interop tools that could revolutionize rigging as we know it.
Overall, next-gen stuff just means more work for developers all of it due in the same amount of time as last gen. So unless budgets are going to soar, the only thing that is going to make that work is lots of good T.A.s thinking smart and automating a lot of workflows. So I’m optimistic the industry will always be good for Tech-Artists (.org).
AW: Do you have any suggestions for good resources for learning Python? Any other resources that you’ve found to be particularly useful?
JP: There are thousands of Python books and web pages. I stumble across new pages every day, usually ones specific to my immediate queries. I pretty much use Google as my main python docs. I find myself downloading or using new built-in modules/packages daily. So I’ll just type in ‘python xml example’ for instance and tons of code and pages just pop up that people have put out there to help you out.
[li] Google code search is handy too:[/li]http://www.google.com/codesearch
[li] But my first and favorite basic book is:[/li]Learning Python, 3rd Edition by Mark Lutz
[li] Though I usually just go hear for a quick refresher on Python Syntax:[/li]http://codesyntax.netfirms.com/lang-python.htm
[li] Python is so deep that there are tons of these tips and tricks available, such as these ‘List Comprehensions’ which I thought were pretty slick:[/li]http://www.siafoo.net/article/52
[li] The “Vaults of Parnassus” contains thousands of free modules and packages to download and help expand Python’s power:[/li]http://www.vex.net/parnassus/
[li] And Python.org’s package index (famously known as “The Cheese Shop”) has a comprehensive list of expansions too:[/li]http://pypi.python.org/pypi
I think it was called that in some reference to Monty Python, just like 90% of the other Python examples out there.
AW: How do you think the new procedural animation technologies, such as Natural Motion’s, are going to influence technical artists and the skills they need?
JP: I think these new technologies will change the production artist’s skill set and the way they model, animate, and think about animation as the technology upgrades, more so than a T.A.s. Like the way they’ve had to adapt to the new model/texture paradigm of Zbrush or Mudbox. Or the way animators had to get used to animating on top of Motion Capture. They must be willing to break their old habits, adapt, and embrace better, more efficient ways of creating digital art. It seems like a T.A. is re-inventing his or her skills all the time, so I don’t think any new technologies will change our roles much. Except for the fact that we need to be there to figure out, understand, and support the technology.
Part of a T.A.'s job is pipeline cohesion and workflow. Getting art packages to talk to each other nicely is a real challenge and over the years I’ve always enjoyed learning the new software and trying to figure out how to get complex data like skeletons and animation from one package to another. All the new technologies will at a minimum need some sort of scripts and infrastructure set in place to facilitate data transfer. This takes an intimidate knowledge of the data you’re trying to transfer. For instance, in the case of skeletons, the T.A. needs to know all about joint offsets and orientation, Euler curve information, time and scale, etc. Not just how this data is representing in Maya or MotionBuilder, but an abstracted/general understanding of what all of this information is and what is it doing. Getting rigging to work with new technologies is one of the greatest challenges for a T.A. and this kind of work will always be needed no matter what the technology is.
There will always be a need for somebody who is highly technical to figure out and solve these issues. That’s what I’m betting on anyway! (But everybody I’ve ever met in the industry seems to think they need more of us, so I think it is a good bet). And so I hope this site can give us a place to share and learn.
Thanks for giving me the opportunity to chat.
AW: We definitely appreciate you taking your time to share your experiences with us. Thanks a bunch!