National Engineers Week alumni feature: Tom Thompson, Ph.D., '92
Computer science alumnus,
Tom Thompson, Ph.D., ‘92.
Tom Thompson, Ph.D., ‘92, is a WVU Tech computer science grad and a software engineer with a storied career in the film and video game industries. Based in Irvine, California, Thompson spends his days developing film software for Blizzard Entertainment, the studio behind popular video game franchises “Warcraft,” “Diablo” and “StarCraft.”
More importantly, he spends his days doing the work he loves.
Before landing in California, Thompson travelled the world. His father served in the Air Force, so Thompson spent his youth living in places like Maryland, Germany, Utah and Texas. During his freshman year of high school, the family moved to Martinsburg, West Virginia. It was there where he fell hard for all things computer science.
“They had a computer science lab and my sister took a class there. She was a senior at the time, so she would stay after school to work on the homework because we didn’t have a computer at home,” Thompson said.
“I would sit in the computer lab with her and play with the old TRS-80s that they had. That was eye-opening. I was amazed at what these things could do. Of course, those things were terrible compared to just about anything we have now,” he said.
Thompson found that he had a knack for punching in a few lines and making the machines do what he wanted them to do. He started reading Computer Science Magazine, which included sample programs. Thompson would study the samples and spend hours writing out his own programs. He’d bring his creations to the lab on his next visits to see what worked and what didn’t.
“It was exciting. I was very into it,” he said. “Because of that, my dad ended up buying us the Coleco Adam computer. It came out around the same time as the Commodore 64. It had dual tape drives and dual motherboards. I thought it was really nice, but it didn’t take off, so I was the only one I knew that had one.”
He still has it in his garage.
In the years since the computer lab in Martinsburg, Thompson has traveled the nation, furthering his education and building a prolific career as a software engineer.
Thompson attended Tech in the early 90s. He worked with professors like WVU Tech’s Don Smith, who taught Thompson and his peers to think like logicians and approach their careers as lifelong learners.
After Tech, Thompson attended Wake Forest University in North Carolina. He completed a master’s degree in computer science with a minor in radiology, then went on to earn his Ph.D. in computer science with a specialty in film at the University of Utah. Out of grad school, he headed west to California, where he took a job with Walt Disney Animation Studios in Burbank.
He said he still remembers his first big task at Disney. The studio was working on “Kangaroo Jack,” and the artists ran into an odd problem.
“They came in and said ‘when the kangaroo jumps, the jacket goes up and down and the fur goes through the jacket.’ They asked me to fix it,” he said. “I knew then that things were going to be interesting from then on.”
Thompson spent more than ten years at Disney, where he held a number of positions. He started out as a software engineer, developing tools for the studio’s artists. For a time, he led a group that did hair development. He supervised teams that created things like painting tools, hair system tools and shaders. After that, his love for the work brought him back to the design desk.
“I went back to being a developer after that,” he said. “For me, it’s a lot more fun to actually do the work than to direct it.”
While at Disney, Thompson was the lead architect on the XGen instancing engine that determined the behavior of different animation elements, such as feathers, grass, fur and even the candy sprinkles in “Wreck-It Ralph.” The program was first employed in “Chicken Little” to govern the behavior of the feathers on the title character. The engine has been used in every Disney movie since, including major titles like “Meet the Robinsons,” “Bolt,” “Tangled,” Wreck-It Ralph” and “Frozen.”
Thompson said his work on the engine is one of the most memorable projects of his career, and that it gave him a chance to take on some unique challenges, like Rapunzel’s fantastically long hair in “Tangled.”
“Most of the time, you’re just trying to use something that already exists, but in a way that makes it your own. The hair on Rapunzel? Nobody had done that before. Nobody had 70-foot-long hair that had so many controls in it that you had to create more tools just to let the artist control it,” he said.
“That kind of project presents all kinds of challenges. How do you make it drag along the ground? How do you make it avoid rocks and the people walking alongside her? How do you braid it and put flowers in it and have that all stick and work right? It becomes its own kind of research project at that point. You start testing limits and exploring capabilities,” he said.
The XGen software was eventually picked up by Pixar and used on films like “Toy Story 3,” “Cars 2,” and “Up.” Disney now licenses the software. It’s being used in small studios, at Blizzard Entertainment and at DreamWorks Studios.
“They have a forum online where people can ask questions and talk about things they’ve done with the software. Since I wrote the program over ten years, I can go on and I get to be the expert for that package. That feeling is very rewarding, having contributed to the greater community as opposed to just one studio,” he said.
A few years ago, Thompson decided to try his hand in the video game industry. He moved to Irvine, California to take a position as a software engineer in Blizzard’s film group. It’s similar work, but instead of feature films, the group creates cinematics that run during games. He’s working on things like crowd systems and lighting tools that help the artists make the films.
For Thompson, it’s this collaboration that makes his job so interesting.
“Of course, there’s a lot of time in front of the computer, but for my job in particular, you’re doing your best work when you’re collaborating with the artists and finding what they want or need. My customers are the artists, so there’s a good bit of back and forth and multiple iterations for one client,” he said.
Working with Blizzard has given Thompson new boundaries to test, and he said it’s one of the most exciting aspects about what he does for a living.
“Every now and again, they’ll come in and tell me they’re setting up something like a shot of 10,000 orcs marching along. They need them all to be marching side-by-side, at different steps, wearing different clothing, some carrying torches and others carrying banners. They can’t do it because they can’t even load all of that onto one computer,” he said.
“You have to figure out what you can do to make this work and still let the artists have some control over it. Those moments when production can’t just brute force something, you get a chance to tackle a real challenge,” he said.
For young computer science and computer engineering professionals heading into the field, Thompson said pushing boundaries is going to be part of the day-to-day as concepts like hardware rendering and multi-processing are finding their way into the industry.
“For a long time, Moore’s Law ruled, where computers just got faster and faster at certain intervals. That’s kind of tapping out. You can’t just keep making processors with smaller and smaller wires on them. Eventually, you’ll not be able to physically do it. So now it’s about multi-core computers and computers with accelerators in them,” he said.
Thompson said that this emerging tech is both an opportunity and a challenge. Advanced processing can perform multiple complex tasks simultaneously, and will enable programmers to do more. However, there’s little in the way of established programming languages or troubleshooting resources for those working with multithreaded programs.
Even so, he sees a future full of potential for software engineers just breaking into the field.
“When I started, computers were like toys. They weren’t that powerful. Now they’re everywhere. It’s hard to do anything without touching upon a computer at some point. Desktops, laptops, tablets, phones. Most of us have one on us right now. There’s no shortage of ways to get involved in that field and contribute to that,” he said.
Throughout his career, Thompson has been an active member of the Association for Computing Machinery (ACM) and the association’s SIGGRAPH community. He also played tennis and said he’s a big fan of professional sports.
He has two young children, and working at a video game studio has understandably elevated him to rock star status among their friends. He’s also been coaching a youth soccer team for the last few years, and said that parents of students considering a college career in computer science often ask him for advice.
“I tell them to stick with it. People don’t realize how much work it takes. Ask for help when you need it. Rely on your professors and your peers. It’s definitely worth it when you can get into a field that you enjoy,” he said. “I worked a long time to be able to choose my job. It makes a big difference when you make the choice that is right for you.”