Spite: Equilibrium
Team:
Credits
Engine:
BoB Engine (Custom, C++/DirectX)
Unreal as a level editor
Reference Game:
Diablo 3
Production Time:
10 weeks (half-time)
Contributions
Boss fight: Developed the Boss fight together with an animator
Pipeline: Establishing and maintaining the Unreal to BoB engine pipeline
Component system: Designed the component system structure
Navmesh: Reconstructing Unreal navmesh fbx to work in BoB engine
Menus: Implementing menu buttons functionality
Combo maker tool: A tool to create combos for the Boss fight
Highlight
Boss Fight
During game project 5, I was tasked with creating the boss fight inspired by the Diablo 3 boss Belial.
During the implementation of the boss, I worked closely with an animator. After having meetings on what attack the boss would execute, we decided that the animator would take the lead. The animator would decide how the attack would look, taking feedback from both level designers and me. After the animation was finished, I would code colliders to correspond with the animation.
When finalizing what attack the boss would perform, the player’s abilities were taken into account. For example, the sweep attack was chosen so that the player was required to use their dash ability to avoid it.
Collaboration
During the implementation of the light beam attack, the duration hadn’t been decided yet.
Instead, we decided that we should make the attack dynamic so that if the level designers wanted to change the length of the attack, we would have to re-animate the attack.
I suggested that we divide the animation into three phases: Start, Attack, and End. At the start of the attack, the Start animation would play once. The End animation when the attack was done. While the Attack animations would continue to loop until the desired length of the attack was concluded.
Combo Maker
I also developed a Boss combo maker tool to easier test and bug fix the boss’s attacks, as well as giving the level designer a tool to balance and tweak the boss fight.
When the boss chooses an attack it checks for two things. Which phase is it currently in and the player’s condition (Low HP, on the left side of the boss).
I developed a tool using ImGui. The user selects a player condition and a phase. Depending on the phase, certain attacks are available.
The user can queue attacks and preview the combo. If satisfied, the combo can be saved to a JSON file. When the boss initializes it reads through the JSON file and constructs the combo to later be chosen during the fight.
Unreal to BoB
I worked on the Unreal to BoB engine pipeline. The goal was for the level designer or graphical artist to be able to place out meshes and BluePrints in Unreal, and when they would start the game in our custom engine, BoB, the position, scale, and rotation would be identical.


I am part of The Game Assembly’s internship program. As per the agreement between the Games Industry and The Game Assembly, neither student nor company may be in contact with one another regarding internships before April 15th. Any internship offers can be made on April 27th, at the earliest.



