logo80lv
Articlesclick_arrow
Research
Talentsclick_arrow
Events
Workshops
Aboutclick_arrow
profile_loginLogIn

Creating Dark Souls-Inspired Game-Ready Environment With Gaea

Kerri Zhang, one of the winners of the 80 Level portfolio contest, guided us through the creation of her Dark Souls and Diablo-inspired game environment, built for her senior thesis using ZBrush, Substance 3D, Gaea, and Unreal Engine 5, while offering valuable tips for beginners.

Introduction

Hello everyone! I'm Kerri Zhang, a senior-year student majoring in Game Art at Ringling College of Art and Design. I'm delighted to participate in this interview, and I hope to pursue a career as a 3D Environment Artist.

Before college, I had no experience with 3D art at all. I never imagined I could do a great job in 3D. I was more interested in 2D animation at the time and actually applied to college as an animation student. After being rejected from my dream school, CalArts, I looked to Ringling, which is also well-known for its animation program. Unfortunately, their Computer Animation major was already full, so they suggested I consider other programs, such as Motion Design, Game Art, or Illustration. I reviewed student work for each major on the Ringling website and found that Game Art aligned with what I was looking for: realistic visuals, creative freedom, and promising career opportunities, so I chose it.

I began learning 3D when I enrolled at Ringling, acquiring tools such as Maya, ZBrush, and Substance Painter along the way. Although I haven't been taught all the techniques I need for making 3D environments in class, I have a strong ability for self-study and found tutorials on YouTube and Bilibili to help build my skills. What really pulled me in was seeing something I imagined in 2D actually become an interactive 3D world. That process felt incredibly rewarding, and it motivated me to continue improving and creating. 

Starting in my sophomore year, students were required to make a game each semester. My first project was a small exploration game called The Wandering Programmer, where I combined 3D art with gameplay for the first time and began to understand what environmental art truly meant.

The next project was Fretia, a top-down MOBA-style game similar to Diablo, which taught me about designing for fixed-camera gameplay and environments.

Right before I began working on my thesis, I collaborated on a biome project called The Wanted. By that time, I had already decided to focus on environmental art, so I spent more time developing scenes and props. That project was also my first time using SpeedTree to create vegetation, and the portfolio I did from this project helped me get a 2024 summer internship at Turn 10 Studios.

These are the projects I worked on from my sophomore to junior year, and looking back, I can clearly see how much I've grown over the past few years.

XELVITA

During the early development of XELVITA, my teammates, Tianqi Liang, Obsidian Prime Zhang, and I had very different artistic preferences. While I gravitated toward a realistic fantasy style inspired by games like Dark Souls and Diablo, the others were more experienced with sci-fi aesthetics. We initially attempted to blend the two styles into a single, unified environment, but this approach led to several creative disagreements. Eventually, we decided to separate the styles into distinct sections of the game, connecting them through gameplay transitions and narrative cutscenes.

References

Once we finalized the division of work, I focused on building the fantasy castle environment, Dusckveil, for our boss fight. To support my design, I gathered visual references from real-world architecture, particularly Gothic and Baroque styles, and games with similar aesthetics. During the pre-production, I presented a more restrained indoor chapel scene instead of the castle I really wanted to make to pass our school’s faculty pitch. It was not until the second semester, when production officially began that I was able to fully develop the castle environment I had initially envisioned.

Since I'm not a professional concept artist, I don’t rely heavily on my concept sketches. I usually start by quickly drawing a few visual ideas just to explore mood and shape.

Once I'm clear on the overall direction, I collect real-life architectural references to guide structure and logic, such as how towers typically connect to the main building, how corridors function differently indoors vs. outdoors, and how Gothic rooftops are supported and arranged. These references help me define the type of modular kit pieces I need and how to break them down structurally before adding my decorative touches.

When gathering references, I recommend using both real-world images and visuals from existing games or films that share a similar tone. Game art remains a form of stylized interpretation rather than a one-to-one replica of reality. That's why analyzing how other artists strike a balance between real-world logic and artistic license is so helpful. For example, following realistic architectural logic, such as weight-bearing structures and functional layouts, is crucial for creating a believable environment. However, smaller elements, such as ornaments or material details, can be adjusted or altered to support the mood and style.

Blockout

Instead of building the scene strictly from a fixed composition, I started by blocking out the overall top-down layout of the map. Since this environment is part of a playable game level, my first step was to work closely with our game designer, Tianqi Liang, to define the core gameplay flow and how players would interact with mechanics like the grappling hook and rope traversal.

I began the layout process by blocking out the scene in Maya. Beyond designing for gameplay, I also wanted the environment to feel grounded and structurally believable. For the design of the main city structure, I drew inspiration from Minas Tirith in The Lord of the Rings. I've always loved circular, tiered layouts like that, especially since my city isn't built into a mountain or any natural landscape. The circular design helped make it feel more solid and self-supporting as if each building reinforces the others around it.

After creating the basic models, I started refining the composition based on key shots the player would experience. My goal was to convey a sense of grandeur, so I placed the visual focal point slightly higher in the city. I also used a light function to highlight the upper parts of the city, a feature I'll explain in more detail later on.

Terrain

This was my first time using Gaea to create terrain, and I would like to thank Maris Freimanis for his tutorials on YouTube, which greatly helped me understand the basics.

Here is a summary of my workflow from building terrain in Gaea to importing it into Unreal Engine:

  • Choosing the right version. I recommend using an older version of Gaea,1.3.2.7, because the newer versions have a completely different UI layout, which can confuse beginners. Most available tutorial videos are based on the older interface.
  • Building the terrain with nodes. In Gaea, terrain is generated by combining a node-based system. I started by using Ridge and Range nodes and combined them to create the basic shape. Each node allows you to tweak the seed value to get a desirable formation. After defining the base shape, I added detail using nodes such as Erosion, Rivers, Lakes, and Arboreal. These allow for realistic terrain variation and control.
  • Texturing the terrain. To create color textures, I used the Texture node. I connected outputs from previous terrain nodes to the Texture node via Create Portal at their output. The Texture output was then linked to a SatMap node, where I selected appropriate color patterns. Multiple SatMaps can be layered using Combine nodes.
    Additional FX, such as Snowfall, can be used to control snow coverage, and Vegetation nodes can simulate color distribution based on erosion or other terrain features.
  • Exporting maps for Unreal Engine. Once the terrain is complete, I exported textures for use in Unreal. Create a Normal Map node and connect it to the terrain node you wish to export. Right-click and select Mark for Export. Repeat this process for each map you want to modify (e.g., Base Color, Height, Normal). On the right panel under Build, you can choose the output file format and see how many nodes are marked for export. Typically, Vegetation is exported as Base Color and Erosion as the Height Map. Finally, click Start Build to export the maps to your desired folder.
  • Importing terrain into Unreal Engine 5. In UE5, switch to Landscape Mode and select Import from File. I imported the Erosion height map as the landscape base. If the terrain appears too small, go back to Gaea’s Build > Scale settings. Multiply the X and Y scale values by 100, then divide by the texture resolution (e.g., 1024, 2048). Use that result in UE5's Landscape Scale X and Y fields.
  • Setting up landscape material. Create a new Material in Unreal and plug in the Base Color and Normal Map. Add a Landscape Coordinates node and connect it to both texture UV inputs. In the Landscape Coordinates node, under Details > Mapping Scale, input your resolution number (e.g., 2048). This will ensure your textures match the terrain size correctly.

Exterior

Before I model anything, I typically start by creating a plan for the various types of assets I'll need. For this project, I had two main categories to build: modkits and set dressing, each requiring a different workflow.

For the modkits, I began with some concept designs based on references I gathered. This helped me determine the number of modular kit pieces I would need. Here are some of the designs I created during the pre-production phase 

I start by planning and creating the trim sheet for modeling the modkits. This is the most popular and efficient way to create a giant architecture environment in the modern industry. I analyzed my concepts to extract the core patterns and divided the trim sheet into functional sections. While designing the trim sheet, I constantly test patterns on a model to help identify necessary adjustments early, saving time on major texture revisions.

Once the sketches were finalized in Photoshop, I created a basic blockout in Maya and then imported them into ZBrush to add realistic details. The last step is to bake the texture in Substance 3D Painter. You can have a lot of variation by blending different smart materials in 3D Painter. 

In the end, I created two trim sheets for the whole scene – one has the most intricate patterns, and the other is for more general use. In addition to trim sheets, I also created three tiling textures for larger surfaces, such as walls, ceilings, and floors. They all followed the same workflow as the trim sheet.

After all the textures are ready, I start making models based on them. This stage is where I can play and have fun with UVs. I always start with straight surfaces before moving on to any curved or organic forms because if you leave UV unwrapping until the end, it becomes tricky to straighten many curved surfaces. During this time, always remember to test your models in Unreal and ensure they are on the correct scale.

You can always adjust the UVs to define how it looks.

Once I have almost all the modkits I need, I start assembling them and testing to see if I still require any additional pieces. Every seemingly large structure is actually built from a collection of repeated modular pieces. For example, the area below was assembled using just two types of rooftops, one railing, columns, arches, a ground piece, and two types of walls. As long as you have the essential functional components that commonly appear in architecture, you can reuse and rearrange them to create a variety of buildings. What truly elevates the quality of your architecture to the next level is the believability of your materials and how logically and intentionally your architecture is placed within the environment. 

Interior

Now is the time to discuss the creation of set dressing assets and their associated pipelines. This brings me to the interior section of my environment, where I made the heaviest use of smaller models. 

For these decorative assets, I followed a fairly standard workflow, modeling in Maya and then texturing in Substance 3D Painter. The process itself wasn't much different from building regular game assets. However, one of the most interesting aspects was how I utilized Blueprints in Unreal Engine to minimize visual repetition, particularly for the books on the shelves.

I first created several book arrangement presets in Maya, each with a different positioning. Then, in Unreal, I created a custom Actor that allows me to quickly cycle through these variations in real-time by simply changing a numeric value. This method helped me create more dynamic and believable bookshelf layouts. I also applied a similar approach when building rooftop variations. You can see the details in the videos below:

Composition

When building this environment, one of my priorities was establishing a strong composition. Every shot needed a clear focal point, something that could guide the player's eye naturally through the space. After locking down the gameplay flow, I created a series of composition sketches to plan out key camera angles. I decided that placing a castle in the center of the city, arranged in a stepped triangular layout, would be the most effective way to direct attention and create a sense of structure.

To add depth and atmosphere, I focused on separating the foreground, midground, and background. In Unreal Engine, I used Exponential Height Fog as a base, then layered in custom fog planes using the Easy Fog toolset to have more precise control over how visibility fades in specific areas. This helped me reinforce a sense of scale and draw focus to the most essential silhouettes.

For the background, I wanted something that subtly emphasized the city's grandeur without distracting from the playable area. I generated a custom terrain in Gaea, as I mentioned before, to serve as a distant mountain range behind the castle, just enough to suggest a vast world beyond and to anchor the scene within a believable and slightly somber atmosphere

Level Design

In addition to the overall city layout, I also spent time on level design decisions, especially since this environment was intended for use in an actual playable game. The initial interior space that players encounter acts as a transitional area. It comes right after the sci-fi section of the game, so it needed to gently introduce the new environment without feeling jarring or disconnected.

To make the transition smoother, I included certain design elements that visually and thematically link back to the previous sci-fi environments. These subtle elements help players feel that the new area is still part of the same world, easing them into the next stage of the game both spatially and narratively. So, I added subtle blue lighting throughout the space, especially around the central portal that teleports the player. The portal's material has a floating data-like effect, giving it a mysterious, sci-fi-inspired visual language. This helps maintain continuity with the previous environment and signals to the player that some advanced technology is still in effect.

In contrast, the rest of the room is much simpler. I used bookshelves as the main decorative elements to suggest that the space might be an abandoned archive or library. This narrative choice adds a layer of world-building, hinting that the portal is hidden and protected in a forgotten location rather than placed in plain sight.

To guide players in the right direction, I elevated the main door, leveraging the natural human tendency to perceive the top of a staircase as a destination, making the stairs an effective leading line. Additionally, I used warm lighting to indicate the intended path; against the predominantly cool-toned environment, the warm firelight creates a striking contrast, making it more visually prominent. For further subtle guidance, I oriented the direction of the campfire smoke towards the doorway, subtly reinforcing the intended route.

Once the player steps outside, they're introduced to the whole environment through a city reveal moment, showcasing a broad panoramic view. From there, I used a zipline system to guide them toward the boss area while reinforcing the scale of the world.

To keep players on track in this expansive space, I employed level design to control movement subtly. By increasing the distance between key areas, I ensured that standard traversal was no longer sufficient. The zipline becomes the only way forward, helping to prevent players from wandering into unreachable or empty zones and keeping the experience focused and immersive.

Lighting & Rendering

I chose to build my project in Unreal Engine 5 because it's one of the most powerful and production-ready tools for creating large-scale environments. Its streamlined workflow, advanced features, and close alignment with the current game industry make it an ideal engine for both technical and artistic development. Whether you're an aspiring designer or a visual storyteller, Unreal offers a level of accessibility that allows anyone passionate about games to dive right in and start creating.

Unreal has also been the core engine I’ve worked with throughout my four years in college, making it a natural choice for bringing my artistic vision to this project.

For this Deskveil environment I worked on, I wanted to convey a sense of grandeur mixed with loneliness and gloom. To achieve that, I mainly used overcast lighting to create a moody, somber atmosphere. While designing this part, I studied many works by other artists. I became especially inspired by lighting scenarios where sunlight breaks through heavy clouds, casting dynamic patches of light onto the landscape. I wanted to capture that moody, overcast feeling to create moving shadows that simulate clouds drifting overhead, adding more dynamism to the environment and simulating Atmospheric Sun Breaks in UE5. To achieve this effect, I applied a light function material to the Directional Light in Unreal Engine. I started by creating a new material, set the Material Domain to Light Function, and then built the following node setup:

Next, in the Details panel of the Directional Light actor in your level, search for Light Function and assign the material you just created to the Light Function Material slot. Once applied, the lighting in your scene will start to move based on the texture and panning values you defined in the material. This moving light function ensures that the player's attention isn't fixed on one spot; as the light shifts, their focus naturally moves with it. 

When lighting a scene, I’ve developed a habit of initially setting the Directional Light intensity relatively high. With Lumen enabled, the entire environment can appear overly bright and blown out. Instead of immediately lowering the light intensity, I prefer to control the overall exposure through the Post Process Volume, specifically by adjusting the Bloom Intensity and other exposure-related settings.

This workflow provides me with more flexibility during iterations. By maintaining a high light intensity, I leave room to fine-tune brightness later without reintroducing abrupt lighting transitions. One of the main reasons I do this is that adjusting the Directional Light intensity in Unreal Engine often triggers a short transition period as the lighting recalculates, which can be distracting. Tweaking values directly in the post-process stack is faster and more stable.

Tip: When working with large-scale environments, grouping assets manually for adjustments can be inefficient. During group work, I learned to use Persistent Level, which allows you to organize multiple levels within a single map. You can assign assets to different sub-levels, then right-click the level and choose Select Actors to quickly select everything in that sub-level. This technique greatly improves workflow efficiency when making adjustments to large environments.

Challenges

One of the biggest challenges in this project was learning how to build a large-scale scene from scratch, entirely outside of a PCG workflow.

At Ringling College, procedural tools like PCG aren't formally taught in the Game Art curriculum. Due to engine version constraints (we were required to use UE5.4.2, a version not publicly available through Epic), many of the available tools or plug-ins simply didn't work. Interestingly, the upgrade from UE5.2 to 5.4 in college, from junior year to senior year, wasn't even intended for game art, it was for supporting another department's Motion Design needs. So, while some viewers may assume I used PCG for this project, the truth is that every asset was placed, grouped, and duplicated manually. The only tool I used was a spline tool developed by our TA, Tianqi Liang. This experience motivated me to work more efficiently within limitations while also encouraging me to explore procedural tools in future projects.

Another challenge was staying emotionally grounded while defending my creative direction. I worked on this project as part of a 3-person team, and I was responsible for the final boss arena scene. Each of us had very different career goals and visual styles, and while we trusted each other's abilities, we also frequently clashed over style cohesion. I believed that a senior thesis should primarily support each artist's portfolio and job search goals, even if that meant diverging stylistically. My teammate didn't always agree, leading to some tough conversations and emotional stress. However, I learned to stay grounded and focused on what mattered most while also managing the pressure from the game art faculty at the same time. Rather than forcing everyone to conform, I proposed connecting the different environments narratively by telling the story through in-game sequences, which worked well and preserved each of our styles.

Lastly, balancing schoolwork with the pressure of job hunting was an ongoing mental challenge. My advice to fellow students or junior artists is to be mindful of who you take feedback from. Don't limit yourself to critiques within the school. Step outside your comfort zone and talk to professionals. The most helpful feedback I received came from people working in the industry, not because they sugarcoated anything but because they gave me practical advice and honest assessments and helped me clearly understand where I actually stood.

A genuinely professional artist won't just tell you your project is a "disaster" or that "you'll never finish it." They'll tell you how to fix it. They'll provide you with structure, direction, and encouragement to tackle ambitious challenges. That kind of feedback isn't soft, it's specific, direct, and constructive. And ultimately, that's what helps you grow. That kind of clarity was something I couldn't get in the classroom.

Some other advice:

  • Remember that not every project will go smoothly, and that's okay. What matters most is learning how to communicate effectively, compromise when necessary, and stand firm when your artistic vision is at stake.
  • Don't just focus on game art, explore other art forms and disciplines. Every skill you learn, whether it's from illustration, photography, graphic design, architecture, or even something seemingly unrelated like math, becomes part of your creative DNA. It shapes how you see, how you make decisions, and how you express ideas. Even if it doesn't feel "relevant" at the time, it will somehow show up in your work later, and often in ways you didn’t expect.
  • Also, while strengthening your ability to learn independently, make sure to stay connected with others. Self-study is essential, but growth doesn't happen in isolation. Sharing your work, asking questions, and engaging in real conversations with others.

In the end, I realized that building environments isn't the most challenging part: managing yourself, your growth, and your mindset is. Learning is an endless journey, and as long as I remain curious, patient, and dedicated, I know I'll continue to improve. I want to become more resilient, professional, and humble and create better art as a result.

Kerri Zhang, Junior 3D Environment Artist

Interview conducted by Theodore McKenzie

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more