Game Development Community

dev|Pro Game Development Curriculum

2004-10 Danny Ngan: Animated Animator

by Alex Swanson · 11/04/2004 (2:17 pm) · 10 comments

Danny Ngan is one of the best-known artists in the GarageGames community, as well as being a fantastic educator and all-round awesome guy. His excellent Maya exporter interface and documentation are the most recent of his oustanding contributions to the community. In this interview, Danny ranges from his past projects to future prospects, sprinkling in a generous helping of smart advice for game artists and independent developers.

GG: Danny, you've been involved in the game industry for a long time. What are a couple of the most interesting projects you've worked on so far?

DN: The very first game I worked on at Dynamix, Radio Control Racers, was a very interesting project for me. First and foremost, it was my first game ever, and it holds a special place in my long list of projects. RCR was a very simple game. You drove a radio controlled race car from the driver-stand point of view. There was a single camera view that panned across the tracks with the cars. From a technical standpoint, RCR wasn't a really challenging project to work on.

What was most interesting for me were the tracks themselves. We used a layered mix of 2D images and 3D geometry to create the tracks. The underlying 3D layer consisted of relatively simple terrain and collision geometry. On top of that was a high-resolution, pre-rendered 2D image of the track with all the fancy details like bump maps, specular maps, reflection maps, video post effects, custom lighting, raytraced shadows, etc. It was basically a fake.

We were able to keep a sort of 3D feeling to the game while taking advantage of all of the rendering, lighting, and texturing effects we could get from 3DS Max. For me, working on the tracks gave me a great opportunity to learn a bit more about real-time 3D as well create some incredibly beautiful and detailed imagery using the skills I had already picked up while in school.

Interestingly enough, many of the "traditional" 3D skills I used for the project -- bump mapping, specular mapping, reflection mapping -- couldn't be used for most of the games I worked on after that. Now that the shaders and the Torque Shader Engine are upon us, those same skills are coming back into play for me, and I can leverage what I've already learned years ago in current and future projects.

Another interesting project that I worked on is the animal animations for Poacher, Exileworks' current game. As an animator, it was a joy to be able to animate so many different types of motions for a variety of animals. In the course of 3 months, I got to animate things like an elephant charging, a tiger running, and a rhino goring a target. I was also teaching animation at the University of Oregon at the time, so it was the perfect balance of education and practical application for me.

GG: When did you start practicing 3D art, and what got you into it in the first place? Do you have any tips for people that are just starting to learn?

DN: I first got into 3D art way back in 1993 when I could finally afford my very own computer. I started learning a variety of old 3D programs from back in the day, including Ray Dream Designer, Alias Sketch, and Hash Animation Master, all on the venerable Apple Centris 650. It was powerhouse at the time with a 25 MHz 68040 processor. Cutting edge.

3D was very intriguing to me, because it seemed like I could create almost anything in the digital realm. It appealed to both the artistic and technical sides of my brain. It also presented a unique challenge for me, because, at the time, there weren't many people outside of the film industry doing 3D work. There were no online tutorials, because the web barely even existed at that time. There weren't any books in the bookstores. It was just me, the sparse documentation that came with the software, and a lot of time.

I'm glad that I learned 3D the way that I did. I read the documentation that came with the software. I went through a lot of trial and error to truly understand how and why things were done. There were no "right" answers, just different solutions to the same problem. That is still the case today. I actually read the documentation and help files. I do a lot of experimentation in 3D to see how different options work, how to solve the same problem with a variety of solutions.

That is actually one of my pet peeves with people just starting to learn 3D. They don't read the plethora of documentation and tutorials that come with the software and are available online. People have done the work and have shared that knowledge. Read what is out there. The vast majority of it is free for taking, so why pass it up. Don't expect people to hold your hand through every step of the process. You have to do the leg-work yourself. There's an old saying out there that has something to do with teaching someone how to fish...

GG: You taught some art classes right next door to GarageGames, at the University of Oregon here in Eugene. How was it being a teacher?

Being a teacher was a blast. I really enjoyed working with students who were genuinely interested and excited about learning art, animation, and 3D. It was a great learning experience for me. I got first-hand experience with discovering how people learn and how best to teach people who are at a beginning level.

I was also forced to really understand what I was teaching. Not to sound insulting or anything, but when teaching people with little to no experience with the subject matter, one has to essentially dumb things down to a level that even the novice can understand. In order to do that, I have to really know my material inside and out. It's really hard explaining how real-time 3D works to someone who can barely check their email or navigate a website.

GG: How did you find out about GarageGames? What keeps you coming back to GG and the community?

DN: In October of 2001, my then-roommate Joe Maruschak, of BraveTree Productions fame, told me to check out an IRC channel named #garagegames. He said that there were a bunch of guys in there who were getting into game dev, and he thought that I might be able to contribute in some way. Three years later, I'm still here.

Although I spend most of my time working for larger studios, I keep coming back, because I really like the tight community that we have. Most of us only know each other as nicknames on IRC or IM, but there is still a very solid sense of camaraderie. We share common interests and goals. It doesn't matter if some of us are doing game dev as our primary jobs or just for fun. We're all here to do one thing: make great games.

GG: Well, no matter what keeps you coming back, we're certainly glad to have you around. Your sessions at IGC are always a big hit. If you could give Indie artists one piece of advice, what would it be?

DN: Master your craft. Whether you are a charater modeler, a texture artist, a level designer, an animator, or any combination of the above, you need to be proficient at what you do. Learn your tools thoroughly. Truly understand how things work and why they work the way they do. Anyone can learn how to use software. A valuable artist is one who understands why the software works the way that it does and knows how to effectively use the software's features to their fullest potential.

Part of mastering your craft is non-stop learning and practicing. Technology changes very quickly, and you have to keep up with it in order to remain competitive and valuable in this industry. Keep practicing your craft. Mileage is incredibly important to keeping your skills honed. The more you practice, the more productive you will be later on down the line.

GG: You help with the Maya DTS exporter for Torque (a new version of which was just released on your site www.dannyngan.com), and write documentation for it. Your work on the Maya exporter and its documentation has helped literally thousands of developers. What inspired you to start the projects, and what keeps you motivated to keep them up-to-date?

DN: Before I started working on the Maya2DTS Exporter scripts and docs, I was using Maya for a variety of freelance projects as well as teaching it at the University of Oregon. I was also heavily anti-3DS Max at the time, because I had used it long enough to become intimately familiar with all of its flaws. It was a typical "the grass is greener" scenario, so I was very much enamored by what Maya had to offer.

As soon as I heard that Clark Fagot was writing a DTS exporter for Maya, I jumped at the opportunity to help test out the exporter. Unfortunately, the exporter was just that -- a way to export Maya files to DTS from the File > Export menu. I still had to setup everything in the scene by hand, which was actually an incredibly tedious process. The basic shape hierarchy was easy, but manually creating all the custom attributes for sequence nodes was a royal pain in the a**. Also, I was accustomed to some of the features of the DTS Utility in 3DS max and wanted to emulate as much of that workflow as I could. So, I started writing some MEL scripts that would eventually became dtsUtility.mel, the GUI front-end for the exporter.

Keeping the docs and dtsUtility up-to-date isn't too difficult. Now that they are online and functional, everything is pretty much routine maintenance right now. The thing that motivates me to keep everything up-to-date is the community. People use the docs and my script. I get regular emails and IMs from users asking questions about using Maya with Torque and thanking me for writing the docs. I even had one guy send me a $25 donation, even though I didn't have any donation links on my site. *That* was pretty cool.

GG: Can you talk about any of the projects you're working on now? Both in the Indie space, and for larger studios?

DN: Right now, I'm working as a 3D artist with Microsoft's Flight Simulator group in Redmond, WA. It's primarily a "3D grunt" job -- mostly modeling and texturing. I do get some time to work on scripting every once in a while. While I can't say which product I'm working on, I can say that it does involve airplanes.

On the Indie front, I'm working with Robert Brower on his upcoming Horse Content Pack. I'm supposed to be working on the horse's animations, but with a full-time day job, it's tough to find time and energy to animate in the evenings and weekends. The animations will get done... sometime. :P

I'm also in talks with GG about some potential projects with GG Press and maybe some training. I think my background in teaching and training will definitely help get some good content for GG. Things are still up in the air, but I'm excited about the possibilities.

GG: Technology is, of course, always changing. What changes in technology in the last few years have had the most impact on you and your work?

DN: This isn't necessarily directly related to game dev, but I'd have to say that the advances in mobile technology have impacted me the most. In the past couple of years especially, laptops have become increasingly more powerful and are now at a level at which you can be very productive doing 3D work on a mid-range system.

Also, with WiFi becoming more commonplace, it's very easy to find a hi-speed connection from just about anywhere. With a laptop in hand and a WiFi connection, I am no longer tied to my cable modem at home nor the LAN at work. Even when I'm at home, I use my wireless network while lounging on the couch in the living room. I have the freedom to work pretty much wherever I want.

This freedom has done wonders for the way I work. I can work where it is most comfortable for me. If I don't feel like being cooped up at home, I can just pack up a laptop, head down to Borders Bookstore or Starbucks, grab a cup of coffee, and sign on to their WiFi network. In fact, many of the IRC regulars know that I frequently sign on from somewhere other than my own apartment or work. Freedom is a good thing.

GG: Let's say you have a bunch of talented, dedicated programmers at your disposal. If you could have them develop a brand-new 3D art tool for you, what would it be?

DN: Hmm... that's a very tough question. I'm pretty happy with the 3D tools that I use now (Maya and Max). If the programs can't do what I want, I can usually find or write a script to accomplish what I need.

Features really don't mean much to me anymore. Every program has feature X or some variation on it. What's more important is how the features are implemented and how much hassle it is for the user to access them. For me, it is all about the workflow.

One thing I demand of the tools I use is customization. I want to be able to remap all of the hotkeys to suit the way I think. I want to be able to create custom menus, pop-ups, and toolbars for my frequently-used options. I want to have the option of rearranging the entire UI if need be. And I want to be able to create new tools through a flexible and powerful scripting language.

I guess if I had a team of developers to create a new 3D art tool for me, I would most likely rip out my favorite parts from Maya, Max, Softimage, Modo, and any other 3D program I've used and smash them together into a new beast with a fully customizable UI and scripting system that not only provides feedback for every single action that you do (menu selections and button clicks included) but also gives you access to the guts of the program. This program would probably only be useful for me and me alone, but it could be my uber 3D tool. I don't think it would be that hard to do.

GG: Your resume is very impressive Danny, and I'm sure you can go wherever you want to in the industry. What do you think you'll be doing in five years?

Thinking about what I'll be doing in five years.

I'll still be creating artwork for games. I might be at a big studio, or I might be doing Indie work. Maybe both. It doesn't matter where I work or who I work for. I love making artwork for games, and that's what I'll be doing.

#1
11/04/2004 (3:11 pm)
Cool beans Danny :)

It's interesting to read these interviews GG, keep em up.
#2
11/04/2004 (3:30 pm)
Definatley a great read! Danny is a great person, and very helpful to many people, CONGRATZ! :D
#3
11/04/2004 (5:38 pm)
Thanks for doing the interview, Danny. :)
#4
11/04/2004 (6:58 pm)
Nice interview Danny, your UI and docs are gold :)
#5
11/04/2004 (8:58 pm)
Danny - Thank you for all your contributions. You bring so much to our community - I really appreciate your willingness to assist game artists at whatever level they're at and inspire artists to improve both their art and skills. If we had awards for best speaker at IGC I know Danny have been nominated every year.
#6
11/05/2004 (4:50 am)
Cheers to Danny.
#7
11/05/2004 (4:53 am)
Very nice interview, i am from programming background, don't know what question
to ask, just starting to buy some 3d tools, conten packs, ... , what is artist team size
in a larger studio for game project ? 5, 10 ?
#8
11/05/2004 (5:38 am)
How could I pass up on commenting? :) Glad to see you recognized Danny, you've always been very helpful.
#9
11/07/2004 (8:58 am)
Hey Danny,

Excellent read
#10
11/13/2004 (10:49 pm)
Wow, didn't realize there were going to be comments here. Hehe...

@Kefan Xu:
Art teams at larger studios vary depending on the project. I've worked on teams with only 3 artists as well as on teams with 10. Just depends on the budget, the amount of work, and a variety of other factors.

@Everyone else:

Thanks everyone for the kind words. Although I'm working for the most un-indie company at the moment, I still hope to find some time to contribute to this wonderful community.

Hopefully, this will be the first in many artist developer spotlights. I know there are plenty of artists in the community who deserve recognition for their great contributions.