My job
My job consisted mainly in programming the AI from the game and the UI from the Final Boss.
What have I done
Finite State Machine for designers
In the concept discovery, I presented a variety of options in order to create the future AI for this game. We though that a Finite State Machine would work well and decided to implement it, so the first thing I did was creating a Finite State Machine so designers could modify the AI easily without the help of any programmer. However, after it was a bit primitive although it was working, we decided that we did not the best decision and we need an AI with a bit of more complexity, so my FSM was removed and a Behaviour Tree was implemented afterwards by our AI team.
Enemy's sight and chase player
While other team members were implementing the new Behaviour Tree I programmed the AI sight using a tile system. We used this tile system because we had a problem with occlusion back by then and couldn't do it with a frustum, otherwise our enemies would have seen the player through walls. Using this sight perception and the Behaviour Tree the other members of the AI team created, I made the enemies chase the player when they saw him and until they were in the previous tile and attacked him or until they lost his sight.


Theon Push and Stun
Once we had a decent AI base implemented and there were some enemies you could fight, I did that the Theon right ability worked, which is basically being able to push an enemy one tile away and, in the case there is a wall behind, it stuns the enemy for a few time.


Shield Enemy base
When we were adding different enemies, I was responsible to implement the first Shield Enemy, using the base we had for the simplest enemy, and adding the blocking functionality I created the first iteration for this enemy.

Boss
Finally, I was put in the Boss development team, where apart from debugging the boss I created its UI, which includes all the UI movement from the boss introduction cinematic and the boss HP bar. I also included its audio fx's in the code, so our AI designer, Fran Ruiz, could manage the exact time all our boss audio fx's played.
