About Me
I’m passionate about developing artificial intelligence for computer games. I previously worked as a Senior Gameplay Engineer at Ubisoft, specialising in AI, and now work as a Principal Software Engineer at Blizzard Entertainment in an AI team. Alongside my industry experience, I’ve also taught game development at the University of Lancashire. My expertise includes both Entity Component System (ECS) architectures and more traditional game AI approaches, and I’ve developed AI systems in both commercial game engines and large-scale proprietary engines.
Unity is my primary development environment, and I regularly develop AI systems using the Data-Oriented Technology Stack (DOTS). My experience spans the entire AI pipeline, from perception, knowledge representation and tactical queries through to decision making, navigation, and automated testing frameworks, giving me end-to-end experience building scalable gameplay AI.
Throughout my career, I have developed AI systems across a variety of commercial and proprietary game engines. At Ubisoft, I worked with the Anvil engine implementing Hybrid Behaviour Trees, spatial queries, and gameplay AI behaviours. I hold experience with Unreal Engine through teaching games development at University of Lancashire and personal development. Working across different engine architectures has allowed me to quickly adapt and apply core AI principles regardless of technology stack.
Building AI systems for large-scale games requires careful consideration of performance, scalability, and maintainability. I have experience designing and optimising AI architectures for production environments, including improving update efficiency, managing large numbers of agents, and creating automated testing solutions to ensure reliable behaviour at scale.
My Projects
Other Experience
I have experience developing custom graphics engines using C++ and DirectX 11, including writing vertex, pixel, and geometry shaders using HLSL. This background has given me a strong understanding of engine architecture, performance constraints, and the relationship between gameplay systems and underlying technology.