Perfect Dark (NPC Engineer)
Worked on the project from August 2022 through August 2025
Unreal C++ Project for Xbox and Windows
Worked under a Lead NPC Programmer on GOAP behavior, prototype enemies, and pathfinding support.
Given a large amount of autonomy which included prototyping key features from scratch on my own initiative (i.e, created flying enemies for the game)
Supported other teams as needed for features like damage pipelines, audio barks, and more
Primary support for an external pathfinding plugin, HAVOK. We got patches and features ahead of public release from them that I got to implement and test!
Plenty of vector math for pathfinding and navmesh/navvolume 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 NPC Programmer and I were the only two NPC 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 NPC pathing. That work expanded into supporting new behaviors, new enemy types, and whole new means of NPC traversal. I worked on the damage pipeline in the game as I made the NPC Armor/Damage mitigation system, 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 NPC’s 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.