This August I had my first shipped title: The Bureau XCOM Declassified. Looking back, I started as a Technical Artist and am now an Engine Programmer. I would like to review what I have been working on in the last two years.
At the beginning of 2012, I joined 2K Marin as a Technical Artist. I was given one to two weeks to get myself familiar with the customized Unreal Engine 3, then started to work on the weapon decals, including creating some textures, shaders, setting them up with corresponding weapons and such. When this was done I moved on to optimizing existed master materials and creating new ones as we needed. I learned a lot about Unreal’s material editor, shaders, and many awesome tricks to get great looking materials. At the meantime, I insisted the FX team to create some advanced materials, to achieve visual goals on agent powers. I got to work with people from different departments: FX artists, modelers, animators, designers, programmers to get the final FX into the game. In the summer with the team’s interest in Nvidia’s PhysX/APEX, I did early research on the tools, built prototype, tested on PS3, Xbox 360, PC, profiled performance, and communicated with Nvidia about bugs we encountered.
As my interest in shaders grew, the limitation of the material editor started to show. I was given the opportunity to build a parallax occlusion node in the material editor. From there my work gradually transferred from art to tech. I started to create customized material nodes for artists, including ones with HLSL code inside material editor, and ones that need modification of engine source code. Next I implemented an affordable subsurface scattering rendering on PS3, Xbox360, and PC, also came up with an easy and cheap way to fake anisotropic on the above platforms. Later on as we approached alpha & beta, I got to fix a lot of bugs, varying from rigid body not colliding with static meshes on consoles, to region of screen rendering incorrectly in battle focus; and resolve performance issues using profile tools on different platforms. From time to time I also got requests from artists to modify engine tools to fit their needs. This period was when I learned most and fastest, I was exposed to almost every aspects of the Unreal Engine 3 from cooking to rendering, had to dig into the source code and found out where went wrong for us. I really appreciate this experience.
Now with the game released and we are moving on to next project, I have been studying Maya API in the last few weeks. WebGL is also a fun toy to play with on the side. I’m looking forward to learn more about game development. :)