Week 3

So, week three will be about creating the boss A.I tree and how it will react to the player.

Naar’s boss was designed by the lead designer and his behavior tree designed by the lead programmer. He is meant to serve as a lord of the level (region) Mokhtar is traversing. When the player get to the throne room the boss is presiding, the boss is suppose to find Mokhtar (lock in), move a few metres forward, trash talk Mokhtar then start wailing spells at him. Now, Mokhtar has to dodge his spells or destroy them with him own while trying to damage the boss.

The boss has ten hit points, when he equals or goes below seven he switched his state, moves to another position and start wailing new spells but quicker, same sequence happens when he reaches four points or below.

Another sequence that was not mentioned earlier was that the boss has an animation when he is between the transitions of these phases. This animation plays out as he falls unto his stomach and farts a dangerous smoke effect. If Mokhtar is able, the player will be able to throw a fireball, igniting the gas and explode the boss, damaging him a bit before the next phase.

So that is the design of the boss, there will be an array of different spells the boss will be switching to and depending on the phase, the projectile speed and attack speed will be different. At the moment, there only one spell.

I have succeeded in creating all the three phases with all the values and animation spots we need but we still need the spells, the balancing design and a few minor changes in order to have a final product.

So the design was given to the lead programmer which discussed with the lead designer and created a short behavior tree which I created. The behavior tree:

BossBehaviorTree

At the moment I changed this behavior tree as the three attack phases and never implemented the phase 1 but a small melee range where the player is slowly killed if he ever comes close. I will change this and implement this feature. The spells has not been implemented, only a debugged version of the blast attack.

My behavior Tree:

BossBT

My behavior tree always keeps track of the boss’s hit points, measures the distance between his target on every iteration. He then goes through which phase he is in by measuring his current hit points then rotates to Mokhtar, moves to his position (skips this one if he is already there) then looks at his attack range, which is just as large as the throne room and finally attacks Mokhtar. The only differences between the phases at the moment are the casting speed and his movement speed when he traverses between his phases. What is missing is the fart sequence which will be between the phases. I will implement those in the future, with the boss counter if Mokhtar ever comes at a melee range.

This is pretty special for me, this was the first time this project that I followed orders from the lead designer, discussed it with the lead programmer and designed this without any help (outside and inside). I have a new understanding of A.I design such as connecting blackboard variables with variables by setting values as objects, able to be used in other blueprints. One mistake I always did was making sure variables were public hehe, easy mistake but nevertheless, a mistake. Another thing I designed was the A.I and the players collision boxes. Hard at first, I quickly found out how to create custom collision boxes that are able to collide with only spells.

I also changed the level, fixed a few variables and started writing my dissertation! I will talk more about these changes and how I will start collecting data for my dissertation next week, stay tuned!