SPITE

As Cinder, crusader of the Torch-Bearers, venture into the corrupted swamp, Epthael. Blaze a path through the foul creatures of the swamp to reclaim it from Pythos' grasp, as you, and your faith, grow stronger.

Play the game!

SPITE: Ashes of Ephtael, was created with LAMP Engine, our custom game engine, using Unreal Engine as our IDE and Level Editor.

My role in this project was creating effects, shaders and destruction.

The water shader was a two panning water textures I created in Houdini.

The pixel and vertex shaders were written in HLSL with parameters driving the panning speed which was connected to a sine function to create some random variation in both texture speeds.

It also included support for UV scale, tinting and a float to control the intensity of the vertex shader. Controllable within the material in Unreal Engine.

Christian Le then expanded upon the shader, added forward lighting support and made the opacity driven by proximity to meshes.

The bloater explosion was a very iterative process with tons of different shaders and particle effects attached to it.

This was done in collaboration with Markus Norén, who did the explosion radius indicator and the fog.

My main contributions were the splash flipbooks and the meshes used to render them, and the spiraling poison effect decal.

And then we both touched on the most of the systems until we got the timing and impact to a good state.

The barrel destructables for our game was a good way to figure out the destruction pipeline from Houdini into our engine, I used the game animations, created by Viiktoria, as the collison for the barrels. The barrel mesh was created by Oliver A, I brought that into houdini, boolean’d it and created interior UV’s and fractured it.

Getting the skeletons from Houdini’s LABS RBDtoFBX ROP was a bit of a weird one that took a lot of trial and error.
In the end I brought the export from Houdini into Unreal Engine, where I had to then re-export the skeletal mesh, bring it into Maya and export it back into Unreal. The animations created by Unreal on import worked in our engine so I only had to do that round trip to Maya once for all the different breaks.

The bridge breaking was the most fun challenge I had on the project, we were limited by the amount of bones skeletons in our engine could have so I had to keep the rigid body count under 128.

I got the bridge mesh already modeled with the bricks as separated from Oliver Lincke, so creating the constraints and clusters was relatively straightforward.

The main driver of the simulation was the animated monster, animated by Anders Nilsson. It was an iterative process, testing the animation as a collision mesh and doing a few iterations until the timing and motion felt right.

Attaching the smoke particles to the breaking pieces was done with the help of Jonas Anders, who worked on our particle system.

I then used the blood/water splash flipbooks as mesh particles for the water splashes.

Bell breaks were a quick addition to the boss fight, I tried to keep the weight realistic and the overall effect toned down.

The heightmap blending was an HSLS pixel shader which used the texture height maps to blend between our vertex painted landscape textures. This was done in collaboration with Christian Le.

The retopology tool had to be cut, due to licensing issues. But I thought it was an interesting exercise. I really wanted to try the new unsubdivide node so I first ran the raw sculpt though a quadremesh and then the unsubdivide node. Then I measured the size of polygons, grouped them, and then further reduced the group sizes by only keeping the polygons that had the least amount of normal deviation, then fed the group into a polyreduce. This was done 3 times, iteratively reducing the polycount. Then UV’d the final mesh.

Behemoth Studio

 
 
 

Technical Artists:

Markus Norén
Nora Kemphe
Marinó Fannar Bjarnason

Level Designers:

Nom Köhler
Love Lustig
Tiger Tjellesen

Sound:

Kimberly Palsäter
Björn Djurnamn

Previous
Previous

Maruk: Shipwrecked

Next
Next

Chaos Destruction