Hellgate London Developer Diary 2: The Art


Written Erik Koehlert, Technical Artist - Flagship Studios

Working on Hellgate London has been a great opportunity. Previously I'd worked on platform and sports titles on console hardware; upon joining Flagship Studios I was finally able to experience PC development for a sci-fi/fantasy game.

 Advertisement

Working as a technical artist I have been exposed to many challenges and worn a variety of hats throughout development. My job has involved creating tools and workflows to facilitating art creation and asset tracking, writing specifications and tutorials, creating ragdolls for monsters and characters, particle effects for guns, evaluating, polishing, and processing contracted art assets, rigging and animating many of the weapons, troubleshooting, testing, r & d, and ambassador between artists and programmers. Put it this way, no two days are the same!

Repetitive, tedious tasks are a nightmare for most artists. Animation packages like Autodesk 3ds Max provide a general toolset whose potential is left untapped if you do not customize its tools, plug-ins, and scripts to suit your project. Some simple Maxscript tools can save hours, days, even man-weeks of time over the course of a project. An animation export that involves setting the frame range, selecting the object and bones to be exported, setting the type of animation compression or processing parameters, naming the files properly and making sure it is going to the right place and checked into source control can eat up a good chunk of time if you are doing hundreds of these each day by hand. This was all automated to happen at the click of a button and tracked and displayed with a spreadsheet style interface to speed up viewing, sorting, and to change things quickly. The script was able to communicate with Perforce, a plug-in for max called Character Animation Toolkit, Havok plug-ins for animation and physics, Granny plug-ins for mesh export, launch Photoshop files and open explorer file browser windows pointed to various asset locations. I love being able to create tools like this that allow artists to spend more of their time making and polishing art instead of waiting or getting bogged down with a bad process.

Putting the game's visuals together was no easy taskPutting the game's visuals together was no easy task

Working on a small team has allowed me to do brief stints creating particle effects. Our proprietary engine and particle effects tools allow us to create some really cool effects. One of my favorites is the monster known as the Fury that has transparent glowing tentacles that undulate in space and smoothly react to her changes in motion with the proper lag and change in direction. The dark seraph flame column involves three or four emitters that extend an expanding beam down from the sky and sends flames down and outward as it hits the ground. Also the Morpho Senior has a cool drool particle effect that emits more droplets when the change in acceleration of the emitter increases; when this happens he drools more when his head is jostled when running or when hit by a player.

Ragdoll physics using Havok's Physics are activated during most character and monster deaths. Creating ragdolls involves setting the range of motion, constructing a proxy collision mesh usually with capsule or box shaped objects, choosing a joint type (usually ball-and-socket or hinge), setting surface friction, setting friction torque, and setting masses for each limb. My favorite part is testing the finished ragdoll. I use the Havok previewer to grab, poke, and even pick up a ragdolled monster or character in real-time and shake him around, throw him, and drag him to test the physical parameters against a test environment. If he jitters, breaks apart, or gets launched by the slightest touch I go back and adjust parameters and test him till his weight and reactions seem more realistic. The variety of monsters in Hellgate London necessitated having to create a unique ragdoll for almost every one of them. Automating the setting of certain parameters through maxscript and utilizing the hooks provided by Havok made this process go much quicker. A maxscript was created to set the proxy masses and torque frictions in the joints based on capsule volume and total weight of the joints child proxies respectively.

The variety of organic and inorganic weapons as well as four monster types (demon, necro, beast, spectral) sporting everything from multiple limbs, the ability to carry and wield random weaponry, wings, tentacles, bone scaling, animation blending, and movement types (ranging from walking, running, flying, phasing, crawling, and slithering) required a lot of testing and research to figure out what skeletal system set-ups worked with our mesh exporter, animation, and physics exporters in our proprietary engine. Havok Animation was in development at the time and we worked closely with their engineers to fine tune the toolset and code base to make it flexible enough to handle all of our needs.

The variety and customization of the looks for our randomly generated loot and monsters was enhanced through the use of a spreadsheet driven "wardrobe system" that composites geometry and textures together to create a multitude of combinations of model pieces, each with different texture combinations, that in turn may also possess a palette of color selections overlaid or multiplied over the diffuse texture. Spreadsheet entries on this scale can become a prime place for errors to occur if typos or improper data is entered. Coming up with naming conventions and tools that aided in the naming and data entry of asset names and their respective file paths became more and more important as the number increased during the course of the project.

Tools were made to help out the artists working on the gameTools were made to help out the artists working on the game

External contracting of art assets has been a mixed bag of benefits and shortcomings. The size of the company and my varied background made me a good candidate to initially handle specifying, processing, and evaluating the external artwork. I would get the concept from the concept artist, write up a specification, process and evaluate what came in. As the project progressed, the sheer amount of assets needing specification, evaluation and processing took the majority of my time. I was also learning the ins and outs of how to best manage this process since this was my first taste of working with external artists to this extent.

Common recurring questions with external contracting were: Does it take less time to fix it yourself or send it back? How much do contractors do and how much is post processed to get it into the game? How do you keep the flow going so both parties are happy and kept busy without lulls or crunches? How do you keep the external artists you started with or the ones that did the evaluation tests on your project? We had to learn many of these answers as we went along and some, we are still figuring out.

Eventually more people were finally hired to fill this role. I look forward to getting back to doing technical art tasks and filling in where needed in the other areas as well. The sheer variety of tasks and number of people I interact with at the company has made my job really challenging and exciting. This industry is full of so many people with different skill sets and backgrounds and the bar for what people expect to see requires being able to adapt quickly and always being on the lookout for ways to save time and effort.