
Jaina - The Armedial's Guardian
Jaina - Boss Fight
Channel info
Gaming
Level Design, Video Game, Hard Fun, Programmation, Warcaraft, Made with unity, AI, Diablo like, Programming, Game, Boss fight, Boss, PC, Jaina, Game Design, RPG, Prototype, World of Warcraft, Unity, C#

Jaina - Boss Fight
Jaina: The Armedial's Guardian - Presentation Trailer

Read more
This project is a sequel to Jaina: Beware the Daughter of the Sea: https://www.youtube.com/watch?v=JXEs4AjYLnI&feature=youtu.be Jaina is a Diablo-like RPG, where the player embody Jaina and has to fight his way through tough enemies to retrieve a long lost artifact. Team: Jérémy PAYRE: https://jeremypayre.wixsite.com/portfolio/jaina-boss Paul de LAUBADERE: https://pauldelaubadere.wixsite.com/technicalgamedesign/thearmedialsguardianGaming
Jaina, Warcaraft, World of Warcraft, Video Game, Game, Prototype, Game Design, Level Design, Programmation, Programming, AI, RPG, Hard Fun, Diablo like, PC, Boss, Boss fight, Unity, Made with unity, C#
Jaina: The Armedial's Guardian - Walkthrough

Read more
This project is a sequel to Jaina: Beware the Daughter of the Sea: https://www.youtube.com/watch?v=JXEs4AjYLnI&feature=youtu.be Jaina is a Diablo-like RPG, where the player embody Jaina and has to fight his way through tough enemies to retrieve a long lost artifact. Team: Jérémy PAYRE: https://jeremypayre.wixsite.com/portfolio/jaina-boss Paul de LAUBADERE: https://pauldelaubadere.wixsite.com/technicalgamedesign/thearmedialsguardianGaming
Technical Game Designer - 100 hours project
WARNING
This project is the final boss fight of the project: Jaina - Beware the daughter of the sea.
Jérémy and I are proud of what we did for Jaina - Beware the daughter of the sea, but we wanted to expand this project by prototyping what the final boss would look like.
I advise you to check out the development of the initial project if you have not already:
PITCH
Jaina - The Armedial's Guardian is a Diablo-like RPG, where the player incarnate Jaina and has to face up against the guardian of the Armedial, the name of long lost artifact he has to retrieve.
Theme: Jaina Proudmoore - Warcraft
Genre: RPG
Context: Personal project
Target: Hardfun
Number of player: Solo
DEVELOPMENT
Jaina - The Armedial's Guardian has been made as a personal project within 100 hours.
Three months after the release of the initial project, Jérémy and I decided to get together for one hundred more hours and prototype a boss fight for Jaina - Beware the daughter of the sea.
Game Design
During this project I worked, with Jérémy, on Game Design's issues such as:
- The flow of the fight:
We started to determine what experience we wanted to offer with the last boss of our game. We agreed on "easy to learn, hard to master" fight, meaning that the boss only has 4 main attacks and they are getting increasingly stronger over the fight.
.jpg)
- How smart the boss is:
When we knew how the fight was going to evolve through time, we started to think about how the boss will decide which attack to use, and at what time.
.jpg)
- New spells for Jaina:
As an intention for the project we wanted to make this fight stand out of the other, therefore we designed 2 new spells for Jaina, a simple On-Click Heal, and a stackable damage bonus.

The heal has 5 charges that can be used at any time. When a charge is used it can't be used again.

x 20
When Jaina destroys a "Crystalize charged" stalactite, she absorbs its power. It increases her damage on the boss by 10 % for every stack.


x 5
THE ARMEDIAL'S GIFT
THE CRISTAL CHARGE
Programming
Firstly, I had to make the boss and Jérémy's stalactite "killable" by Jaina, fortunately, with only a couple adjustments I was able to give them an inherited class of the "EnemyStats" script (the script I used for all enemies in the game) so they could interact with Jaina's attacks the way we wanted them to.


The only real change is that the boss changes phase after a time, to prevent the player from stalling in phase 1.
BossStats inherited from EnemyStats
Then as I was in charge of 2 of the boss' attacks I provided scripts such as:
- The "Stalactite Generation" system:

STALACTITE GENERATION
1/3
The boss can drop stalactite on the battlefield, the challenge of this attacks was to create the feeling of them falling at random positions, while still be able to have a certain control on it to tweak the generation when needed.
I created "Spawn Spots" on the battlefield, with that, I created 2 separate lists, one that would be used for the "Stalactite Fall" (Red spots) and the other for the "Triple Strike" (Green spots) on phase 3.


SlotsForStalactite method (You can click on the image to make it bigger)

STALACTITE GENERATION
2/3
The stalactite can be "Crystalize Charged", it can only spawn a defined number of "Crystalize Charged" stalactite, and it has to be chosen randomly among the stalactite that currently has to fall.

Crystalize method (You can click on the image to make it bigger)

Every time the "Stalactite Generation" method is being called, it checks every "free spot" on the list and chooses one randomly, then it adds the chosen spot on the "used spot" list and removes it from the "free spot" list.

STALACTITE GENERATION
3/3
When a stalactite is destroyed by the boss, it leaves a lava area on the battlefield for the rest of the fight. For optimization purposes, the "Stalactite Generation" method tells the generated stalactite whether or not it is spawned on a lava area. (To prevent generating two lava area on the same spot).



(You can click on the images to make them bigger)
- The "Lava Orbs" system:

LAVA ORBS
1/4
The boss can summon lava orbs that throw a lava beam at Jaina after a short time, she can hide from it behind a stalactite, but it will increase its lava charge. The challenge was mostly on the sign and feedback, where I had to use UI Masks for the 2D sign to follow the edge of the battlefield.


LAVA ORBS
2/4
(You can click on the images to make them bigger)

I used coroutines to control the orbs' feedbacks. A growing red sprite follows Jaina for a time, then it stops and the orbs grow, throws the lava beam, and then shrinks.

The "EntranceDelencher" start the "EntranceAndExit" coroutine and wait until it returns to continue.
The "EntranceAndExit" coroutine animates the orbs, and makes them go in and out of the lava.

LAVA ORBS
3/4
(You can click on the images to make them bigger)


Once the "EntranceAndExit" coroutine is over, the "EntranceDeclencher" starts the "WaitUntilShooting" coroutine, this coroutine will starts the "MovingOrbsSign" coroutine and wait until it's over to start the "ShootLava" coroutine for each shots the lava orbs have to shoot.
The "MovingOrbsSign" coroutine animates the orbs' signs by interpolating its size with the time before each shots.

LAVA ORBS
4/4
(You can click on the images to make them bigger)


Once the "MovingOrbsSign" coroutine is over, the "WaitUntilShooting" starts the "ShootLava" coroutine, this coroutine is responsible for spawning the projectile and starting the "SignAboutToShoot" coroutine.
The "MovingOrbsSign" coroutine animates the orbs' size, simulating an impulsion that sets off the projectile.
I was also in charge of coding Jaina's new spell such as:
- The healing spell:

HEALING SPELL
(You can click on the images to make them bigger)
The player has 5 charges that he can use to heal Jaina. When the player uses it, it triggers several VFX and starts a cooldown.



- The stackable damage bonus passive:

DAMAGE BONUS
(You can click on the images to make them bigger)
Each time Jaina destroys a "Crystilize Charged" stalactite, she gains a "Crystal charge". It increases her damage to the boss.

I was able to use the inherited "EnemyStats" class on the boss, to simply multiply its damage taken with an integer increased for each "Cristilize Charged" stalactite destroyed.

About my teammate, I invite you to go on their website, they will explain what they did on the game far better than I could ever do :
Technical Game Designer
Jérémy Payre
