Sarvesh Shashank talked about the workflow behind the Viking Hut project, explained how textures and asset placement help with storytelling, and shared how the composition was handled to create points of interest.
Hey guys, I am Sarvesh Shashank, an Environment Artist from Ranchi, India. I am 22 and currently working at Technicolor Games with an experience of 3 years in this industry.
My interest in choosing this career came from my school days. I was always interested in fine arts like sketching and drawing. I also enjoy watching animated movies and playing games. These things inspired me to make a career where I can have the opportunity to pursue my artistic passion and get to work on games.
I have a diploma in 3D Game Art from Arena Animations, which taught me the basics of different software used to make game art, and the rest is from the internet. After this, I was lucky enough to get my first job at Sumo Digital, India, as a Trainee Artist and was promoted to Junior Artist in 3 months, I had a good experience working on some cool unannounced titles there.
Some of my recent achievements include getting featured on Unreal Spotlight and I feel very joyful to share this video:
Creating game environments has always been my passion as I enjoy making fictional worlds where even the sky is not the limit and imagination is everything. In addition to being a gaming buff, my hobbies include sketching, photography, and traveling.
The Viking Hut Project
This project started as an inspiration after playing Assassin's Creed Valhalla. I was very inspired by how Ubisoft represented medieval England. They almost looked like paintings: the colors, the lighting, and every detail appeared magical and beautiful.
I wanted a similar scene for my portfolio and was lucky enough to find this great concept by Zimmy.
I took his concept Rune’s Camp for the basic structure of the house, the rest I followed were mostly screenshots from games like The Witcher 3, AC Valhalla, and some real-life pictures.
While creating any artwork, I try to implement some of my creativity and thoughts beside the original concept. Hence I planned to approach this building differently while keeping the concept art in mind. I wanted the scene to be a bit more vibrant and have a colorful vibe to it while making sure not to overdo it at the same time.
I wanted to add a happy morning vibe to the scene, hence I decided on a color palette with a similar feel. I took some screenshots from the game and tried to follow the same color palette with a bit of adjustment in a few places. It was more of an inspiration than just copying.
Through this project, I wanted to stress the storytelling part a lot, and all of it started with the building. I wanted to make a Viking hut, not the one from Scandinavia but the home of the Vikings who moved to England in search of a new life other than raiding and looting.
Vikings mostly made their houses from wood (at least from what I have seen on Netflix and games), but in this project, the architecture combines Saxon and Viking architecture. I also planned the landscape to resemble the English landscape during summer.
This guy is a master of creating things, be it woodwork, weapons, or buildings, they all look great. He is highly skilled in wood sculpting and has a forge where he creates weapons with perfection.
He is also very popular in the market since he has already packed numerous carton boxes full of shipments ready to be sold. The paths connecting to the house show that it is a busy place where people visit for trades.
I started with the basic blockout of the entire building first and gradually kept on adding definition to it. During this phase, I mostly wanted to get the proper silhouette and scale of the building and assets.
I spent a fair amount of time just planning things at this stage as once you have a well-laid plan, everything goes seamlessly.
After I had the whitebox ready, I used those basic shapes of different props in the whitebox as proxies and modeled them separately. I used those shapes as scale references and added details to them gradually.
I modeled almost all the assets and props for this project and to save time, I needed proper planning beforehand to make sure I didn't get overwhelmed.
I tried distinguishing between different assets and props. I separated a few assets which I wanted to make with good detailing and regarded others as simple generic assets where I wouldn't be putting much time into creating them.
- Simple Assets
For the generic props, I used the Weighted Normals workflow. I created game-ready models for these props with enough edges and bevels and applied Weighted Normals over them.
- Hero Assets
For detailed assets, I wanted to practice some environment sculpting in ZBrush.
I got inspired by artists like Ivanna Littschwager and Dannie Carlone, who are great artists of sculpting environments. I wanted to do something similar in my project.
In order to model these assets, I created basic meshes in Maya by only focusing on their overall shape. After that, I DynaMeshed them in ZBrush and did the rest of the sculpting using brushes like the Orb brush, Trim Smooth Border, Trim Dynamics, and Mallet Fast. For the micro details of the wood, I created some alphas in Photoshop and applied them using a Displacement brush.
- Additional Tips
While creating detailed assets, I focused on making the workflow faster and more
effective. While doing this, I found a great trick to create high detailed assets in no time. Using this technique, we can produce some highly detailed assets without spending too much time. Here is what I did to create the stone base of the pillar:
If you are facing trouble while sculpting because of the mesh topology, I suggest duplicating the SubTool, DynaMesh it (which will remove the poly paint), and then project the original mesh over the DynaMeshed one to get the poly paint back.
We can use this technique to create assets and could get high detailed outputs without spending too much manual work.
The building and its large parts were mostly game-ready meshes with all the bevels and large details modeled to them. Although the base structure of the building was not modular, I tried to use modularity on all the smaller assets, like the windows, fences, and planks.
All the shape deformations and damages in the building were directly modeled into it; while modeling it, I made sure to add enough vertices to support a good vertex painting in the engine.
Creating an entire environment from scratch can sometimes be overwhelming and time-consuming. To overcome this, I used some Megascans assets in my scene, majorly for the filler background props like the stones in the background and some ground details. I also used Megascans for the foliage and trees.
Texturing is the important storytelling element of the scene. It is the texture that defines how old something is, what material it is made of, etc. I used different approaches for texturing different types of assets.
I gathered tons of references for the texturing before starting the scene as concept arts don't define much material. In most cases, you have to do your research to understand the textures.
- Simple Assets
For the simple assets, I didn't use anything fancy. It was just basic texturing in Substance 3D Painter with lots of surface variations, which I created using layers and masks.
While I was texturing wood, I used software called Materialize to create tileable textures out of photo textures. It's free and works great for me. Here's the link for more information:
While most of the simple assets were textured uniquely, a few were textured in the engine using tillable textures like with the planks.
- Hero Assets
For the detailed assets, I always used unique textures as they all had baked maps and
expected to have some cool unique details. I will share the texturing process of my door as I used the same technique for all other unique assets.
For the door, I created a primary wood tileable texture in Substance 3D Designer because I couldn't find any suitable photo texture on the internet.
I used that tileable wood texture as the base material for the wooden parts. I duplicated that wood texture layer and applied some filters to change its color and hue.
I later used some masks to apply that edited texture on top of the base material, which helped me to create color variations in the wood. I continued the same process for the entire thing.
Using different generators and grunges was very helpful in adding dirt and roughness variations. The curvature and AO maps were very useful in making the details stand out. It's always better to add large sculpting details in ZBrush that we can later utilize as curvature maps.
During this time, I took a lot of feedback from friends and seniors. I thank Vamsi Kalangi and Anshul Sharma for providing me with great feedback while texturing these assets.
Once the assets were done, I created a simple shader for them in Unreal Engine 4 with some parameters to control a few things like roughness, albedo color, emissive, etc.
I have acquired most tileable textures of my scenes from Textures.com or the Megascans library. In many cases, I also used Quixel Mixer to blend different textures to create a new one.
While texturing the building, I created some base materials in Quixel Mixer. I blended the height map of the bricks over the cobb wall texture to make it look like painted bricks, which made the textures look more interesting than the simple plain painted wall texture as it was before. Blending bricks on top of the painted wall gave the depth to the textures that I was looking for.
After creating the base material, I used the Megascans plugin to create a blend material of cobb wall, bricks, and stones, which I blended in the engine using vertex color painting.
Here’s a simple way to create a good blending material using Megascans plugin:
After creating the primary vertex blending, I later improvised the building texture using decals. I used leaks and cracks in various places to break the feel of the tileable textures to make it look natural.
For the roofs, at first, I wanted to use just a tileable texture, but it was not giving the desired output, it looked very flat and fake. To fix this, I created some roof shingle meshes and placed their UVs over a tileable roof texture.
I later used this same tileable texture in UE4 to texture these roofs. This way, I got a few roof shingle meshes, which I later placed over the roof manually in the engine. It was a tedious job but was worth it.
I used height maps to create some primary mountains in the engine, which I used in the background. They made the scene look massive and infinite, like the real world.
While texturing the mountains, I created an automatic landscape shader that works according to the slope of the landscape. It changes the texture according to its slope angle. For the sharp cliffs, I used the stone texture, while on the soft areas I used grass.
I also used distance blending to hide the repetition of textures when seen from a long distance just by adding a blend of lesser tiling values of the same texture, which will show up when looked at from afar.
I used material functions to organize the shaders and added nodes to allow me to manually paint the landscape, which came in handy for texturing the landscape around the house. I used multiple variations of grass and mud to get a realistic feel of the landscape. I added parameters in the master material to edit the colors of the textures whenever needed.
You can learn how to create this shader by watching this video:
Set Dressing & Storytelling
I believe the placement of assets in a scene helps to tell the story behind it. The way we put things together defines the personality of the person who lives there. It helps us connect to the scene and compels the player to feel immersed in the level.
It was a never-ending process as anytime I could feel the necessity of adding one more asset to the scene.
During the set dressing, I first worked on the basic details of the landscape as it was the largest part of my scene. Once completed, it acted as a sandbox where I could experiment.
I created a simple landscape in UE4, which I then sculpted using the engine's sculpting tools. I also painted some generic foliage at this point to get the overall look of the landscape. While painting the foliage, I made sure to use only the types of grasses and plants which suited the house. I changed foliage colors to define the feel and season.
I also did a simple sky setup. For the sky texture, I used an HDRI map as it gave me more customization when it came to clouds and the overall look of the sky. I created a simple sky shader with few controls like the sky rotation and brightness.
After completing the landscape, I started replacing the building blockout with a detailed version of it. Adding the building first helped me understand what directions I was heading as it was the most necessary scene element.
I followed the concept art for the basic house structure but tried to implement some of my ideas while making some parts of it. Like in the back area, I replaced the well with a forge to add better storytelling to the scene. Now I can see the character of this house and the one who lives in it.
Thank you, Akshay Raj, who provided some great ideas for the storytelling.
While placing the props, I tried to do it in a way that they look more natural and real. One of the best ways to get this feeling is to make sure never to place any props perfectly aligned to the grid. It allows things to look imperfect and natural.
I scattered some objects to make it look like little accidents that helped make the scene look alive and lived-in, like the apples scattered on the ground, tools falling around, axes stuck on the bench, bricks not being arranged in proper order, and so on.
These are small things that add life to the scene. Humans always make a mess wherever they go, so making the scene look messy makes it relatable.
I tried to fill up most of the negative spaces with something that looked natural and relatable. Like, for the building walls near the forge, I added a torch to make the wall area not look blank.
While adding details, I was also careful not to overdo it and made sure to add some areas for the eyes to rest. It's necessary to maintain a balance between the clustered and less clustered areas while creating a scene.
I also tried to make the world look massive and without any boundaries. And for this, I placed lots of trees and some mountains in the background. These helped me block the eyes but in a way that looks real, adding paths between the trees also helped me to establish that there’s more world behind those woods.
Before starting to light the scene, I gathered tons of references with different moods and then decided which one I wanted to go with. I also took a lot of ideas from my friends and seniors at this point.
I decided to go with a bright summer morning vibe for this level. I wanted an environment with a chill and happy morning feel, the same as the first Kaer Moren scene in The Witcher 3 game.
Screenshots from games were also helpful while doing the lighting setup.
The lighting process is quite simple. I just used a directional light with a sky light, and the rest were fake lights to lighten up the dark areas. All the lights I used for this scene are dynamic and so I didn't need to do any light bakes. I also used many point lights at areas like the door and the forge.
Directional light is my key light for the scene. While placing it, I made sure that it hits the main door, which will help in guiding the viewer's attention toward it.
I used a custom HDRI for the sky light that I took from Texture Haven. It helped me to get the well-diffused fill light all around the scene.
I placed many fake lights around the scene to mimic light bounces and brighten the dark areas. I also used shadows to make the scene look interesting. Shadows help us to add contrast to the lighting. The balance between bright and dark areas is the one that makes the lightings look interesting, so I placed a tree in front of the house that cast some cool-looking shadows on the walls.
While lighting the scene, I made sure to keep the composition in mind. Games always use lighting for level design and place them in a way that guides the player towards the focus points.
I took advantage of Unreal's SSGI to lighten up the dark areas. Here you can see the difference it added to the scene. To enable SSGI, go to Project Settings, enable Screen Space Global Illumination (Beta), and then use the console command r.SSGI.Enable 01.
Composition & Post-Processing
Composition is one of the necessary elements of any artwork. If not done correctly, the whole time and effort spent on modeling, texturing, lighting, and everything can go to waste.
How things are put together helps us define the composition. A well-composed scene looks more appealing and compelling to the eyes than a scene not composed well, which can sometimes be irritating to look at.
I kept the composition of this scene in mind in every phase of its creation. From lighting to set-dressing, I always made sure to make the scene look better composed.
For this environment, the house was a major attraction and I wanted to make sure it attracted the viewer's attention instantly and should not be competing with anything else for focus.
I spent some time watching tutorials about composition, and one of the best I found was this:
Adding guiding lines in the scene is necessary to focus the viewer on the interesting elements. Otherwise, they can get lost wondering what to look at and will end up disliking the artwork.
One of the best and easiest ways to add guiding lines is to use paths. They are the easiest and the most efficient thing anyone can use. Also, placing scene elements in such a way that they form a line helped me establish those guiding lines even more.
Depth is also a necessary factor in any composition. Artists use depth very often to separate the foreground from the background. Adding mountains and small forests in the background helped me to establish depth. Apart from that, they also helped me fill out some negative spaces. Without those distant objects, the scene would have looked very small and empty.
While creating the background, I had to make sure they should not appear very detailed as that would cause them to compete with the foreground for attention, and I didn't want that to happen.
I created a shader that made the distant objects look less saturated and helped me hide their details. It made them distinguishable from the foreground. Volumetric fog also helped me establish depth.
In some screenshots, I used trees and props silhouettes as vignettes combined with adding some lighting at the points of interest. The statues at the house entrance were also very useful to help me in the composition, eyes are always drawn toward human faces. I used that as an advantage.
I also used more contrasting and bright colors for the interesting spots of the building. I made sure to have a proper balance between appealing and less appealing points.
For the window, for example, I wanted to make it look like a focal point. Hence I used brighter colors compared to the planks beside it. Using colors in proper harmony is very important for composition.
Lighting also played an essential role in the composition. I made sure the directional light fell on doors and stairs to make the house feel more welcoming and appealing.
After completing the scene setup, I took a screenshot and created a color-graded LUT in Photoshop using that picture. Later, I used that LUT in UE4 in the post-processing volume. Color grading helped me a lot with defining the mood of the scene, like here, I increased the blue tone for this environment to make the scene look less warm than it looked before, and so on.
For getting more information about how to use LUT go through this link:
After finishing everything, I used the rule of thirds to take screenshots. I also used Photoshop and Premiere to edit the final videos and screenshots to increase the overall quality.
I think the major challenge while working on this project was consistency. It sometimes gets difficult to continue working on a single artwork for a long time. Working on this project every day after office hours was difficult for me sometimes.
It's common for artists to abandon previous projects to start a new one. I have also done that in the past. There are many works that I never completed or published and are left abandoned to this day.
During this project, I had similar feelings, but I committed myself to finish it. I always tried at least to spend an hour per day on this project, whether planning or working on the production. This way, I was able to finish this project in about 3 months.
Apart from consistency, the other challenge I faced was maintaining the same style all around the level. The best solution I came up with for this problem was not to overdo one asset specifically but instead focus on the entire scene as one thing. It's overwhelming to create the complete scene from scratch and it is significant not to get lost in every micro detail and instead focus on the bigger picture.
Feedback played a key role while working on this level, it provided me with different perspectives on my artwork. It helped me to stay on track when I was out of ideas.
My advice to the artists planning to make an environment will be to stay consistent and have proper planning before starting any project. Having a plan is the best time-saving strategy. It also makes the work look possible and easier.
I am indebted to all my friends and seniors who helped me with this project. It could not have been possible without them. Special thanks to Netraraj Pun, Vivek Kumar Thakur, and Neel Parekh, who helped me with the technical and artistic difficulties and provided valuable feedback.
Sarvesh Shashank, Environment Artist
Interview conducted by Theodore McKenzie
This content is brought to you by 80 Level in collaboration with Unreal Engine. We strive to highlight the best stories in the gamedev and art industries. You can read more Unreal Engine interviews with developers here.
You may find these articles interesting