John Waynick shared a detailed breakdown of his Warhammer-inspired environment made during GAI's Environment Artist Bootcamp.
In case you missed it
See more GAI student works
Introduction
Hello. I’m John Waynick, and I’m a 3D Environment Artist. Art has been a major part of my life since I was around 4 years old. My career itself has been a weaving path through art, design, programming, and teaching. I’ve picked up a lot of skills from all of those experiences though. I’ve been involved in 3D art since around 2003 and I took my first step into game art at the University of Advancing Technology in 2007, later discovering Gnomon in 2009.
I’ve played the role of environment artist on a few different projects since 2011, and most recently have been working professionally in the enterprise VR world. As cool as VR is, I was watching the desktop gaming world advance rapidly and I wanted to get my teeth sunk back into some non-VR environment work. I got myself involved in the Environment Artist Bootcamp at Game Art Institute and during that time created my Warhammer: Age of Sigmar inspired environment. You can find the project on my Artstation here.
Warhammer Defiled Lands
Environment Artist Bootcamp at GAI
I had been listening to Ryan Kingslien’s Game Artist podcasts for about a year, so I knew about the bootcamp. I wasn’t in a position to shell out the money for it, nor did I think I really needed it because I had been building environments for 8 years now. But one day, when the whole of my life just seemed off and I wasn’t happy with where I was as an artist, something clicked in me and I decided to apply for the Environment Artist Bootcamp even though I had no way of paying for it. One quick phone interview later and I was accepted. Without hesitation, I took out a personal loan and took the leap.
I immediately began reaping the benefits. The bootcamp itself was not about beginner tutorials for me, but rather more about all those little triggers that make your art stand out and really grab attention. I had the honor of having Ryan Kingslien as a general mentor and Henry Kelly as an Environment Art mentor. Everyone who comes into the bootcamp gets something different out of it, especially since there is a lot of individual focus. My case was no exception. I knew all of the workflows and had all of the major skills already. What I didn’t have was that fully developed artistic eye. That was my personal gain from the course.
With the help of Ryan and Henry, I was able to find what I needed to grow to the next level as an artist. The bi-weekly critiques from each of them helped drive me down the right path. Before the bootcamp, I had a tendency to settle on early iterations that were certainly not the best they could be. There was a major turning point in my scene where I had settled on a weak composition but was running with it. Henry stepped in with a critique that made me realize it could be better. So I scrapped my comp and rebuilt the scene layout based on Henry’s suggestions. The whole project leveled up tenfold after that. Ryan said I learned a good lesson about how sometimes you have to “Kill your darlings” before you can see the better options.
All in all, the Environment Artist Bootcamp gave me that extra push to be the best version of me I could be. I also made quite a few new friends in the community. I am very thankful to have had Ryan Kingslien and Henry Kelly as mentors.
For anyone looking to really level up their skills as an artist, the bootcamp is absolutely worth it. You can sign up for it here.
From Tabletop to Desktop
I love my video games, but I’m also an avid tabletop gamer. My wife and I probably spend at least 12 hours a week playing a tabletop of some kind. Our dining room table spends more time as a landscape for games than it does as a place to eat. One evening when I was getting ready to paint one of my Warhammer scenery pieces, The Bell Tower, I thought it would be cool to model it in 3D.
I hadn’t figured out what my environment for my capstone project at GAI was going to be yet. I thought: Hey, I’ll work on this for a week to keep my skills sharp while I decided on an environment. Of course, as soon as Ryan Kingslien saw what I was building, he said, “This is it. This is your environment.”
I, being the stubborn artist that I am, said, “Nah, this is just a quick one-off hero piece. I’m still choosing what my actual environment will be.” It didn’t take long for him to convince me, though. I started to think about the last game of Warcry (a Warhammer quick skirmish game) my wife and I played together and how cool it would be to get down into the world and experience it on foot. There are a lot of Warhammer video games out there ranging from Warhammer: Total War to the recent Chaosbane, but they tend to approach games from an overlord or top-down perspective. I wanted to approach my scene from the ground perspective. So I imagined what an action RPG somewhere between The Witcher and Dark Souls set in the Warhammer: Age of Sigmar universe might be like. And so, the journey began.
Importance of Modularity for Level Iteration
A big challenge right from the start was that I didn’t have any concept art that I was working off of, so no definition of a scene layout. My source of concept was the miniature scenery pieces sitting on my kitchen table. So I dove straight into building a modular kit. I knew that no matter what my final scene composition looked like, the modular kit was going to be essential to building it out and keeping everything uniform.
I used primarily one particular set of Warhammer scenery - The Defiled Ruins from the Warcry skirmish set - as my concept. I started by blocking out the main architectural pieces I would need to start building out a level. Then I took it into Unreal Engine and started defining my kit.
With the basics of my modular kit blocked out, it was time to put on my level designer hat. Having built this kit out, it was very quick to iterate on designs. I spent a lot of time running around as the UE mannequin, trying to build out an interesting area to explore and fight in.
I took it to the point I was okay with. It was certainly a fun area to run around in. I even imported in a combat system and enemy AI I was working on for another project to test out the gameplay space. I was satisfied with that aspect of it, but I wasn’t entirely happy with the composition of any of my still camera shots. Regardless, I had made a lot of progress to show off during the first day of Henry Kelly’s class.
The first critique I got from Henry was on the composition. I had built a level that felt good for gameplay, but it just wasn’t good for portfolio beauty shots. His suggestion was to flip the scene horizontally and take a golden ratio approach to the composition. He said he felt kind of bad because of how much work it would be to adjust the level layout after how far I had gotten.
But thanks to the power of Modular Design, it took 20 minutes. The most tedious part was resculpting the terrain. The modular kit made everything else easy. Henry was happy with the result, Ryan was happy with the result, and I was happy with the result. Arguably, this was the most important day for me in the entire bootcamp. I don’t think any of us realized how life-changing that 5 minutes of feedback from Henry would actually turn out to be.
Building a Digital World Based on Miniatures
Game Art Institute has some great classes on sculpting miniatures but what I was doing was effectively the opposite. I was taking a tabletop world and translating it to a video game. The biggest challenge I faced right from the start was the scale. Miniature scales are heavily exaggerated. Since this environment was going to be from the ground perspective, I wanted the scale to be more believable. I was going for a more realistic fantasy aesthetic. I did most of that scale translation in the initial Bell Tower hero piece. Once I figured it out there, it wasn’t too difficult to carry that over to my modular kit pieces.
I figured the scaling in the blockout phase. I had done all of my initial level design with the blockout kit to reaffirm that my scale translations worked. After that, it was time to make those blockouts pretty.
I took a very traditional approach to the creation of each piece. For architecture pieces that needed to snap together, I used the blockout meshes as my bounding box and proceeded to model within the lines. For props, I was a bit looser with my bounding box rules but still used the blockouts as my guide. My high poly workflow was pretty typical. I took a construction mesh approach in Maya, then took it into ZBrush to sculpt in the details. The usual stuff. It was the low poly workflow where things started to change.
I had been introduced to Houdini just a couple of weeks prior. I knew of its existence for ages but never looked twice at it. Thanks to all of my experience in Unreal Engine and Substance Designer, I was very comfortable and used to a node-based procedural workflow. With the help of Ryan’s introduction to Houdini training, I was able to set up a machine inside of Houdini that allowed me to procedurally generate game ready meshes and their associated LODs from the high poly models. The mechanical process is similar to ZBrush’s decimation functionality, but the results come out much cleaner and it’s easy to adjust a couple of parameters for different results. Is it cheating to not manually build out the low poly geometry? Some might say so. In a world where gamers are demanding increasing graphical fidelity in an increasingly shorter amount of development time: I would call it efficient.
This process also allowed me to make great use of Unreal’s LOD functionality, which I feel is vital to a successful open-world environment. Which of course, was what I was unintentionally building. I wanted everything to look smooth and detailed up close, then take advantage of LODs as you walked away from them for performance. With Houdini, it took only a couple of minutes to take my high poly down to a collection of LODs. For example, one of the palisade pieces was 22k triangles at LOD 0 and went all the way down to 3.7k at LOD 4. Another solid example was the brazier which was 5k triangles at LOD 0 and less than 1k at LOD 4. After final construction and thanks to the LODs on everything, it held up at 45+ FPS on my old GTX 1080 running in editor. I was happy with that for a portfolio piece. If the scene was going to be used for gameplay, however, I would definitely spend some more time on optimizations. On my next project, I also plan to build in some batching functionality to automate the LODs even further.
Houdini was also instrumental in making the ruins feel ruined. I was able to take my architectural pieces and run them through some nodal networks I constructed in Houdini to fracture and scatter. Essentially I would run a fracture algorithm on the piece, then simulate the drop from above and let digital gravity do the rest for the scatter. Some minor cleanup and UVing of the inner bit and I had debris.
Database Driven Modular Design
Modular design is an interesting beast. It was initially described to me as “building legos and then building stuff with those legos.” I was building a pretty ambitious environment here and I had a limited amount of time to do so. The timeframe goal was essentially 10 weeks “From Concept to 80 Level.” So I definitely want to take this moment to thank 80 Level profusely for allowing me to reach the end of that goal!
A big part of making this happen was to take a modular approach. Model as few pieces as I could get away with, make them look great, and reuse them everywhere. Another important thing I wanted to tackle was solutions to quick iteration. So the same as most of my Unreal environments, I took a Database Driven approach. But what does that actually mean for an environment artist? It’s actually pretty simple with Unreal Engine.
I set up a master Blueprint that did one thing: it imported a mesh and a secondary mesh from a Data Table based on the row it was told to reference. The aim of this Blueprint was to offer a single actor in Unreal that you could drop in and change variants based on a dropdown. The next piece of the puzzle was creating a Data Table that had a row entry for every combination of meshes I needed that would equal a single modular piece. This Data Table was off of a struct that only had the two meshes: Primary and Secondary. There was always a primary mesh, but the secondary was optional.
Then, for every major category of asset, I created a child blueprint and an enum list of all of the variants for that category. Each entry in the enum referenced a row in the Data Table. What’s really cool is that enum variable types show up as dropdown boxes in the details panel without having to do any extra work. Then, with these set up, I could drag the Blueprint into the scene and change it to the variant that I wanted by changing the dropdown selection. For example, my Ruins Wall Blueprint has the setup for Wall A, Wall A Broken, Wall A Open Air, Wall B, Wall B Broken, Wall B Broken Alternate, Wall B No Grate, ArchWall, Arch Wall with Door. I can change which wall it is just by changing the dropdown selection. This makes it easy to completely change the architectural layout of an entire building in less than a minute.
With the modular kit in my arsenal, I could make use of just these few pieces to construct the scene. Paired with decals and vertex painting for variety, I was able to keep it interesting. After that, I made use of some Megascans assets for clutter like rocks and some debris assemblies to help set dress and liven up the environment. I followed the rule of three here, which basically means that having 3 variants is very efficient at masking repetition. Lighting played an important role in this too.
Another way to help with variety in a scene like this is to make the most use of 3D space with your major props. For example, with the brazier, I made sure that all 4 sides were unique enough to add variety. I could set four of them next to each other and they would not come across as the same asset. Little details are all it takes. Big details stick out and repetition becomes more noticeable. My approach to a four-sided object is to make two sides bland but varied enough to not look the same sitting next to each other, a medium detailed side, and then a heavy detailed side. So when playing with angles, I effectively have four objects.
Texture Machine
Texturing was especially important in this project and was my absolute favorite part. My favorite thing about any kind of tabletop miniature game is painting the miniatures. Miniature painting can be a very long process with tiny precise brush strokes and multiple layers with no undo button. As much as I love it, painting environment scenery is a very slow and tedious process if you want it to look good, and a mildly slow, tedious, and messy process when you just want to get it done. Texturing digital assets in today’s industry is a much faster process. Just like with a painted miniature, textures really define the 3D world.
For the texturing, I used primarily Substance Painter. One of the first big secrets to a good texturing job was to make sure the high poly was high quality. Substance Painter’s baking tools have become really solid and are able to quickly bake out not just the standard maps like normals and ambient occlusion, but also all of the helper maps like curvature and position. These baked maps become really essential in making the best use out of Substance Painter’s generators. So you definitely want your high poly meshes to be the best they can be so you get some really good baked detail.
What’s great with Substance Painter too is how quick and easy it is to rebake, even after you’ve done a lot of texture work. You’re nearing the final stage of your texture job and that one crack just isn’t collecting dirt as you wanted it to? Easy. Head back over to ZBrush, push the crack just a little further, export, and rebake in Substance Painter. Now you have the crack updated and you didn’t have to disrupt any of the previous work you’ve done at all. Substance Painter will just use the new baked maps to rerun the dirt generator you were using. It makes iteration so much quicker. It used to be daunting to go back into the sculpt to adjust detail just because of the tedium sometimes needed to bring your texture layers back in sync with the new bake. Substance Painter completely removes that anxiety.
Texturing inside of Substance Painter can seem complex, but it’s all about your process. I use material IDs to designate out the different physical materials on the object. Then I go to town with my process. I start with a base material, add some extra roughness variation, color variation, and value variation. Next up, I tackle the gradients. Objects tend to get dirtier towards the bottom, so my bottom gradient is typically darker and dirtier. Likewise, the top tends to collect dust and things like sun bleaching for outside objects. So for the top gradient, I go lighter. After that, I like to add a layer for edge highlights. Don’t underestimate the importance of the edge highlight layer. How you layer it can be a huge defining factor between stylized and realism. These are the basics I do for every unique texture. Gradients don’t work out too well on tileables and I usually do smaller localized gradients for trim sheets. But other than that, my process is almost always the same.
Once those basic processes are done, the fun really begins - Usage and Environment Effects. This is where all your dirt, paint chips, etc come in. This is where you have to take the time to really think about this object, where it exists in the world, and how it has been used. I believe this is an extremely important aspect for an environment artist in both making the prop believable and making all of the major props look like they fit in the same environment.
Using the brazier as an example, I had to think about several different aspects. These guys are typically outside, so I added a muddy layer to the very bottom. I also had grime climbing up from the bottom. The tricky part here was that some of them were also inside. So I needed to play with my mud and grime to find a happy medium where they fit in with both scenarios. Another usage aspect of the brazier was the ash that collected from the fires and how, as it piled up, it would seep over the edge of the bowl. These little details are what really helped define each of my assets for this scene.
Lighting, Post-Processing, and Tying It All Together
Planning, building, and texturing the environment is only half the battle. All in all, I think it took about 6 weeks to model, texture, and layout everything. I spent the next 4 weeks on the final 10%. Lighting was one of my weaker traits, so it was great to spend some time really refining those skills and learning as many tips and tricks as I could. Composition was another one of my weaker traits and since I wanted the end result to be cinematic, I got to undertake a crash course in composition techniques not only for still shots but also for film. I spent a good deal of time on getting the lighting, fog, and compositions to really reach the aesthetic I was going for. Henry was able to provide me quite a few lighting tips for exterior environments that were especially helpful.
Another part of the polish stage was the post-processing effects. Thankfully Unreal Engine’s post-processing tools are really good. Color grading was really important to the final mood of the scene. I wanted the environment to feel cold with just a spattering of warmth from the fires. After I got that just right, I spent a lot of time adjusting fog, depth of field on cameras for each shot, and tweaking the contrast.
After 10 weeks of working on the environment, I walked away with some shots I was happy with and a cinematic I was even happier with. I’ve also got another treat cooking with this one too. I’m working on a collab with Riccardo Gianotti to bring one of his Warhammer characters into this environment, so keep an eye out for that.
John Waynick, Environment Artist
Interview conducted by Kirill Tokarev
Keep reading
You may find this article interesting