Spite:
Bleeding Skies
Synopsis
In a temple-city once ruled by cruel Sky gods, a false prophet rises, demanding blood to prevent a foretold eclipse. As fear spreads and cults grow, the Earth sends its champion to stop the madness. Wield divine power, crush the eclipse cult, and decide the fate of a world on the brink.
Contribution Overview
- Character Controls and movement
- Implementation of character abilities
- Common health system for all entities
- Respawn and save point system
- Collision System
- Component System
- Scripted events
- Camera behaviour
- Navmesh development
Development
Spite: Bleeding Skies was the fifth game I developed as a student on TGA. It’s a top down adventure game based on Diablo III.
The project development was seperated into two parts. The first part consisted of the team developing our own game engine from scratch with the help of our previous knowledge and experience from our studies. The second part consisted of us actually developing the game itself.
My main responsibilities was in implementing character movement and controls, the collision system and combat.
It also was our second time collaborating with music students from Östra Grevie Folkhögskola.
Contribution
Character
- Implemented Character movement system through Navmesh logic.
- Click on part of the screen and the player character will navigate to the closest point they can reach, unless the path is too far away.
- State machine indicating what the player can do at each specific point in time.
- Effects of abilities which the player can unlock through the game (more info below)
- Common health system for all entities.
- Slow fade out of entities after they’ve died or are destroyed.
- Automatic save point system and respawn after the player has died.
- Combat system and the knockback of the Heavy Attack. Left-Click on an enemy to walk up and basic attack them. Right-Click to perform a heavy attack instead.

Abilities

Man Shield
- Absorbs a set amount of damage.
- Fades after a few seconds if it remains intact.
- Unlocked automatically at the beginning of the game.

Jaguar Pounce
- Short gap closer
- Dashes towards the mouse location.
- Length varies depending on how close the mouse already is to the player, up to a maximum length.
- Takes the navmesh into account as to not dash outside of it.
- Deals AOE damage in your path and where you land.

Bear Smash
- Deals AOE in a cone in front of the player.
- Displaces enemies for crowd control and place the in front of you. (You can’t throw an enemy outside of the map sorry)
- Briefly stuns most enemies.

Lizard Spit
- Projectile attack
- Leaves a toxic cloud where it hits.
- Enemies in the cloud gains a damaging poison debuff for a few seconds. Duration refreshes while they linger in the cloud.
Other
- Collision system where objects can subscribe to what kind of triggers they want to listen to. It’s also grid based so colliders will only check within their own proximity.
- Implementation and maintenance of the component based system which our engine uses.
- Implementation of scripted events when unlocking new abilities.
- Camera movement during regular gameplay and scripted events.
- Contributed in Navmesh development at the start of the project. Had to hand this over due to overestimating my workload.



Credits
Programming
- David Grahn
- Ylver Blum Buer
- Elias Ronefors
- Jonathan Rozenberg
- Abraham Alberto
- Erik Edfors
Level Design
- Erik Gatewood
- Ahab Ibrahim
- Johan Rosdahl
Animation
- Emilia Eriksson
- Theo Hübner Sallis
- Rebecca Kornmalm
Graphical Art
- Milla Jaakkola Landin
- Emmett Motamed
- Marcus Carlsson
- Kim Betsgren
- Melker Ljung
Music & SFX
- Dennis Q Hammarlind
- Melanie Silvhed
- Ville Kemi