Wednesday, January 6, 2010

Technical artist's 2009 review

2009, hmm, what a year! Instead on focusing on all the bad things that have happened, I would like to take a moment and comment on all the great things that were accomplished, and lessons learned.

From the day that 2009 started I knew I had a long road ahead of me, although I wasn't prepared for quite how long the road would become. Since I suddenly had more free time on my hands than I knew what to do with I decided to fill it with learning and self improvement to make myself all the better candidate for when I would eventually return to the industry of choice and continue my career.

Starting off with what I knew best, I threw myself at my then nonexistent portfolio to at least show the world that, yes, as a technical artist I could in fact make art. And the more I worked on it the better I got. Of course it was sometimes hard to find the motivation to work on something that I had very little direction on, but I forced myself to overcome that one polygon at a time. While some of the earlier efforts may not exactly be the most stellar looking, I do like the originality of the content, and sometimes that's what matters most.

As the months went by and I was talking to some of my friends in the industry, I began to learn more and more about what it is to be a technical artist. Sure I could do art, but what about all the other technical aspects OTHER than art integration and problem solving? Could I write an animation exporter for 3dsmax or other tools to speed up production? Did I know enough programming to potentially pass as a junior programmer? Time to switch gears!

I remembered that many years ago I was introduced to Python as the tool for rapid prototyping and development of tools, but I never really looked into it very much because I was more focused on art and learning technology. But since I didn't have new technology to learn, I decided to take my C++ knowledge and apply it to other engines.

"Wow" is what I tell people, "Why didn't I pick up python earlier?" Seriously, why didn't I? It's great! After a few trial runs porting over some of my old console applications I was amazed at how much quicker and simpler the development process went. And what about C#? That too I never gave much thought because it "Wasn't c++", heh well, that too went out the window.

These two languages really are perfect for technical artists because they don't require innate knowledge of the deepest inner workings of C++, and because these languages are almost higher level than c++ as well. With so much functionality that happens behind the scenes it becomes easier for a non programmer to jump in and get things up and running quickly. And as for the speed, well, unless there is something critically important that needs to happen to thousands of files ever couple of hours, there really isn't any need to make simple tools and scripts run as though they were assembly optimized.

Now that I had a handle on some of the popular languages out there, what about making something for the tools that artists use? Programs like 3dsmax. Once again I toyed around with max scripts a few years back but never to any great extent, but the time had come to learn it and make something usable by artists all over the world. Enter "Ren Tools".

From simple beginnings of the gear creator, to my proudest achievement yet: the Convex Mesh Generator. For many years having worked on games with physics I had wanted a tool that would create a convex mesh for my physics chunks. Of course the options were almost non existent save for John Radtcliff's old plugin. Working a temporary contract back at Threewave I decided that a new solution needed to be made, and having developed a couple of scripts for my tool set in the previous months, I tacked my greatest challenge yet.

I ended up spending at least a week writing this script and learning more about max script and 3d math on the fly.The end result was something that worked the way I wanted it to, and other artists all round the world could use as well. Just install the script, select some chunks, and voila! At the push of a button each object has it's very own convex collision mesh, properly named and all :)

With so many programming languages in my head now, I decided to focus a bit on the art again, especially with the release of the Unreal Development Kit. Packed with many great new features I took my antenna scene and started importing it in to get familiar with a state of the art engine. It was a very nice change of pace to go back to pushing polygons around. Having learned the ins and outs of the engine just weeks earlier in the temporary contract, I thought what better way to put the knowledge to the test than to make my own scene again. Slowly I will be adding to it over the coming months to keep my art skills sharp.

As the year came to a close, I was once again wanting to learn something new, so I picked up XNA and had a go. "Neat!" C# makes game development easy! Within a couple of weeks I was already controlling my own creation around the screen and realizing a 5 year old dream of making a proof of concept the game I had been pitching around.

Again, for a technical artist XNA and C# are a great resource because of how quickly we are able to prototype and get things off the ground. Sure I spent quite a while learning and rewriting parts of the game as I was learning the wisdom of how and why games are made. Class inheritance for example, and tiling backgrounds, collision detection, etc. All integral to how games work, and lessons that could be used elsewhere in tools and scripts if need be.

But aside from all the necessary technical and creative skills I've acquired this year, it was also a year of personal growth as well. Working jobs out side of the industry with a lot of human contact and stressful situations are quite useful for learning much needed skills such as customer service, and how to manage people effectively. Skills that are ultimately transferable to the industry for dealing with deadlines, and writing documents that people will need to read, and just keeping an over all positive deportment no matter what the situation. Because hey, it could always be worse!

So now we're in 2010, and what's left to learn? Plenty!! Just recently I've felt the urge to play through Deus Ex again, and wouldn't you know it I came across a direct x 10 renderer that someone wrote. While not interesting in itself, what caught my attention was the fact that the author used fx shaders! Woot! not only have I been wanting to learn HLSL, but what a better way to do it than a new renderer for an old game? The renderer itself is bare bones, so it gives me the perfect platform for adding additional functionality. I'm starting small and simple by adding bloom. But from there, who knows!

With so much under my belt this past year, I know I am a MUCH better person because of all my experiences. I'm not sure how much longer this road of growth is, and there are many personal trials that I'm facing, but I just can't give up and settle for anything less than awesomeness. I need to learn more, do more, and be the best at being diverse. As a technical artist, I need to understand what is going on if I'm gonna be responsible for fixing it. And fix it I will, for myself, for the team, for the company, even for the industry!

They say that luck is when preparation meets opportunity. I'm more prepared now than I've ever been, and I'm looking out for any opportunity coming my way! :D Yay 2010!

No comments:

Post a Comment