top of page

Tech Art:

Stencil buffered additive Light Spheres

For Warden: Melody of the Undergrowth we wanted a very specific stylized look for our lights, that being lights without any attenuation, with clear hard lines where the light was and was not.

 

My solution to this was to not use traditional lights at all. Rather I opted to use mesh spheres that would draw into the stencil buffer only where there were already objects, that is objects that the mesh was overlapping.

This allowed us to apply an additive colour to the objects inside the bounds of the sphere. 

This solution worked fantastically, both in achieving the goals of the art style and being a cheap fast solution. The results were so good in fact that we ended up being able to have far more "lights" in our scene than originally expects, greatly improving the visual style of Warden 

Thanks to Alex Short of Wildgrass Games for technical assistance here.

2D Stylized eyes

Warden: Melody of the Undergowth sports a specific cartoon inspired art style. This was my solution to dynamic eyes in game.

Through the use of a seperate mesh resting atop the characters face, with two sets of UVs I developed a custom shader and animation setup for dynamic 2D eyes. This allowed us to make use of character eye tracking, allowing them to look at points of interest in the game world drawing the player to important objects.

 

The first part of the 2D eye solution is the central eye, we only use one eye and mirror it onto the other side of the mesh.

 

The second part is the Iris, this makes use of the second UV set which is NOT mirriored, allowing the iris to point in the same direction. By offsetting the UV position of the iris we can move the iris on the eye, controlled by a set of animations in a 2D blend tree we can feed the data from the player script to the animator of the eyes to handle where they look.

 

Additionally we only draw the iris over the white of the eye, faking a sense of depth into the eyes as the iris is occluded by the edge of the eye. 

Vertex based Ground texture Blending

A classic solution to seamlessly blending different ground textures together.

This is a multi texture blending solution that blends different texture based on the greyscale of the texture.

This serves to blend in the lower points of a texture first, filling the cracks of the bricks with dirt before covering the high points of the brick.

 

Our implementation mutiplied this blend off the vertex colours of the mesh, allowing us to create paths and direct the flow of the player.  

Dissolve Shader

An optimization turned into a pretty effect. We came to this solution when we needed to clean up destroyed, scattered physics props which frequently populate the game level as there are many destructible objects for the player to interact with.

The dissolve shader allows us to clip out parts of the mesh based off a noise texture over time. Adding an emissive glowy highlight to the edge of the clip allows the effect to look quite magical and avoids distracting the player while covering up the removal of objects from the scene.  

Vertex Displacement: Lava

Whilst working on Warden: Melody of the Undergrowth I grew quite unhappy with our liquid effects, this was a solution to bring life and depth to the liquids.

 

This method displaces the vertices of the mesh based off a sine wave mutiplied by a noise texture. This effect works great for creating depth to the liquid partiularly at the edges of the liquid where it laps against the mesh.

 

Additionally the vertical height of the vertices based off their original position are multiplied, creating darker low points and bright highpoints. This works great for lava and other hot liquids. 

Grass wind effects: Vertex Displacement

To get a lot of interactive grass in Warden: Melody of the Undergrowth we make use of vertex displacement, causing the grass to sway gently.

 

This solution uses a sinewave multiplied by the blue vertex channel of the mesh, this allows us to have more bending at the peak of the grass as opposed to the base which won't move at all.

The effect works great for breathing life into the scene with subtle secondary motion.

bottom of page