Hack & Slash
Spite: The Witch God


An evil god has become the ruler of a once peaceful land. You awake from your tomb to drive the evil god back to the void.

My contributions

  • Terrain Generation(Houdini to Unity)
  • Shaders (HLSL)
    • Terrain Shader
    • Spirit Walk Shader
    • Health/Mana Orb Shader
    • Enemy Healthbar Shader
    • Fog Shader
  • Navmesh Export from Unity (C#)
  • Unity Tools for Level Designers (C#)
  • Unity PipeLine Scripts (C#)
  • Vertex Animations
  • Particles

Project details

  • 10 weeks, half time
  • Created with our own engine
  • 3rd party libraries: DirectX, Wwise
  • Created by ShockWave 2018
    • 3 Technical artists
    • 4 Artists
    • 3 Level Designers
    • 6 Programmers

Breakdown of what I did!

Globe Shader

The Health Globe and the Resource is made using the same idea, having 2 mash based on the players health/"mana" but one having a small offset to daken down so it feelt like it had a depth to it, and add a sine curve. To make the shifts in the orb I took the noise textures and sampled it 2 times with different UVs that I moved with different speeds and added them together.

Vertex Animated Grass

For the grass I Vertex Painted it in Houdini go get a nice color ramp, Added sin curves to it and offsetted the curve by its world position, also added different layers of "Wind", how this works it that i had the different axis equal to a sine curve with an offset mul a "Wind" value this resulted in that the grass felt like it moved different. Now that I got the grass moving, i wanted to take it to the next level,so it would react to the player walking through it, and I did not have the players world position, but what I had was the Cameras world position and I knew the camera offsets from the player. I with that I created a point moved it from the camera's position with the offset and made a sphere around the point, got the length and multiplied it on after the vertex animation, pushing the vertices away from the player.

Spirit Walk Shader

The Spirit walk ability effect is created by offsetting the UV overtime, Sample the screen texture, blur it, make it a grey gradient, add sepia to it. then blend it with the screen texture.

Terrain Tool

So in this project we were in a swamp, so I were going to have island. The problem we had was that we had no good way of making terrain unless an Artist sculpted it. but I wanted a way for designers to texture it as well. To solve this issue I created an HDA in Houdini that would return a mesh to the Designer that they could vertex paint on. The HDA is pretty straight forward, It takes a geometry (in our case, they used probuilder to create their Geometries),Remove everything but the top, remesh it, add noise to it, extrude, Bevel,remove unwanted geo with a blast, Add basic vertex color based on Normals and some noise to the side of the mesh. Also add a Out Paint node to that Designers could vertex paint the geometry i they wanted. To make it all work with the custom paint, I had to make an extra tool that exported all the terrain pieces that they made, but using a special tag unity I could find them and export them to our Game folder.

It was long process that I believed payed off, the Artist could focus on making props for the game, and the designers could easily change the look of an island without needing to ask anyone to make the island for them.