Gameplay Programmer
AI | Encounters
I partnered with a Senior Programmer on Encounters where we took ownership from designers and fully refactored the entire system. With Nightingale being a live service game
we also consulted our designers to identify and alleviate as many inefficiencies as possible in the data authoring process and level markup to ensure a sustainable content pipeline with quick turnover.
I then had the opportunity to move to the AI team with the primary goal of bridging the gap between Encounters and creatures. By obtaining a
greater understanding of our AI systems, we were able to decouple Encounters from AI, define a solid bridge, and make much needed improvements to both systems.
I also had the opportunity to mentor interns and junior programmers, and represent Inflexion Games at various outreach events supporting
Alberta's growing media industry.
It was a privilege to work with an undeniably talented team at Inflexion Games and ship my first game. This was my
first real foray into the game industry and I'm incredibly grateful to have been given the opportunity to work with this team on Nightingale.
I was given the environment to make mistakes, pursue my interests, and take ownership of my systems.
Key Contributions:
- Refactored combat Encounters to support Storied Realm bosses, improve small space combat, and revamp enemy distribution for Realms Rebuilt, Nightingale’s largest update, helping push its Steam score from a ”Mixed” 63% to a ”Very Positive” 83%.
- Took ownership of Encounters from designers, nativized its core systems, introduced persistence, replication, automated testing, gameplay debugger data, and level design tools, ensuring its robustness, extensibility, and readability.
- Spearheaded data authoring improvements for Encounters including streamlining POI markup, automating creature distribution, and validation, resulting in a 80% reduction in bugs and significantly reducing time spent authoring and debugging.
- Created an editor tool to preview and validate EQS queries, virtually eliminating creature-spawning bugs.
- Expanded the capabilities of our spawning system by providing a way to easily author and query EQCs in C++, enabling bespoke spawn locations, allowing ordered and weighted spawning based on creature data, and deleting 97% of EQS assets.
- Nativized the spawning system in Encounters and unified its data into data assets, reducing asset dependencies by 99%, streamlining the creature spawning setup, and increasing the system’s extensibility.
- Refactored the presentation system for Encounters to support fully diegetic player communication, removing the need for replication in Encounters’ core systems, and defining the foundation for Encounters’ rewards.
- Collaborated closely with other teams, acting as the primary point of contact for Encounters, ensuring that new features and the vision of the game were consistently realized through code, and the integrity of other systems was maintained.