Lovely work ! You mentioned "When lighting the scene, I used Light Functions to create the illusion of light passing through clouds, thus lighting the environment unevenly" do you think you could show what is the setup to get such a precise result ?(meaning highlight the area you want?)
Amazing art. I'm curious how the rocks manage to be such a natural part of the terrain! It really looks like they have been there for ages.
Great job and very inspiring! Thanks for sharing.
80.lv had the pleasure to talk with Aleksey Sheludchenko about his most recent UE4-project, which showcases incredible environment design potential of the technology. He talked about the production problems, the materials, assets, composition and the way he built lighting in closed medieval hallways. It’s a great look into the true power of UE4.
Hey! My name is Aleksey Sheludchenko. I am a freelance concept and a 3D artist from Winnipeg, Canada. I’ve always wanted to do 3D. Back in 2009, I took Digital Media Technology at Red River College here in Winnipeg. One year shy of my final third year, I landed a gig as a VFX artist at Opus VFX. It was a great experience with a bunch of super talented folks.
The program I took in college had a really heavy focus on the technical aspect of the craft. One thing that I’ve learned early on in my career is that the knowledge of software is not what makes you a good artist, a good artistic foundation does. I started learning traditional and digital 2d art while working a day job as a VFX guy. I took multiple CGMA classes with guys like Peter Han and James Paick. Most recently, I had an opportunity to be mentored by John Park and I couldn’t have wished for a better teacher to learn from.
One day I was approached by a friend of mine, also a 3d artist, who invited me to join a video game project. I was a gamer for as long as I can remember, since ZX Spectrum days back in Soviet Russia, so I couldn’t say no. Switching to gamedev after VFX was a steep learning curve, but what I lack in knowledge and experience, I make up for in perseverance and determination.
I’ve spent the last 3 years working on a variety of smaller game projects, doing everything from concept design to visual scripting and animation. 3 months ago I decided that it is time to give back to the community that taught me so much, so I’ve started a Patreon page called GameDev The Pipeline. Ever since I’ve been putting out tutorials, process videos, mentoring and providing feedback to my patrons. I discovered that teaching others can be a great way to learn and improve my own skills.
When I started the Patreon, I didn’t believe I could do it, so I decided to test myself. I live and breathe sci-fi, so I figured if I could manage to create something that is the direct opposite of what I would normally do (and end up with a result decent enough for other people to be willing to learn from me), then I could create anything. In the case of this scene, I wanted to create a backdrop for the character I had made last month. I felt like I wasn’t done with the theme and wanted to see the world and place my knight would live in. That was my motivation. From an artistic standpoint, it was a benchmark. I wanted to see how much I could design, model and texture in the span of two weeks. It is the first environment that I’ve done entirely by myself for a tutorial as opposed to working with a team on an actual project. It was important for me to explore my capabilities and to ensure that I could deliver content on regular basis.
Main area is 5000×2000 units, which is 50×20 meters in real life. The loose concept I had in my head was a rectangular dungeon/throne room with rows of columns supporting a low ribbed vault ceiling. I wanted to capture the architectural feel of Darksouls and Castlevania. The first couple of days were spent researching the architectural elements that I knew I wanted to have (i.e. I wikipedied and google image searched) to really understand how I am going to fit it all together. The cross vault arches were the number one item on my list. Building them to a grid and making sure that they tile properly together as well as work with other types of arches in the environment was a bit of a hassle, but nothing that a few iterations and a calculator couldn’t fix.
In terms of composition for video games, there are two main guidelines that I follow when arranging elements. The visual guide ensures that the scene looks good. The gameplay guide ensures that the placement of elements serves a specific purpose in game. I wanted to simplify the layout process, since level design was not the focus of this content release. I imagined this space to be either a boss fight area where the majority of gameplay is tied directly to the enemies’ move patterns, or, a room with friendly NPCs similar to a Firelink Shrine or Rosaria Bed Chamber in Dark Souls.
The way I approach the composition for a scene whose sole purpose is to introduce you to an enemy or a friendly character, is by building a hierarchy of focal points. This means I established one BIG shiny area that the viewer/player will not miss no matter what, and then built the lighting around it. Then I add secondary focal points that serve smaller gameplay roles. Whether it is a fountain that could replenish players’ health, an unfinished loot crate that could hide untextured treasures, or the jail door that contains the princess, all of these elements are arranged in a way that makes sense in terms of potential gameplay.
The focal area of the room is the throne of a gargoyle lord. It’s elevated off the ground and is framed with an overly complex arch that probably makes absolutely no sense in terms of architecture, but it does a good job at framing things. To really push the focal point further, I’ve added cool looking candle holders and a romanesque round window to give the viewer a peek at the outside world, without actually showing much.
Every asset has its own challenges and surprises. One of the most difficult ones for me was, surprisingly, the candles. I knew I wanted to have a LOT of them, and that they needed to look unique without any obvious repetition. I’ve never sculpted a melted candle before, and apparently it’s a really phallic thing if you don’t have enough experience sculpting it. So, I can’t show you my first few candle iterations.
Eventually I got a hold of the shape, attached my flame cards, and started randomizing them with scale. Shortly after, I realized that my cards were being scaled with the candles. I’ve ended up with a bunch of really skinny long candle flames and a bunch of tiny baby flames. It looked pathetic and I was already running out of time, so what should I do next? With the help of Zbrushes’ Nanomesh, I set up a candle randomizer template that allowed for virtually infinite variations in scale, placement, rotation and mesh versions. It had all of the fire cards on a separate Nanomesh layer to make sure that they did not scale.
Using this template, I decided that I wanted to generate up to 6 different candle clumps that varied in mesh density and scale. I ended up creating two meshes and then realized that I could just rotate and duplicate them in the engine to create extra variety. Fun story.
Texturing pipelines vary from studio to studio, depending on the project type and the target platform. The way I would approach texturing and material creation if the scene was a part of an actual game, is by doing extensive research and look development first. Once the main material types are established, they are combined into texture atlases that would be used to texture the majority of the scene. Things that belong to focal point areas (aka hero assets), would be textured individually with custom made details. Additionally, textures can be randomized by blending them in the engine using vertex paint or things like decal actors in Unreal Engine. Now in my case, I had two weeks to create a somewhat finished scene from start to finish. It was frantic. Here I’m doing look dev, then 45 minutes after, I am exporting a finished asset. I’ve picked an “art first, optimization later” approach. Thankfully, there’s a thing called Substance Painter these days. I’ve used painter for everything. This magical texturing tool allowed me to do quick look development and instant iterations. The best part is that it is relatively nondestructive. I can combine assets, change UVs, and even use my material setups to create atlases with little to no reworking, (which is amazing). That is going to be my next step in the process. In terms of materials, I kept it dead simple. I have a couple of “master” materials with all the PBR textures wired in, and the rest of the scene materials are simply instances with different textures plugged in. The candle fire material uses a noise map wired into world position offset, which animates the verts of the fire card to make it look more “alive”. It’s a cheap effect, but I didn’t have time to set it up in a more realistic manner. Given that the scale of the candle fires is so small, it will do.
It was a lot of tweaking and light rebuilding. I like to start establishing the lighting from the early blockout stages. It helps to judge the environment as I build it, and this way, the lighting evolves with the rest of the space. By the time I reach the dedicated lighting phase, I already know what works and what doesn’t, and what kind of lighting scenario I want in a specific environment.
Just like with composition, the focal point had to have the strongest graphic read. I started out by cranking the outside light really bright, and then made sure that the silhouette of the window was complex enough to provide interesting looking shadow shapes. The bigger challenge was lighting the rest of the space. I have several more focal points, and only one window with light coming through. I started inventing different types of artificial light. I didn’t want to have a torch every two meters, and at the same time, too many different lighting devices in the same area would look redundant and make the set less believable (unlike hundreds of candles on the floor). I ended up settling on wall torches, large “flame holders”, and candles. Those are the visible light sources. One thing players should never find out is that I also have been using top secret cheat lights. It can be really hard to light a certain part of the scene without affecting other areas. You crank up a light to make one thing brighter and end up overblowing the rest of the scene. Back in Maya software rendering days, you would fake GI by placing a bunch of fill lights all over the place to simulate light bouncing around. Super tedious, but it gives you a precise manual way to control brightness locally. So I started adding fill lights to the areas that I felt needed to be more visible in my Unreal scene. I set my fill lights to a very low intensity and disabled shadows to avoid any confusion with “real” scene lights.
The throne took about 2 to 3 days and the character took 10 days from start to finish. Both were very similar in terms of production. I started out with a loose 2d sketch to establish the overall proportions. The highpoly sculpt was done in Zbrush with several design paintovers along the way. The retopology and UVs were done in 3D coat and then textured in Substance Painter. The biggest difficulty for me generally starts after the art is done, when I have to start editing down all the footage into tutorials, and then try to explain my decision making process in proper English.
Overall, do you think it’s possible to keep the same level of detail in the environment, which is going to be used specifically for games? If so, how would you optimize this scene to keep all the necessary visual elements but make it less expensive?
Yes and no. There are always ways to cheat. Combining atlassed assets with unique pieces is one of them. When it comes to games, it’s all about the overall picture in my opinion. If you look at games like Witcher 3 for example, minor rocks and background bushes might look blurry if you crop zoom on them, but look at the whole picture, and it is freaking gorgeous! It’s all about making your audience look at the right things. Yes, there will be people who are going to complain that back at E3 it looked sharper, but optimization is just as vital for game development as the wheels are for your car. 20 percent loss in quality is nothing if it runs great, and doesn’t just sit rusting in your backyard.