top of page

Spite: Crowstorm

An action role-playing game created by Safety First that's heavily inspired by the Diablo franchise. You'll be playing as a scarecrow living by magical means traversing a swamp & cave crawling with the minions of Orek: the corruptor.

Screenshot of a swipe attack by the boss

Spite: Crowstorm was the first group project at TGA in which we had to create a game with our own game engine, so in this project we had to set up a lot of systems and engine features, while simultaneously developing the core game. My focus in the project was mostly handling how the pathfinding works for the player and enemies using a navmesh, along with implementing enemies and the boss into the game. 

Pathfinding

For the navmesh we decided on generating it in Unreal Engine and exporting it to our engine, because our level designers were already using Unreal since we didn't have a level editor in our newly created enigne. I rewrote my previous A* algorithm to work with the engine and the navmesh in this project. After that we needed the paths we got from A* to be less jagged, so I read up on the Funnel algorithm and implemented it into the pathfinding calculation. One big struggle we had for the duration of the project was getting the navmesh to export without any gaps in the mesh, which resulted in a lot of weird movement and pathfinding errors, but in the end we solved it by working with our graphic artists to stitch together the navmesh manually.

Pathfinding with and without Funneling

Red Line: A* path without smoothing

Green Line: A* using Funnel Algorithm

Screenshot of gameplay

Enemies

Another one of my main areas in the project was the implementation of enemies and the boss together with Semi Asani. I started the project by setting up the base for the player and the enemies, then moved on to the movement of those with A*. A collision system was also needed, which I implemented along with an enemy factory for adding enemies into the game. Towards the end of the project I mostly sat on polishing the enemies and the different phases of the boss.

Credits

bottom of page