Game Project

Spite Oathbound

Overview and introduction

Overview

Spite Oathbound was the first project i took part in during my Tech Art education at The Game Assembly. It is a topdown action game inspired by Diablo 3 with viking inspired visuals. The player controls a shield maiden and fights through multiple levels filled with enemies and larger bosses.

My main focus in the project was technical art and VFX writing shadres in HLSL. I worked on several features including a shader for highlighting enemies, a scrolling projectile trail mesh, and mesh and particle effects for the end boss.

My contributions

Enemy highlight shader

I created an HLSL shader that highlights enemies when the player hovers the mouse over them. This effect is based on the Fresnel effect, which uses the direction of the camera and the surface normals to create a glowing outline around the enemy. The effect is activated when the mouse is positioned over an enemy, setting the isHovering variable to true. The same shader is also used for special enemies, which have a constant glow by default. For these enemies, hovering blends the highlight colour with the original glow colour. For example, a special enemy may glow purple by default and, when hovered over, the colour shifts towards red to create a pinkish result. Special enemies use a separate boolean called isSpecial, which must be set to true for the constant glow effect to be active.

Boss VFX

I created VFX for the boss battle, including a large mesh beam with a panning texture that shoots out from the boss mouth as one of its attacks. To support the effect, I also made a particle effect with two bursts of green particles on each side of the boss mouth.

I also created a poison projectile using a vertex shader applied to a sphere mesh. By sampling simple noise i deformed the spheres vertices to give it a more organic goo like appearance. This effect was used for one of the boss projectile attacks.

Death Puff and Projectile Trail

I created a death puff particle VFX for the small ghost enemies. It was made using our custom particle system and uses a green smoke texture that appears as a smoke puff when the enemy dies.

I also made a mesh trail for the ranged enemies projectiles. It spawns a mesh with a trail texture which pans across the UVs using a shader.