Breakdown
Goals
-
Level design
- Boss arena
-
Scripting
- Player
- Gameplay Events
- Behavior Tree
Individual project spanning six 8 hour days.
Tools and Assests
-
Plugins: Blockout Tools
-
Animations gathered from Unreal Marketplace
-
Free Fantasy Weapon Sample Pack
-
Create a boss fight using a Behavior tree
-
A fight that can be played from start to end
Summary
I had a clear vision of the boss fight I wanted to create, however, due to my limited time allotted to this project I had to decide quickly on what abilities to make and how to implement them. I was excited to see what I would be able to create in this time frame.
Creating the Boss
Introduction
I made the decision to use as few aniamtions as possible to keep the scope of the project manageble. I reworked the shoting indicator from my last project to be the main feature of the boss fight.
The first Ability(Cleave) and Indicators
This was a test to determine whether it would be possible to create this boss within the time frame, as it was the first ability to be created. I was able to implement and test the ability after the first day so I knew it was possible to complete the project in time.
To achieve the intended result for this first ability, I scaled the widget with the indicator using a timeline. However, after working on the second ability, I returned to change this because it worked much better to use percentedges to fill the progress bar with the indicator as the image.
Charge and Destructible Pillars
I made the decision that the boss should be able to interact with the environment while I worked on the charge ability.
I created destructible pillars that the boss would interact with, providing cover for the player to hide behind and evade the charge. I also added a stun feature in case the boss collided with a pillar to make it more rewarding for the player to lead the boss to charge a pillar.
AoE and Knockback
The third and last core ability for the boss is the AoE, I wanted the boss to have a bit of variety in their attack combo and an attack that interacts with the player in a different way from the cleave.
I also added a knockback effect to go along with the arena alterations when the boss enters its second phase and modifies the arena. The knockback was also added to the charge for the same reasons. One happy coincident was that the player could also use the pillars to reduce the knockback; which added more depth to the fight.
Intermisson Phase and Altering the Arena
At this point of the development I had a functioning boss that could be defeated however, the fight felt static and boring. I researched boss fights to find inspiration, the ideas of altering and being pushed off the arena came from the Word of Warcraft Lich King fight.
The premise of the fight alters when the boss teleports back to the arena after the intermission and the outer section of the floor falls down starting phase two; the boss’s non lethal knockback can now end the fight. Additionally the player can no longer avoid the charge by hiding behind the pillars.
I added the intermission to the fight where the boss teleports away and rocks start falling all over the arena because I felt that it would be anti-climatic to have the floor just fall when the boss reached half health. I also included the falling rock mechanic at the end of the charge to introduce it to the player beforehand.
Behavior tree
Attack Combo and Move to
Following the opening sequence, the boss will advance until they are within striking distance of the player, at which point they will begin to use their attacks.
Charge
The charge begins to activate twenty seconds into the boss battle and continues to activate every twenty seconds after that.
The boss first moves to the center of the arena and then starts the charge.
Intermission
When the boss reaches half health, the intermission begins. The boss moves to the center of the arena and teleports to the balcony and returns after the intermission has ended.
The intermission will also disable the stun if the boss happens to be stunned when the half health threshold is reached.
Triggers when the boss collides with a pillar.
Triggers when the boss first sees the player
Before the boss sees the player
Player Mechanics
Since the boss was the main focus of this project, when I created the player character, I added only what I felt was necessary to make the fight playable. I needed an attack, a dodge roll, and a focus camera.
Focus Camera
Toggle to focus the camera on the nearest target that has an enemy tag. If key is pressed again or player moves too far away from the target, the focus will be removed.
Slash
An attack using animation blueprints with animation notifies to enable a combo attack.
Roll
A dodge roll that has invincibility frames which are enabled by animation notifies.
Small features I added for polsih:
-
Stamina
-
Transparent pillars
-
Healing flasks
-
UI
A state machine is used as the base to control the player character.
The player can perform actions that take them out of their idle state and back into it. As a rule the player can only perform additional actions once they are back in their idle state.
Reflections
I knew going into this project that I wouldn't have much time to finish it, so as I previously stated, the first day was the most important to figure out what could be accomplished.
Due to my earlier work with behavior trees I was confident I would be able to implement what I needed; the only question was whether I could do it quickly enough. Another difficulty I had while working on the project was figuring out how to send information to the behavior tree and blackboard. I found that using the AI controller worked for me, but I would have liked to do more research to see if there was a more effective method.
If I had more time I would have liked to work more with the teleportation ability and mix it in with the bosses attacks like teleporting to a spot and aiming a big big attack at the player.
I also would have liked to work with the cleave ability to give it more impact, maybe a shot stun or that it grew in size with consecutive uses.
Thank you for reading
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 23rd.
Any internship offers can be made on May 6th, at the earliest.