top of page

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/thearmedialsguardian

Gaming

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/thearmedialsguardian

Gaming

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.

BossPresentation_1 (1).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.

BossPresentation_2 (1).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.

BlueprintBackground.jpg

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

BlueGem_CutOut_Background_Square.png

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.

Toggle_Background.png
ArtefacteCutout_Background.png

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.

BlueprintBackground.jpg
GolemStats.png

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:

BlueprintBackground.jpg

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.

StalactiteSpawner.png
GenerateStalactite.png

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

BlueprintBackground.jpg

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.

RandomizerSlotAnsCristilize.png

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

RandomizerSlotAnsCristilize.png

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.

BlueprintBackground.jpg

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).

LavaPondController.png
LavaPondGenerator.png
Lava_Area_NoDamage.png

(You can click on the images to make them bigger)

- The "Lava Orbs" system:

BlueprintBackground.jpg

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.

LavaOrbs.png
BlueprintBackground.jpg

LAVA ORBS

2/4

(You can click on the images to make them bigger)

StartLavaOrb.png

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.

EntranceAndExitLavaOrb.png

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. 

BlueprintBackground.jpg

LAVA ORBS

3/4

(You can click on the images to make them bigger)

WaitForEachLavaOrbToShoot.png
MovingSignLavaOrb.png

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.

BlueprintBackground.jpg

LAVA ORBS

4/4

(You can click on the images to make them bigger)

LavaOrbShootLava.png
SignAboutToShootForSpawner.png

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:

BlueprintBackground.jpg

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.

HealEffect.png
Toggle_Background.png
ArtefacteCutout_Background.png

- The stackable damage bonus passive:

BlueprintBackground.jpg

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.

AddCristCount.png

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.

DamageCrisCounter.png

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

JJ.jpg
bottom of page