Art Pipeline Tools in Game Development
Empowering Artists: Streamlining Game Art Production with Innovative Tools
The tale of transforming outdated software and toolsets into an automated, artist-friendly platform showcases the fusion of technology and creativity, propelling production speeds and game art quality to new heights
The Toolset
My journey with Lion Game Lion Studios and Starbreeze was a journey of innovation, creativity, and a relentless pursuit of efficiency. The game titles we worked on, such as Payday 2 and Raid WW2, were powered by Starbreeze's Diesel engine.
At the time, Diesel was viewed as somewhat archaic—a rudimentary software that presented numerous challenges for artists due to its outdated and non-intuitive toolset.
Much of our art team's time was spent not on creating world-class art but wrestling with the limitations and inefficiencies inherent in their tools.
For instance, artists were required to manually construct collision meshes, which could consume between eight to ten hours for a moderate model. In the fast-paced realm of game development, this wasn't merely a bottleneck but a significant roadblock.
Extending the Art Tools
I was the lead of the game art team, and daily I witnessed firsthand the struggles my team faced. The inherent inefficiencies were not only time-consuming but also sapped the creative energy from our talented artists.
The Diesel engine, with its archaic systems, was becoming a hurdle rather than an enabler. As we navigated the maze of its outdated toolset, I realized that innovation was not just an option; it was a necessity.
It was evident that manual processes were holding us back, and there was a pressing need for automation. If we were to meet our ambitious targets and maintain the high-quality standards we aimed for, a change was imperative.
That's when the idea of developing a new set of tools to speed up our production took root. Instead of working harder, we needed to work smarter.
Automatic Collision Generator
With a focus on efficiency, I turned my attention to one of the most time-consuming tasks: constructing collision meshes.
Using Python and Modo SDK, I engineered a Foundry Modo plugin that could generate automatic collision meshes of types:
box
cylindrical
convex-hull
with just a click of a button.
Moreover, the plugin boasted a fully automatic mode, smartly detecting polygon islands and autonomously creating collisions tailored to each island's shape. This innovation was transformative.
The laborious process that previously took eight to ten hours was now accomplished in a mere five minutes. The immediate uplift in productivity was enormous.
Freed from the shackles of mundane tasks, our artists could channel their energy and creativity into sculpting the visual wonders that would captivate our game's audience.
FOUNDRY MODO AUTOMATIC COLLISION GENERATOR TOOLKIT IN ACTION
Automatic Texture Compiler
However, the challenges with the Diesel engine extended beyond collision meshes. Another significant obstacle was the process of texture compilation. Diesel required .dds textures, which necessitated 'tagging' with special information at the file's end. This tagging process was managed by a console application and had to be manually performed by an artist for each texture update.
Furthermore, various map types (specular, gloss, etc.) were distributed over RGB channels, meaning that if you were working on these maps, you needed to combine them one by one, save, re-tag, and refresh the engine. Additionally, these maps didn't adhere to any of the industry-standard workflows, such as specular/gloss or metalness.
This process was burdensome, and it presented another opportunity for automation. I developed a texture compiler that could automate the process of saving, tagging, and refreshing textures in the Diesel engine.
This tool proved invaluable to our artists, who could now work with separate images for specular, gloss, and reflection textures. The compiler would merge these textures in specific channels, save, re-tag, and refresh the engine—all of this was done automatically, freeing our artists to concentrate on actual design work.
The texture compiler also featured a 'watch mode,' which would automatically update the engine via socket connection whenever output textures were saved.
This feature facilitated seamless work in Substance Painter, Designer, Photoshop, or any other tool, with the engine assets automatically updating each time we saved the textures.
This was a game-changer that significantly accelerated our production speed.
AUTOMATIC TEXTURE COMPILER IN ACTION
AUTOMATIC TEXTURE COMPILER MAIN USER INTERFACE
The compiler was developed in Python, with PyQT employed for the user interface. I also designed a custom PyQT skin/qss that emulated Modo's visual aesthetic, ensuring that the texture compiler seamlessly integrated with the primary 3D tool we used.
The compiler offered both manual and fully automatic recompiling modes. Additionally, I implemented a 'watch mode', allowing users to monitor selected presets or all presets, essentially providing a 'set it and forget it' experience.
AUTOMATIC TEXTURE COMPILER PRESETS
The compiler operated on the principle of texture presets. Within each preset, textures were organized into distinct sets.
The compiler differentiated texture sets by examining names; when multiple textures shared a name but differed in type, they were recognized as unique sets.
Moreover, texture types were automatically identified based on their suffix, with the appropriate properties then applied.
The compiler also had the capability to combine textures like specular, glossiness, and other effects into the correct RGB channels for specific texture types.
Work Less, Be Smart
Developing these tools was a fulfilling experience. By leveraging Python and PYQT, I was able to create tools that significantly improved our production process and overall art pipeline.
It was deeply satisfying to see these tools reduce manual tasks, enabling our artists to focus more on their craft.
When you provide artists with efficient tools, it clears the path for more uninhibited creativity.
This experience reinforced my values of smart work and the importance of having technology that complements, rather than hinders, artistic expression.