A First Person Shooter prototype.
C++, Unreal Engine
Responsible for planning and scheduling all the AI-related tasks for the game.
Answering designer questions about using the engine for AI.
Implemented a Probability Selector node to the behaviour tree system (in Unreal) to give the designers more flexibility. This was eventually used to randomly play enemy barks.
Added perception such as sight, sound and damage to the enemies. This was then used to make them react to their surroundings.
Added support for making the NPC’s jump and crouch. Taught the designers how to annotate the navigation meshes.
Added a spawner with multiple parameters so that the designers could easily add waves of enemies.
Implemented a system to allow a voice for enemies while making sure that only limited voices could be heard at any given time.
Optimised the algorithms when we realised that some of them were using a lot of cycles unnecessarily.
Created the initial behaviours for different enemy types as specified by the designers. This was eventually taken care of by the designers and another programmer.
Helped with implementing the final boss AI for the prototype.