Perfect Dark (AI Engineer)
Worked on the project from August 2022 through August 2025
Unreal C++ Project for Xbox and Windows
Worked under a Lead AI Programmer on AI behavior, prototype enemies, and pathfinding support.
Given a large amount of autonomy which included prototyping key features from scratch on my own initiative.
Supported other teams as needed for features like damage pipelines, audio barks, and more
Primary support for an external pathfinding plugin
Plenty of vector math for pathfinding and navmesh analysis support
Made documentation and unit tests to quickly identify and solve problems
Experience working with debugging and profiling tools
Close work with Designers; A regular call for feature and bug support
Experience prototyping systems in and for Unreal Blueprints
An FPS from the classic Perfect Dark IP. My main tasks included implementing decision behavior, path and trajectory prediction, and third party plugins. On top of that I acted as a workhorse for the project. I got my feet wet in weapons, health, audio, and other systems as the team needed it.
Perfect Dark was my first professional project coming out of college. I joined in a phase of preproduction; When I started, a Lead AI Programmer and I were the only two AI Engineers on the project. I had to quickly get up to speed not just with the code that existed in the project, but our goals as a whole. Over the course of development I gradually gained the trust of my team, and planning sessions went from being told what I was working on to being asked what I was working on. That experience, going from a junior developer to a trusted member of the team, was a gift.
My work started with support for trajectory and AI pathing. That work expanded into supporting new AI behaviors, new AI enemy types, and whole new means of AI traversal. I also touched the damage pipeline for the game working on [REDACTED], helped with audio barks, and prototyped new weapons for the enemies to use.
I also became a regular call for support with problems related to optimization and bugs. Supporting spawning behaviors that busted or specific scripting that went wrong, as well as using Unreal Inisights to track the most expensive part of our AI and trying to alleviate it either through optimization or deciding that a new underlying system was needed.
I am also, and will forever be, the world record speedrunner.