Occult Obliteration is a 4 player co-op wave survival shoot-em'-up with upgradable weaponry, 4 unique characters with their own abilities, a range of weapons with various stats, and a legion of undead known as "The Possessed" who hunt down the players.
Developed by a team of 5 people in the Unity engine in my first year at the University of Gloucestershire, this game implements 3D assets with rigged humanoid characters, particle systems as well as an inventory system, modular weapon and ability frameworks and enemy AI.
Video represents the assignment submission build of the game not the version shown at the COMX event.
The game spans 3 levels where the players are challenged by 10 waves of enemies, after every round Charon appears in his van and sells players weapons for Soul Points that they can acquire by defeating enemies, the players' weapons carry throughout the 3 levels.
Players are can shoot with their weapons and use their unique abilities to crush the waves of enemies. Throughout the rounds the enemies become more numerous and dangerous, while the weapons the players have access to get increasingly stronger, resulting in chaotic gameplay.
The weapon framework uses weapon data assets which can be efficiently created and customized to change weapon properties such as:
The implementation of the weapon system would also make it easy to add any kind of custom weaponry in the future.
The characters implement an IK system to reduce the amount of unique animations that had to be made; the quality of the animations is not as noticeable due to the top-down perspective.
Recoil and different grip stances can be easily created by position the weapon and grip points.
I had a lot of fun working on the VFX for this game, from the smoke and embers in the main menu to the projectile and blood effects. I largely used Unity's new VFX Graph features, which offer complex GPU based particles in combination with Shader Graph. All of these come together to add an extra layer of juice to the game.
Abilities work similarly to weapons, they can be slotted onto characters and consist of Primary, Secondary and Dash; which effect how a player behaves when performing these actions.
Doing it this way helped us easily experiment with different ability combinations, and manage script files more effectively, as well as making sure that characters performed more consistently.
One of the greatest challenges of the project was the local multiplayer support. 4 players can join a lobby using either Keyboard and Mouse or Controller inputs. The player's characters and inventories are persistent throughout 3 levels of the game, and making sure that players stayed in control of the correct characters was an unexpected challenge.