Graphics rendering shader Tech


Into the deep

Lighthouse: The Adventure of Tiny McBoots is a student game made by a group called Polygore at The Game Assembly. I was a technical artist on Lighthouse, I was primarily responsible for visual effects such as water, particles, clouds. I also made a shader for the heads up display, the lightbulb and health meters.

Game Trailer
Let’s Play

Development Footage

Although I write this many months after the project was finished I still have some video footage I recorded during development. I thought it would be interesting to take a look at it. Keep in mind this footage does not represent the final quality, but a work-in-progress snapshot during development.

Water Shader

Flow mapping w/ vertex color

Early during development we knew wanted water so I implemented a flow shader. This video shows my early tests using the vertex painting tool in Unreal Editor to paint the water geometry.
The Vertex colors are used as the vector flow data in the shader. The final water shader has more details such as foam and leaves which are also painted onto the surface in the editor. While I was primarily responsible for the shader, the displacement was implemented by fellow technical artist Sven Lind.

The displacement was externally driven by a blueprint so that it could interact with physics objects.


Another major responsibility of mine was the background sky. Although we briefly discussed it, in the end we choose to only create one sky for the entire project. The main reasoning was that the game would be too short to warrant more than one sky and that turned out to be true in the end with only 6 levels including the tutorial level. The benefit of this decision was that I didn’t have to waste much time supporting a dynamic sky system.

Cloud with flow-mapping
Clouds Billboards

In an effort to make a cloudy grey sky more interesting I opted to invest time to look at two ways of animating the sky. The first option was to use a particle system, this would work nicely since I knew our camera would have a static orientation, in other words I didn’t have to worry about the clouds looking flat/weird even though they were billboards. I found that it wasn’t good enough to just cover the sky with only billboards, besides this created more overdraw than I was comfortable with. So I looked at another option, flow-mapping. So to complete the sky I baked a cloudy cubemap and animated this using a technique called flow-mapping, luckily I had already implemented this in the water shader so this did not take very much time to implement.