Pablo Armando Rodríguez Codes

AI programmer

Descent

This was the first big group project I got to partake in during my time at Goldsmiths, University of London, that involved collaboration between programmers and artists (3 and 4 students, respectively). Hence, team and social skills were essential in the development of the project.

As the AI programmer of the team, my main responsibility was the development of the AI system in the game. The AI of the enemy is based on a Behavior Tree, with two basic behaviors: cyclic patrolling through a set of waypoints, and chasing the player when in vision range (and going to their last known location when losing vision of them). Although the Behavior Tree is rather simple, it has served to gain familiarity with the AI tools available in Unreal Engine. This includes the Blackboard and BT assets, or the different types of nodes for BT Blueprint programming, such as tasks, decorators and services, but also other systems like the NavMesh and its settings.

Screenshot of the Behaviour Tree blueprint in Unreal
Screenshot of the NavMesh used in Descent

However, I also got to develop other gameplay elements, particularly three of the puzzles in the game: the 9 tiles puzzle, the day-night switch and the main altar / final puzzle. This involved work with different aspects of gameplay programming, such as camera animation, management of objects in the scene, collisions, player input, and even some level streaming (used for the day and night scenarios).

Finally, after some communication issues and technical difficulties were solved, the game was finished in time with all of its main major features.