Interview with Jason Parks, Senior Technical Artist at Sony Online Entertainment

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.

Some examples:
[ul]
[li]http://www.jason-parks.com/public/images/PCS.jpg[/li][li]http://www.jason-parks.com/public/images/ACS.jpg[/li][li]http://www.jason-parks.com/public/images/Archon.jpg[/li][li]http://www.jason-parks.com/public/images/MOM.jpg[/li][/ul]
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! :wink: 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.
[ul]
[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
http://books.google.com/books?id=nEJ-jcYF2fMC&dq=learning+python+mark+lutz&pg=PP1&ots=3_uwQ_38lk&sig=EbBwOfyHETapYvCAABSjTW05yuU&hl=en&sa=X&oi=book_result&resnum=1&ct=result
[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]Siafoo
[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]PyPI · The Python Package Index
I think it was called that in some reference to Monty Python, just like 90% of the other Python examples out there. :sunglasses:
[/ul]

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!

This interview was fantastic. (The mobygames links don’t work though). The quality of the interview is really amazing… I have already got a ton of insight from just these two. Jason’s experience and insight with mocap is really interesting.

It is really interesting to see what traits we all have in common (interesting, but not suprising), and as a young TA I really enjoy reading where people came from and their experiences.

Thanks for the interview, Jason and especially Adrian! Rarely find interviews this good, even on Gamasutra.

Great Interview Jason,

Nice to see you talking about yourself a bit:)

Jason helped write the python pose pasting code for our motionbuilder master class and if you want to get up to speed on both python and how it works in motionbuilder (now that the new mobu has a real python script editor) you should get his DVD on lulu.com.

http://stores.lulu.com/count_zer0

He left that off the “where to learn python” links so I just wanted to plug it. Always a pleasure to talk with and work with and is always willing to give back to the community.

Glad to hear you guys could glean something from my experience.

Funny how Mobygames had to put up ads to those links above. Must have gotten a couple of hits and realized something was linking to it and they swapped out those ad images as placeholders.

So I found some more and uploaded to my site. This were some of the old EOA covers I was talking about:




Thanks Brad for the plug. You all know that Brad’s and Chad’s class is awesome too, you should check it out:
http://stores.lulu.com/animatortoolkit

Speaking of Python for MoBu, I leave tomorrow to give it again in Tokyo to get some people over there stoked on MotionBuilder Python too. I’ll probably get to demo on MotionBuilder 2009 RC too so it’ll have the nice script editor window. I get to speak English w/ a translator but the PowerPoint is going to be all in Japanese! Hope it goes well enough.

Thanks for the extra Python links Jason. I wasn’t aware of that syntax page… it will be immensely useful! :):

Those MobyGames links were working when I added them, but seem to have gone down pretty shortly afterwards. I went ahead and replaced the links in the interview with the new ones that Jason provided.

I just have to sat thanks a bunch again to Jason for taking his time and answering my questions!

Great interview! :):
Always interesting to see how other people got into the industry. I definitely agree with Jason that the educational opportunities for youngsters interested in this area are just awesome - no matter if online courses or trade schools, you will always find places to improve your knowledge which was still very complicated at the time Jason started.

Thanks for sharing!

thanks for sharing this all with us

Nice post. Thanks for sharing. It’s really really awesome.

Be sure to drop in on Jason’s GDC presentation this year too if you’re a Maya TD.

Power Python Development For Maya

It is very nice post and i really like this interview and Jason Parks is my favorite.

Rigging Dojo presents: Power Python for Maya (Plus) by Jason Parks

If you missed out on seeing Jason Parks present his Python GDC class like we did, you will not want to miss this. He will be taking questions and has updated some content just for us (so even if you did see the GDC class, it will be something new).

:cool: Thanks Jason!

wooooooooooooooooooooooooooooooooooooooooow thanks for sharing this information with us .

Thank you so much.

wow accounts
runescape items
guild wars 2 gold

This interview was fantastic
thank you

I know this is old and at risk of starting another flame war (though I think that one’s been settled, here at least) if you haven’t switched up to PyMEL and Eclipse yet, here’s the hour+ rant with all the data.

If you don’t have access to GDC Vault, RDojo and I have re-presented with more content here:

http://www.jason-parks.com/artoftech/?page_id=294

P.S. - apologize for the slow beginning (dealing with the dog, etc.) :wink:

P.S.S. - Finally re-listened and noticed a glaring mistake: Chad Dombrova is the primary creator of PyMEL, not Chad Vernon (author of cvxporter script I was just going over). My Bad.

Thanks for a great and convincing talk Jason!

I was unsure whether to take the step towards PyMEL or not.
Then I bought the soundtrack from your GDC talk and got the .pdf doc a few weeks ago and the first thing I did after was to set up PyMEL and Eclipse.

I’ll have a look at the updated edition as well.

So glad you are having fun, Funny how Mobygames had to put up ads to those links above. Must have gotten a couple of hits and realized something was linking to it and they swapped out those ad images as placeholders.

Good interview, and good answers as always, Jason! Thanks for sharing.

Alas, Lulu.com is no more :x:, so I’ve finally updated, modernized, and re-released the ancient, seminal introduction to python scripting for MotionBuilder. I spent quite a bit of time re-formatting it in iBooks Author and released it on the iBooks store here:

Python Scripting for MotionBuilder Artists :D:

Mobile iPad link: iBooks2 Store Only works from iPad, not iPhone.

New features include:

[ul]
[li]Member function updates for MotionBuilder 2012[/li][li]‘Interactive Images’ of scripts with annotated code[/li][li]Complete glossary of terms, classes, and member functions used[/li][li]Links to online documentation[/li][li]New, easier to read formatting[/li][li]Organized Table Of Contents for quick access to sections[/li][li]Portrait view for faster scrolling[/li][/ul]

It’s pretty old but still a good basic guide to ramp you up when you need to dive back into pyfbsdk. I’m releasing it for special price for first month: $10. I’ll probably double it to $20 after the initial blast, that’s still a decent deal considering I had it on Lulu.com for $40. Corporate usual pays for this stuff anyway if you’re working at a company.

Give it a review if you like it, email me if you don’t. :wink: