This project is a first-person action game developed in a custom C++ engine as part of a team project.
My primary focus was implementing a behavior tree system built on top of an ECS architecture, enabling flexible and reusable AI behaviors for designers. Read more about it here: Behaviour Tree
I collaborated with designers to create a wide range of behavior tree nodes, enabling rapid iteration on gameplay.
Examples of nodes I implemented:
Set pivot
Attach to
Write to blackboard
Get from blackboard
Designed behavior tree integration with ECS while maintaining performance and flexibility
Debugged AI issues caused by incorrect blackboard synchronization and the various ECS systems
Resolved navigation inconsistencies after PhysX was integrated
The system saves tags in a list which objects can add in a tag array property. If you change the tag name in the tag window it changes for every object. When assigning a tag to an object you can choose from a dropdown menu that automatically updates if new tags are added through the tag window
Made sure to update and maintain the previously used navmesh to properly function with the PhysX library