top of page
Search

CAGD 373 Game Scene Final Project Post

  • Writer: Els Fouche
    Els Fouche
  • Dec 17, 2025
  • 8 min read

Group 1 - Baldur's Gate 3 Goblin Camp

This project is a re-creation of Baldur's Gate 3's Goblin Camp. Our micro game loop requires the player to break or unlock containers to find dice and escape the camp. Notably and unlike Baldur's Gate 3 the player begins with a 10-sided die, otherwise known as a d10, and may collect more to unlock containers with higher 'difficulty class' (DC) values. The available dice to collect are: 4d4, 1d6, 1d8, 1d10, 1d12, and 1d20.


Project Credits:

  • Julian Kroeger-Miller: Lead Design & Flex

  • Destiny Rose Smith: Lead 3D Artist

  • Devin G. Monaghan: Lead Texture Artist

  • Els S. Fouché: Programming & Design


Final Post


Baldur's Gate 3 - Goblin Camp Fan Re-Creation

The end result of our project turned out quite good. Some of the feedback we received criticized the "clinical, modern" look and lack of filth in the camp. I find that these are fair critiques. I feel I could have taken the project further had I pushed for more time for the implementation / set dressing step - a lesson learned for next time.


Landscape & Foliage

At the start of this sprint I began by finalizing the landscape. The below images show, in order, the landscape as it was when I began working on it, it's appearance at the start of this sprint, and it's final appearance.



I'm relatively happy with how the landscape turned out. I do wish I was able to sculpt more hard detail into the surface, especially on the peaks, but it's quite difficult to finesse the limited vertices available into good-looking sharp edges. This caused the landscape to remain fairly rounded in many places which I feel diminishes the realism of the piece.



I also feel I made a slight mistake while working on the landscape - I began by painting the textures first, then went back later to sculpt in more detail. In retrospect it seems as though the workflow would have been smoother the other way around. Following the landscape, I began to refine the foliage and add props to the scene.



During my appraisal of the area we were recreating it was apparent that our efforts would be hamstrung if we attempted to implement all of the foliage used ourselves. Fortunately, Quixel Megascans and several smaller creators (full credits at the end of this post) were able to provide the necessary assets. The trick for this project was ensuring that the external assets obtained didn't outshine those created by our team. I do feel I struck this balance well.

An additional step that was necessary when adding foliage came about due to the poor quality of some of the assets. Specifically, a few of the models came in as a single object which had to be manually separated using Unreal's built-in modelling toolkit. This was, thankfully, an easy task - it very easily could have turned into a nightmare of exporting, modifying, re-importing, and texture correcting.

Furthermore, ensuring that assets matched the overall visual style and quality was a task in and of itself. For example, I needed to modify each individual fern material in order to rein in how intensely green they were in order to match our other foliage and the environment itself.

These efforts were worth it - the foliage adds significantly to the scene without overshadowing the other elements or distracting the eye away from our major set pieces.


Set Dressing

This was the big one. A significant amount of my time this sprint was devoted to fleshing out the Goblin Camp. First, let's take a look at the central area.



One of the first challenges to overcome with the central area was that we completely missed the fountain-turned-stage that Volo appears on when the player first arrives in the area. To work around this I cobbled together a makeshift replacement stage using various platforms and tables. I feel it turned out well, overall. I did need to do a bit of work on the collision on the tables in order to allow the player to climb on top of the stage, but otherwise it wasn't too bad.



A brief tangent - while discussing this brazier / cookpot with Destiny, our modeler, we noted that the base emissive value was very low which resulted in it looking quite cold.



Fortunately, our texturer Devin had not made a material instance for this particular asset and so I was able to quickly implement a modification to the emission that gave it a subtle glowing effect. Combined with Julian's fire decal we were able to significantly improve the visual quality of the asset.


Example: Material Modified Over Time
Example: Material Modified Over Time

Implementing the materail glow was very simple. Taking the time as an input and adding a division call (to slow down the rate of change) and running that into a sine function allowed me to ping-pong lerp between two multiplier values, creating the glowing effect. Due to the effect being quite subtle, I've included a gif of the lerp min and max values turned to 10 and 100, respectively, to better demonstrate the glow.




Speaking of emissives, our torch particle effect was initially quite dim as well and so I modified its material to utilize the particle's size as a multiplier of its emission which significantly improved the quality of the fire. I do feel that the alpha sheet used for the fire is an area that could stand to be revisited, however.



The central cooking pit of the goblin camp was a challenge to integrate. There was a slight communication failure in the creation of the asset which caused it to not fit with the modular floor pieces. This required that I hide the gap using the landscape - this was not too much of an issue but integrating the landscape with the floors was its own challenge. Specifically, there was no way to get a smooth transition from floor to landscape. I attempted to hide the resulting hard edge with decals, with varying degrees of success.

In the future I would like to implement a floor tile slot into my landscape material system to allow for painting smooth transitions between floor geometry and landscape. I feel that this has potential for success if both materials utilize world space tiling. Moving on from the central area of the camp, let's take a look at the 'Chicken Chaser' arena.



I spent a fair amount of time getting the layout correct. I feel that this was poor time management on my part. After analyzing the project I've identified that one of my weaknesses is not spending enough time on the broad strokes of the environment. Had I spent more time developing the floors the resulting patterning would have created a natural layout to follow, decreasing the time spent on carefully comparing the scene to the reference while improving quality.



An aside - the above image is one of my personal favorites from this project.



It seems to me that this image is particularly indicative of the primary issue with the project - there's too much negative space remaining in the tiled floors, making the entire scene feel far too clean.



I feel fairly proud of the junk fence seen above. Though it isn't an exact duplicate of the one found in BG3, it strikes me as aesthetically pleasing, it successfully guides the eye and player back into the arena, and it has an appearance that immediately makes logical sense with regards to how it was constructed.

Moving to the 'worship' area of the camp on the opposite side of the main hall I wanted to emphasize the main features. Namely, the shrine and the tree that's prominent in the area.



The shrine is truly something special and I attempted to do it justice. Notably, the texturing of the walls of the shrine do not quite match the rest of the environment due to the two artists working on them concurrently. Fortunately, this issue is not too detrimental to the scene because the contrast between the green of the tree above helps shift the dynamic range of the perceived color of the image, narrowing the difference between the two sections. Additionally, the rocks behind the shrine help provide color context that further distracts from the disagreement between the hero shrine and modular wall texture qualities. Also it's in shadow, of course.



Please excuse the duplicated images, I felt it was pertinent to revisit these areas to provide context for the shrine.



I allowed myself a small indulgence here - I thought the paint can next to a seemingly half finished goblin drawing was a fun easter egg.



This region differs significantly from the base game. Due to time constraints we could not allow the player to roam outside of the camp which meant this section of wall needed to remain intact. Furthermore, the ramps and platforms scattered throughout the level were not included due to the possibility of the player seeing out of bounds. A requirement of the project was for it to be in first person, thus making this change necessary.



Decals are quite powerful for adding additional detail to an area, but they can be somewhat time consuming to set up and can seriously impact performance if over-used. This project uses 137 decals. I began running into performance issues that, after investigating, were not caused by decals but I became somewhat 'gun-shy' afterwards. I feel that this was a mistake and that I should have pushed it further, especially in decorating the floors.



The above image, for example, is taken in the garden area and the sandy, uncontained soil demands logically that the tile be dirtied. This is a primary regret of mine for the project.


VFX, Programming, Optimization


This video demonstrates several things. First and most obvious, I managed to implement the sparkle particle effect I made during the last sprint into the roll result animation. I feel that this is a big improvement on the quality of the roll.

In addition to that, I significantly improved the dice rolling physics with the result that the wall penetration issue has been almost completely resolved. I discovered that the way I was spawning the dice often resulted in them overlapping with each other. This added a huge amount of force as they attempted to depenetrate from one another, causing them to step over the surrounding blocking volumes due to a lack of sub-frame calculations. This problem was especially evident with large pools of dice.

However, while resolving this issue I first decreased the force that dice were thrown with. This was not reverted after fixing the above problem, leading the dice throw to look a little wimpy. A simple fix, but one I failed to notice in time prior to the project deadline.

The final step of the project was to merge the actors in the scene using the batch method. This method causes the meshes to be added individual instanced static mesh components on a single actor, reducing draw calls. This style of merging actors also preserves their ability to be occlusion culled and as such is my preferred method of optimizing large groups of static meshes scattered throughout a level.


Summary

This project went quite well. Every member of my team was extremely hard working and I would gladly join a project with any of them again. As expected with any project there were plenty of lessons learned but the level of quality put out by the team was truly professional grade and I'm proud of our result.


Previous Posts


Asset Credits

  • Foliage

    • 'Ferns' by Project Nature

    • 'Tree' by Danpetro

    • 'Lowpoly Tree Scan Pack 3: Black Walnut+Dead Tree' by EFX

    • 'Mobile Trees Model' by Tree Master

    • 'Game Ready Grass' by Charlie Catling, CC BY 4.0

    • 'Thatching Grass' by Quixel Megascans

    • 'Wheat Grass' by Quixel Megascans

    • 'Spring Lungwort Flowering Plants' by HKhalife

  • Rocks, etc.

    • 'Japanese Mossy Boulder' by Quixel Megascans

    • 'Rocks and Combined' by raffyraffy, CC BY 4.0

  • Environment textures

    • 'Forest Path' by Quixel Megascans

    • 'Grass and Rubble' by Quixel Megascans

    • 'Mine Rock Wall' by Quixel Megascans

 
 
 

Comments


© 2025 Els Fouché née Rodger Fouche. All Rights Reserved.

Thanks for stoppin' by.

bottom of page