Steven Skidmore - Darksiders and Houdini

If you like Darksiders then this is the perfect article for you! Steven is a Principal Artist at Gunfire Games and has worked on both Darksiders II and III. In this article we explore the processes that go into crafting the environments in Darksiders, Stevens incredible Houdini rock generation, and how Houdini was implemented in creating Darksiders III.

Introduction

My name is Steven Skidmore and I am a Principal Artist at Gunfire Games in Austin, Texas. I’m originally from Mobile,AL and attended college at the Savannah College of Art and Design in Savannah, GA where I received a degree in Visual Effects for Film. I’ve had a fascination with video games ever since I first played Super Mario Bros on NES when I was around 3 years old. Halfway through my degree I realized the gap between Film CG and game development was growing smaller and smaller, and I eventually decided that I wanted to pursue a career in game art. That choice ultimately landed me an Internship at Raven Software in Madison, WI and eventually a full time position at Vigil Games in Austin, TX. I’ve been in Austin ever since working at Vigil, Crytek USA, and now Gunfire Games.

Career Path

I began my career as an Associate Environment Artist II at Vigil Games working on Darksiders 2. Over the course of the project I was responsible for World Building and eventually asset creation (sculpting, low poly creation, baking, texturing, etc). Darksiders has always had a very iconic, stylized look to it, so there was always an adjustment period for new artists on the team to grow into the style. This was particularly true in the sculpting and texturing phase. After being tasked for a few months on some of the less important transition rooms and smaller dungeons, I was eventually tasked with creating some of the larger ‘hero’ boss rooms.

steven-skidmore-sskidmore-art-ds2-z1-02.jpg
steven-skidmore-sskidmore-art-ds2-z1-05.jpg
steven-skidmore-sskidmore-art-ds2-z4-03.jpg
steven-skidmore-sskidmore-art-ds2-z2-01.jpg

Over the course of Darksiders 2’s development I worked my way from Associate Environment Artist to a Mid-level position. Having been tasked with some major hero rooms early on, I was also able to work a lot in honing my sculpting and texturing abilities, learning from many of our senior character and environment artists. Eventually I was tasked with helping to look develop many of the new areas we needed to create as well as being given a lot of trust and responsibility to self-manage.

steven-skidmore-sskidmore-art-ds2-assets-01.jpg
steven-skidmore-sskidmore-art-ds2-assets-05.jpg

After DS2 and some other miscellaneous projects, Vigil Games eventually succumbed to the THQ bankruptcy. Most of the team reformed into what became Crytek USA. I was hired on as a Senior Environment Artist and spent most of my time helping the art team develop new pipelines to branch out from our stylized look. I worked with several other seniors to start implementing a Physically Based Rendering (PBR) workflow into our texturing pipeline, at the time using Quixel’s DDO software in its early beta phase. After a few years at Crytek most of the team formed a new studio, Gunfire Games. I was hired as a Senior Artist, focusing my efforts on leading small strike teams on Virtual Reality (VR) projects while most of the studio focused on larger console projects. Eventually we started working on Darksiders 3 and I was tasked with leading up the environment team early on in the project with a very small art team for pre-production and early development. I ended up look-developing and creating assets for most of the majors zones in Darksiders 3. During production I was promoted to a Principal Artist and that is where I am today.

sskidmore_sculpts_38.png
sskidmore_sculpts_33.png
sskidmore_assets_4.png
sskidmore_assets_11.png

Differences Between a Lead and Principal Artist

Every studio handles titles and roles a little differently. At Gunfire, Leads tend to deal with the management side of development alongside their own tasks where as Principals are those that are point people for outputting the highest quality work for their particular discipline. The roles are really interchangeable at the end of the day, however. We keep a more fluid hierarchy in which we allow anyone to participate in discussion and direction if they have proven they are skilled in their disciplines. We’ve had many cases where people with little-to-no experience (but with fantastic portfolios) have been hired and end up leading small strike teams or contributing to major portions of our games. A Principal or a Lead is someone that is exceptionally skilled in their discipline, has the experience to know how to problem solve issues that arise in development, and generally keeps a good attitude when the stress kicks in during tough deadlines.

Being a Principal Artist

Being a Principal Artist is both challenging and extremely rewarding. There is a lot of responsibility to solve major issues that arise, even when there is no clear answer as to the cause. For a problem solver type, like myself, this is very fulfilling. However there is also a level of added stress associated with this position because, at the end of the day, major issues need to get solved. Generally the person to solve these issues is a Lead or Principal since they have the most experience coming up with reasonable solutions not apparent to mid or junior artists. Because I have been on smaller development teams most of my career, I have (out of necessity) had to learn many different parts of the development process. As such I usually end up helping to solve problems across many parts of the Art pipeline here at Gunfire, whether it is modelling, texturing, materials, tech art, sculpting, world building, lighting, and even some basic animations when needed.

The best way we have found to keep the art team motivated is by not separating the leads and principals from the rest of the team. When everyone is down in the trenches, working toward the same objective, it is better for morale across the whole team. We have a pretty open floor plan and people can voice concerns in weekly discipline meetings. Leads and Principals try to be as transparent as possible with the rest of the team. At the end of the day, we are all working toward the same objective. It helps to know what is going on.

How to Progress to a Senior

When reviewing artists for promotions we typically look for those that have taken it upon themselves to ask for more responsibilities. Any artist that has become mostly self-sufficient in terms of being able to complete a task without much rework or additional time (barring any changes from say design or other disciplines) is always a good candidate for promotion. Contribution to pipeline efficiency and assisting in learning new software and techniques are generally good indicators that someone is branching out past their core set of skills, and this is something that is generally expected of a senior level position.

Procedural Workflows

Personally I see Houdini and other procedural software such as Substance Designer taking a larger and larger role in not only tool development but also general asset creation tasks. Automation of more tedious steps in art creation such as UV mapping, level of detail (LOD) creation, and collision will undoubtedly be automated in almost all pipelines by Houdini or some other proprietary tool. From this standpoint, the artist will be able to focus more and more on polishing tasks rather than wasting development time on monotonous work. Houdini has really opened the floodgate to a whole slew of possibilities in terms of world building and level propping. Prop placement, foliage placement, landscape generation, building creation, and many other tech tools will become much more prominent across all types of game studios, from indie to AAA.

Environment Artists should at least familiarise themselves with understanding how assets should be created for these types of procedural systems. Working with existing ideas and concepts of modular assets and kit creations won’t really change all that much, but understanding how these systems can then be leveraged inside of Houdini Engine to generate systems in a game engine will ultimately become an invaluable resource for any environment artist on a team.

How Procedural Workflows Have Impacted Steven’s Workflow

Houdini has totally changed my workflow and the way I approach asset and tool creation. I have found it invaluable not just for procedural modelling and engine tools but also for art creation tasks such as high poly creation, photogrammetry cleanup, automatic UV generation, automatic low poly creation, and many other things. Houdini is comparable to any other digital content creator on the market (i.e Maya, Max, Blender, Modo, etc) with the added benefit of being able to do very advanced functions and expression driven tasks with very little programming or scripting knowledge needed at all.

My initial process for creating a prop or object for game development hasn’t really changed much, but Houdini has given me a much larger toolset to utilise when deciding on the most efficient way to tackle a problem. For instance, rocks are generally something every environment artist will create at least once in their career. After sculpting hundreds of rocks throughout my career, it naturally made sense to try and procedurally solve this issue as it would make a large impact over not only my own efficiently, but also in maintaining style across our entire team. One example of this rock approach can be seen on my Artstation page for my strata rock project.

The approach to creating the rock was roughly the same in Houdini as it would be in ZBrush, but I had to think in terms of doing things procedurally. Noises and fracturing effects replaced brushstrokes and sculpting. Building up the forms and chipping away edges were driven more though boolean operations than ‘Trimsmooth’ and ‘Clay Buildup’ brushes in ZBrush. It is definitely something that requires a bit of forethought, but once you get the hang of breaking down the process into its most basic forms, those forms can then be approached one at a time and ‘procedurally’ created in Houdini.

Example of using 3D noise in Houdini to generate more realistic patterns for ‘high poly’ detailing

Example of using 3D noise in Houdini to generate more realistic patterns for ‘high poly’ detailing

One example of automating a particular part of the art creation pipeline would be automatically generating UVs for a mesh. There are hundreds of ways to approach this in Houdini, but one simple example would be isolating seams using a ‘Group’ node by a certain angle and using these to automatically update a ‘UV Flatten’ node.

Creating UV’s in Houdini

Creating UV’s in Houdini

The example image demonstrates this method. A ‘Group’ node is set to Type: Edge and the grouping is done by using a minimum angle threshold. Adjusting this slider will group edges only when they pass this threshold. This is one really simple method for doing UV seams on a hard surface mesh. This edge group is given the name ‘seams’ and passed into the ‘UV Flatten’ node. This node will unwrap a 3D mesh based on selecting edges in the viewport or procedurally if an edge group is specified. All we need to do at this point is feed in the group named ‘seams’ that was created and the flatten node will unwrap the mesh based on those edges. Finally a UV Layout node is used to pack the UVs into a great layout automatically, with settings to control rotation limits, scale, padding, and many other things.

Learning Houdini

Anyone looking to incorporate Houdini into their toolset should start by checking out YouTube for the many, many tutorials there. There are dozens of great artists out there with training materials. Some great resources include Simon Verstraete ( https://www.artstation.com/siver ), Kenny Lammers and his courses (https://www.indie-pixel.com/) , Rohan Dalvi and his training videos ( https://www.rohandalvi.net/home ), and the SideFX website (https://www.sidefx.com/tutorials/ ).

I would suggest starting Houdini by diving in and learning how to copy shapes to points and how to use attributes to control those copied assets. Copying is a huge part of procedural modeling and a great deal of the initial power of Houdini. In this example, I am taking a simple sphere primitive and copying it to points that are scattered on a basic grid (plane).

Example of copying spheres to points and randomising scale

Example of copying spheres to points and randomising scale

The number of scattered points as well as the seed for how they are distributed on the input geometry can be controlled with the ‘Scatter’ node. The simplest way to randomise scale is to use an ‘AttribRandomize’ operator to randomise the point attribute ‘pscale’. The attribute ‘pscale’ is an intrinsic attribute for points that determine their scale for many things such as copying objects to them, sweeping curves along them, particle meshing, etc.. By randomising the ‘pscale’ values on every point, the ‘Copy to Points’ node will scale each copied sphere to that corresponding pscale value.

The help documentation for any node provides a lot of information for finding local variables, expected attributes, and information on expression and functions that are useful for each node.

Houdini Help Documentation

Houdini Help Documentation

Learning how to use Expressions and Houdini’s scripting language ‘VEX’ to drive the inputs on nodes is something that anyone trying to get into procedural modelling should start experimenting with. One example of this is using a centroid function to always center your object to the world origin (0,0,0). You can use a Transform Node with the expression ‘- centroid(0, D_X)’ in the X value of the Translate section to center the mesh at 0 on the X axis. Regardless of scale or translation values on the input mesh, it will always center the model to 0 on the X axis. This approach can be used in the Y and Z axis as well, replacing D_X in the centroid function with D_Y or D_Z respectively. The Houdini help files for expressions can be accessed by placing your mouse cursor over the expression and hitting F1.

Advice to Younger Self

I would advise myself to try new software much sooner and to not be intimidated by programming or scripting. Even as an artist, Python has been super useful in making myself more efficient. I wish I had taken the dive to learn C++ or Python earlier in my career. Algebra and Trigonometry are also invaluable to tech artists and you’ll find yourself using dot products, cross products, directional vectors, and all sorts of math daily when making procedural tools in Houdini or even shader effects in Unreal. Learning Houdini led me to revisit many mathematical functions I had previously forgotten, which increased my understanding of manipulating geometry procedurally, helped me to create unique material effects in Unreal, and increased my general understanding of game development processes such as how normal maps bake and render. I can’t express how useful it has been even as an artist to understand the more technical side of computer graphics.

Cinematics

Most of the time we have at least a rough idea from Design of what is going to happen in a particular level before we even start blocking it out. There are usually rough ideas floating around concerning cinematics and camera placement. Generally speaking though we end up tweaking cinematics after the environment is mostly done so we can compositionally frame things better.

hattered wall and crumbling simulation done in Houdini for in-game cinematic

Shattered wall and crumbling simulation done in Houdini for in-game cinematic

Boss fight cinematics are a little different, and we usually work on the cinematics in tandem with design working out the character’s fighting mechanics. (i.e the intro boss in Darksiders 3, the exploding floor was something I was working on in Houdini simulations alongside a designer blocking out the sequence and and animator working out timing on the cameras and characters)

Floor slam RBD simulation used during a boss transition phase

Floor slam RBD simulation used during a boss transition phase

RBD simulation from Houdini used for another boss phase transition

RBD simulation from Houdini used for another boss phase transition

Feedback From Level Designers

Honestly it really depends on the studio and the expectations of each department. At some studios, level designers are modellers themselves and block out much of the levels in a 3D modelling program. This approach generally gives the world-builder or environment artist a much easier time in the block-out phase because they don’t have to worry so much about composition or game flow. Proxy geometry is usually just tweaked and replaced with final art. This generally makes the most sense in a more linear, narrative driven type of game with very specific story beats and cinematic events triggered in the world. Our designers at Gunfire usually block out rough ‘graybox’ rooms with a simple modular set that our environment team has provided for them. The block-out set fits the grid sizes that we have determined for the modular pieces the environment team will ultimately end up making. This approach gives the artists a lot more freedom to explore the compositions and prop placement in each room, but this added freedom also tends to lead to more re-work and more back and forth discussions with Design to fix issues with gameplay and general flow through the levels as things take shape. I’ve tried both approaches and they both have their pros and cons, there really is no ‘perfect’ way.

Helpful Junior-Mid Level Artist Traits

I actually find the most helpful trait in a junior to be someone that isn’t afraid to ask questions. Many times I’ve worked with juniors who are afraid to ask questions from seniors or leads. I would rather have them ask questions about a task rather than fumble around unsure about it or have to keep reworking an asset or level because they were unsure of what they were supposed to do. Asking questions or voicing concerns should never be something that you are afraid of doing, especially in an industry as changing as game development. Most of the time seniors and leads are learning new things as well and don’t always have all of the answers either. Not being afraid of asking questions and being hungry to continue learning new things are two of the best traits a junior artist can have. It also doesn’t hurt to have a good eye for composition.

Common Missing Skills From Junior Artists

Most junior portfolios we see tend to lack subtlety. Substance Painter and Designer have allowed many artists to reach a new level of detail in their models that they weren’t able to easily get before these programs. Edge wear and detailing has become much easier to generate procedurally on a model, but many times a portfolio will be overpowered by excessive amounts of detailing. A lot of times the height channel from Painter will be far too high, giving a really bad normal map overlay on edge chipping or general ‘wear’, and not allowing any place for the eye to rest. Much of an artist’s job now consists of balancing nuance and subtlety of texturing or detailing and not so much in the technical process of creating it. It’s very similar to the early advent of normal maps when everything was far too exaggerated and strong and wasn’t physically believable.

Another trait we often see missing is presentation. There is a lot to be said about properly composing and lighting props or scenes, even if the intent isn't to be a lighting artist or world builder. Even mediocre assets can look amazing with the right framing, lighting and even depth of field. Having an eye for this skill is much more desirable (at least to our needs) than being an absolutely amazing modeller with no eye for composition. Some skills are easily taught with experience (modelling, texturing, etc), while many other traditionally ‘fine art’ traits (composition, eye for subtlety, value, etc) are something that really sets apart an artist that will succeed.

Best Tools/Software For Artists Starting Out

YouTube, Vimeo, and other sites have really changed the learning process for game art creation. There are so many useful resources out there that just didn’t exist 5-10 years ago. This is a prime time to get into art for games, but it can also be overwhelming as to what software to choose and focus on. I would ultimately suggest the aspiring artist try and decide what exactly it is about game art that they want to do, and focus on software that is typically recommended for that position. Generally speaking if someone wants to be an environment artist they should familiarise themselves with some real-time game engine, Unreal and Unity are the 2 best examples. There are so many resources out there for learning both engines, but just learning how to navigate and the terminology would be a good starting point. For 3D modelling, personally I would recommend Blender. Blender has become a powerhouse since the 2.8 update and it is truly on par with 3ds Max and Maya in many aspects of 3D content creation. It is also totally free which is probably the biggest selling point to a new artist. Houdini is my go-to 3D software for everything tech or procedural. It is also free to learn with the apprentice version which has all features unlocked. For texturing, Substance Painter is mandatory and Substance Designer is definitely a major plus at most studios. I would recommend picking up a license for both. I own both and they have been invaluable for experimenting and learning outside of work. Marmoset Toolbag or Keyshot are both great for presenting and rendering out great shots of your work which, as I mentioned above, is something often lacking in junior position portfolios.

Looking over ‘Art Dumps’ from professional games is a good way of seeing what professional artists in the industry are doing and how they are presenting their work. Artstation is a great place to filter by particular categories and really narrow in on what makes a good screenshot or what type of presentation the ‘Top’ or ‘Trending’ posts are using to showcase their work. This can help a lot in teaching good composition and lighting. Plus Artstation is a great resource for small tutorials and tips from industry veterans.

Adjusting to Different Art Styles

When looking for new game styles I typically look at proportions and sculpting techniques first. Many styles are defined by their sculpting and texturing approaches (i.e Overwatch or League of Legends), while others are defined by their exaggerated silhouettes and or proportions (Team Fortress 2 or even Gears of War human scale). A lot of the characteristics of a particular style can be determined even in proxy geometry. Simply taking an asset and changing the scale and proportions away from how we would see that object in real-life is just one example.

Next I generally look at texturing approaches to try and break down how to achieve a desired look via texture or material effects (Borderlands). More realistic styles typically adhere to a Physically Based Lighting (PBR) model and many studios are also adopting real-world scan data through photogrammetry to use physically accurate models and texture maps in their games. More stylized games may decide to not follow a PBR workflow and instead rely on baking lighting information into their diffuse textures, typically through overlaying the green channel of an Object Space Normal Map over the painted colour information in the Diffuse texture. Highlights and shadows are generally also painted into the textures in this method to artificially boost the depth of surface details on the assets. Shaders can further exaggerate the style by creating different lighting models such as lambertian, phong, cel / toon shading, etc.. Finally, materials and post process effects can be layered on top of all of these choices in the game engine to add even more options to a potential art style.

Working on Darksiders

Darksiders is a really fun IP to work on as an artist. I had the privilege of joining Vigil Games around the time Darksiders 2 was in early look development. I was able to learn a lot of different texturing and stylized sculpting techniques from really talented artists. For Darksiders 3 we knew early on we wanted to visually create a more grown up version of Darksiders 2. We defined our approach to the style as something akin to a Pixar movie, meaning realistic material treatment with exaggerated shapes and proportions. Our approach was to sculpt assets in a similar way to how we did in Darksiders 2, but to adopt a more realistic PBR texturing pipeline in Unreal Engine. There were definitely challenges blending a realistic lighting model, physically based textures, and exaggerated proportions into something that read well in engine. Early on the game looked very similar to Darksiders 2, just lit with a lot of really nice bounce lighting and global illumination. As we progressed through development we began to incorporate Substance Designer into our pipeline and started to make much more realistic looking textures. We left much of the more realistic looking textures for the environment assets while characters still had a decent amount of lighting information baked into the diffuse textures. This proved to be a problem later on in development when balancing PBR lighting in Unreal as we had a hard time lighting characters. Proper PBR albedo (colour) textures have no lighting information baked into them. We ultimately had to go back through and balance the character textures so that we were able to light them correctly in Unreal. Ultimately I think we landed on a very cool blend of stylized sculpting and ‘Darksiders’ forms but with a more realistic material and surface treatment.

Early Darksiders 3 (Left) Compared To Darksiders 2 (Right)

Early Darksiders 3 (Left) Compared To Darksiders 2 (Right)

Darksiders 3 (Left) Compared To Darksiders 2 (Right)

Darksiders 3 (Left) Compared To Darksiders 2 (Right)

Planning New Areas and Maintaining the Games Art Direction

We rely on concept artists to help define the initial look of a new area. During the early look development phases, lead artists will work with the concept artists to experiment with different looks to try and land on something that meets both the narrative and the design expectations. The environment team will then take 1 or 2 of the key concepts and use them to create a single finalised room. This level is taken as close to art completion as possible so that we can experiment with different techniques and see if the style will read correctly when translating from 2D to 3D. This finalised room becomes the ‘target’ for all other areas in that zone or biome, and world builders will imitate this level when coming up with new ideas in the same area. Any time there are discrepancies that come up concerning the look of an area, we try and reference back to the concepts or the ‘target’ room to see where differences have arisen in style and approach and make fixes accordingly. This approach happens for any new areas.

Preventing Burnout

Personally I find that varying up what I am working on is the best way to avoid burning out. Houdini has opened up a ton of exploration possibilities and I find myself wanting to explore new ideas, even in my free time. I also spend time exploring procedural texture creation in Substance Designer and hard-surface workflows in Blender. The biggest suggestion I could give concerning burnout is to find something you are really interested in and try and work on it whenever you can to vary what you do professionally each day. I also try and spend as little time at night on computers as possible, spending time with my family is a good way to step away from work and reset for the next day.

Inspiration and Getting Feedback

Recently I've found Twitter to be a surprisingly useful place to post WIPs and little example images to receive suggestions or comments from fellow tech artists in both games and film. I've gotten a lot of useful tips and tricks from other artists through GIFs and short videos on Twitter. I’ve discovered a lot of tech and environment artists that I never would have run into otherwise. Artstation is another very helpful place to receive feedback on work. Posting projects has opened doors to connecting to other artists in the industry that are trying to accomplish the same things that I am doing. Finally, there is always the tried and true method of asking for feedback from fellow coworkers. Recently I started teaching Houdini classes during lunch at work and that has allowed me to not only help others, but also to get feedback and suggestions on my own work.

Future Work

Currently I am working on finishing up a procedural rock generator in Houdini as well as developing a root/vine tool to automatically grow vines on geometry. I’m planning on starting a Houdini tips and tricks blog series over on my Artstation page. Also, for more work in progress ideas and Houdini tests I try to post videos and GIFs on my Twitter page when it’s not far enough along to justify an Artstation post. You can also follow Gunfire Games for updates on some really cool projects we are working on!

Outro

Environment and technical art for games has come a really long way over the last few years and it’s a great time to be in this industry. Procedural approaches to art creation will continue to increase in popularity and effectiveness as more and more game studios adopt these workflows into their pipelines. Software for game development is getting better and better every year and I still find myself getting excited to try out new features when updates are pushed out for my favourite programs. Houdini and Blender are truly poised to be heavy-weight contenders in an industry where procedural asset creation is becoming more and more important. Substance Designer has opened up new doors in texturing pipelines and the procedural nature of Designer has allowed for entirely new modelling workflows to arise in which artists no longer model or sculpt but rather build complex forms with height data. Procedural modelling and texturing tools will continue to become more and more important in developing large games in a timely manner. I think it’s in the best interest of anyone working in or interested in game art to explore the power of procedural tools. Whether it’s a large scale AAA studio looking to speed up it’s pipeline efficiency or a small indie team looking to output a game on par with the biggest open world titles, Houdini and other procedural art programs are very quickly becoming essential tools for all game developers.