Website powered by

Moonlit Offering

For my final year honours project, I've been researching the applications of traditional artistic techniques and semiotics to create an environment that carries the narrative of the scene through visuals alone. This scene, titled 'Moonlit Offering', presents these findings in an interactive open-world game environment that allows the player to explore and interpret the narrative of the location through environmental storytelling, impactful lighting, and ambient VFX.

As part of my research and production, I wanted to develop my skills in writing documentation and understanding the game art pipeline. I've picked up an interest in technical art (specifically the tool development, shader creation, and optimisation side of things!), which led me to also create my own piece of art pipeline documentation alongside this project. The pipeline document gives a summary of the recommended workflow through all of the main DDC programs, naming conventions, export settings, and optimisation shortcuts to make production as efficient as possible.

I found it really fun to experiment with things like bevel trim sheets for lower priority assets, masked and modelled foliage, and vertex painting within UE5. As someone who's keen to break into the industry as an environment artist, I found it really valuable to learn these new approaches to production, and I'll definitely be using them again in the future!

One of my biggest goals for this project was to improve upon my understanding of efficient game art pipelines and optimisation for real-time engine applications. By making my own tileables in Substance Designer and exporting height maps, I could use them as masks to vertex paint dirt detailing on Nanite meshes within my scene.

I also wanted to improve on my shader production, so I made a water shader for both the lake and the waterfalls that allow for dynamic shorelines based on Distance Fields, which could be masked / toggled through instances of the initial shader.

Each key master material was thoughtfully annotated, correctly named, and organised using groups to ensure that the purpose of each parameter was clearly communicated. Each part of the water and ground tileable master materials were fully customisable, allowing me to reuse them throughout the scene for things like walls, floors, puddles, and waterfalls.

Thank you to my supervisor, Finlay, for giving me really supportive feedback and a unique perspective on my project throughout the semester, and pushing me to develop my skills to become confident in my work. And thank you to all of the other staff on the ART410 module for their feedback and support, too !

Interior view

Interior view

interior progress gif !

interior progress gif !

Exterior view

Exterior view

exterior progress gif (I spent quite a while deciding on the scale and overall composition)

exterior progress gif (I spent quite a while deciding on the scale and overall composition)

The interior was a little more difficult to express movement in, but I decided to add dripping water and a slight breeze through the door (which is shown through the pieces of grass breaking through the ground!)

static video shots

Video pan of the exterior. I wanted to make sure that the scene actually felt 'alive' so adding subtle things like VFX and waterfalls helped bring it to life.

The entire structure of this scene was made up of all the pieces shown here :]

The entire structure of this scene was made up of all the pieces shown here :]

For the props in this scene, I wanted to take a new approach and create a collection of bevel trim sheets to speed up my workflow and optimise the number of textures being used overall in the scene.

For the props in this scene, I wanted to take a new approach and create a collection of bevel trim sheets to speed up my workflow and optimise the number of textures being used overall in the scene.

I only made two terrain pieces for this project. They both had variations with/without a z-up shader of a grass tileable I had made previously. I then added dithering to blend them seamlessly with my landscape.

I only made two terrain pieces for this project. They both had variations with/without a z-up shader of a grass tileable I had made previously. I then added dithering to blend them seamlessly with my landscape.

For the foliage, I hand painted a texture sheet in Photoshop, created alpha masks, and imported them into Maya to assemble. In the material setup, I used parameters to add variation to the hue and saturation of flowers, and a weighted wind function.

For the foliage, I hand painted a texture sheet in Photoshop, created alpha masks, and imported them into Maya to assemble. In the material setup, I used parameters to add variation to the hue and saturation of flowers, and a weighted wind function.

For details such as the carpet (which needed to be able to blend with the ground seamlessly), I used decals instead of physical meshes, as it allowed me to wrap carpets around stairs and stone slabs without having to model each fold manually.

For details such as the carpet (which needed to be able to blend with the ground seamlessly), I used decals instead of physical meshes, as it allowed me to wrap carpets around stairs and stone slabs without having to model each fold manually.

To make the scene feel more alive and less static, I created a fun dynamic water material that created wave/foam lines that appeared upon contact with meshes using distance fields.

I combined both regular and nanite meshes to paint details on the floor, before adding height with additional tile meshes. The stone and dirt blend uses the tileable's height mask to detect the gaps between the slabs, painting them first.

My Artistic and Technical Production Document was created based on my findings on industry-standard documentation, and, my own personal experience in working in a collaborative game development environment.

My Artistic and Technical Production Document was created based on my findings on industry-standard documentation, and, my own personal experience in working in a collaborative game development environment.

Establishing a clear reference for all disciplines to refer to is extremely important in the pre-production stages of game development, and having an accessible, live document that artists and other departments can consult during production.

Establishing a clear reference for all disciplines to refer to is extremely important in the pre-production stages of game development, and having an accessible, live document that artists and other departments can consult during production.

The document covers all of the essentials of game art production, from establishing a pipeline and naming conventions, to polygon budgets, correct modelling practices, and how to set up cameras and lighting for cinematic renders.

The document covers all of the essentials of game art production, from establishing a pipeline and naming conventions, to polygon budgets, correct modelling practices, and how to set up cameras and lighting for cinematic renders.