Tim Fortenberry: Python and Wookies at ILM
Tim Fortenberry is a CG Artist currently working at Industrial Light and Magic. Before working as a Technical Director at ILM, he worked in ILM's Software Research and Development department as a Rendering and Pipeline Developer.
Tim was the author of a "Pythonology Success Story", which O'Reilly and Associates chose for a pamphlet to promote the use of Free/Open-Source Software technology and the Python Agile programming language. I'm surely not the only enthusiast curious to hear more about ILM's gear and R&D projects. As such, I tracked Tim down before this year's SIGGRAPH Conference for a short e-mail conversation on these topics.
Tim, what major [software] tools are in use at ILM (in terms of the ones you are allowed to speak about)?
The toolset of ILM is a pretty extensive list, but really it boils down to whatever gets the job done. We really try to maintain flexibilty so that we are not completely tied to one paradigm or software package. Of course there are some applications that are used more heavily than others such as Maya, RenderMan [ed: PRMan], and Mental Ray, but these are by no means the only ones, as we also rely heavily on proprietary software.
You mentioned [in your Pythonology Success Story] some really interesting collaboration tools, i.e. [Network] Chess. Care to elaborate?
Our asset management tool is created within a Python framework. What this means is that, much like Python itself, it is modular and extensible. This proves very useful not only for work-related applications, but also as a great outlet for creative programmers who have implemented various 'fun' applications such as a networked chess module and a instant messaging system (with user-definable stress levels, so people know when not to bother you).
What sort of challenges do you face integrating commercial and F/OSS tools?
This is always a challenge. With vendor applications, you have a defined set of parameters as to how to integrate their tools with your own. This is sometimes great and sometimes hard. With open source tools there is always the decision to be made as to how much time and money to invest in the integration of these apps. For some applications such as Python there is no work necessary as they are well defined and 'just work.' For others, such as whichever Linux operating system we are using at the time, they may mostly just work, but there is always more we can and will do to make our lives easier. Yet, in other aspects, ILM definitely sees the benefits of keeping open standards (see openexr.com).
How did you end up moving from VA [Linux/Software] to ILM - was there a pre-existing interest in animation, or did it just start out as an enticing job based on the interesting computing challenges involved?
Leaving VA Linux Systems (now VA Software) wasn't much of a decision. My heart was just never in the whole Systems Admin gig. For me it sounded much better to go work on something fun, even if I was making less money at the time. Interesting note though, my last day at VA was the day they filed for their record-breaking IPO, and no, since you're wondering, I don't regret it in the slightest.
I don't doubt it.
As for how I came to ILM, I actually did an internship at ILM when I was in school at UC Berkeley. Of course that ended at the start of a slow summer, so there wasn't much chance of getting hired then. But I must have made a good impression, as they called me back 5 months later to interview for a position as a developer here.
Tell us a bit about your studies at UC Berkeley. Did you have any involvement with ACM SIGGRAPH as a student?
At Berkeley I actually studied Anthropology with an emphasis in Archaeology, although I did take some Computer Science classes. The only reason I even got interested in Computer Graphics at all was kind of a fluke. While at Berkeley I got an admin job in the Architecture Computing labs (which doubles as an animation lab), and it was pretty much just the exposure to the students and their animations that turned me on to the field. As far as ACM SIGGRAPH is concerned, I actually was never involved as a student and my first SIGGRAPH was the year after I graduated.
I feel the startup culture models itself after creative industry, could you compare your experiences at VA and ILM in this regard? What's your favorite thing about your work environment these days?
That definitely seems to be the case with a lot of startups. Sadly, one of the hard things for startups to learn is how to deal with the impending corporate culture that will inevitably be necessary if they actually become the successful company they ultimately want to be. One great thing about ILM is that the corporate side of the company has always understood that their business model depends on encouraging a creative environment. Needless to say this can make it a very good place to work as people are recognized for what they do.
Have you created any Python or F/OSS related art? Care to share? :)
Sorry, not yet.
Did ILM work on "Anaconda"? Har -- that might be close enough. :-P
Well if you want to follow that path... No we didn't work on [the film] "Anaconda", but we did do the snakes [for] "Harry Potter and the Sorcerer's Stone" and in "Lemony Snicket's A Series of Unfortunate Events".
That's close enough for me - we can only ask for so much ;)
We have a few more questions which we pose to all interviewees, beginning with:
What first drew you to computer graphics?
Strangely I haven't really thought of it before now. I think initially I was simply drawn to the idea of creating visuals with computers. In my days as a sys admin I think I just got frustrated with making sure that computers worked, but then never actually creating anything with them. Now, of course, I love the challenge that comes with the job. There's always something new to do, and, if you do your job, in the end of the day there is something cool to look at.
Do you have any favorite CG mentors?
This is too big a list to write down here, but I think perhaps the most influential has been Craig Hammack, a CG Supervisor here at ILM. Not only is he insanely knowledgeable about most things CG related, but he always trusted me with way more than I thought he should have. That was always, and continues to be a great learning experience.
What was the first time you contributed to SIGGRAPH?
This year is my first contribution with the sketch "It's Not Wise to Upset a Wookiee". I'm co-presenting with Pat Conran.
Congrats! What year/city was your first SIGGRAPH? Which was most intense? Why?
New Orleans in 2000 was my first, although that may have been the most intense because it was my first SIGGRAPH. I have a sneaking suspicion that this year will top it as the most intense due to the fact that I am presenting a Star Wars related sketch.
What contributions to SIGGRAPH are you most proud of?
Well, considering this year will be my first official contribution, it's gotta be this year. There have been other years where work I've done has been showcased as part of a presentation made by others, but it's just not the same as talking about Wookiees. :)
What near/intermediate developments in CG do you look forward to?
Integration. As the tools get more and more advanced, and their APIs get better and better defined, I think there will be a trend to really get various vendor applications to work together more seamlessly. Currently, moving data between applications can often be somewhat cumbersome. I hope there will be a day when that sort of thing more or less just works and we can spend our time worrying about content as opposed to the tools themselves.
Do you think this is the goal of the vendors? At the very least, it sounds like an important development for the whole Animation/VFX industry that you guys are pushing for.
To a large extent this is already happening. Lots of vendors out there make products with the intent of having those products work with other applications. I have to think that it is only a matter of time before this practice becomes more universal and some more generic standards are developed that are not necessarily built around an application.
Are there any notable open-source tools which have been largely developed or contributed to by ILM, but are generally available and/or in use at large, or by other studios?
There have been lots of products that have started here and went on to be further developed as commercial products. However, usually because of the way that pretty much all of our software is intertwined or based around propietary information, it is often very difficult to release any apps as open source.
Could you give an example of some commercial products which began as internally developed software at ILM?