Role Description: As an AI Programmer at Ubisoft Montreal, you will participate in the design and development of AI systems that bring game characters and interactions to life. In this role, you will work closely with multidisciplinary teams to deliver credible, readable, and performant behaviors directly integrated into the game experience.
What You’ll Do: - Design, implement, and maintain real-time gameplay AI systems in Unreal Engine, including gameplay systems, behavior trees, EQS, perception systems, state machines, and movement behaviors. - Own AI behaviors end-to-end, from architecture to implementation, debugging, tuning, and optimization directly in-game. - Collaborate closely with gameplay, animation, technical design, and programming teams to deliver readable, systemic, reliable, and maintainable AI. - Optimize AI systems considering performance, CPU constraints, compute budgets, behavioral level-of-detail, and simultaneous agent counts. - Prototype and iterate quickly on behaviors to validate design intentions. - Identify and fix AI-related bugs while improving overall stability. - Contribute to codebase quality by applying best practices and participating in code reviews. - Document systems and share best practices within the team.
Qualifications: - A degree in Computer Science or Computer Engineering. - At least 5 years of programming experience. - Strong skills in C++ programming applied to game AI. - Hands-on experience with Unreal Engine and its AI systems. - Experience with multiplayer games. - Understanding of gameplay design principles and their translation into AI behaviors. - Ability to analyze, debug, and optimize complex systems. - Team-oriented mindset in a multidisciplinary environment. - Attention to code quality, readability, and maintainability. - Curiosity and a desire to continuously improve existing systems. - Clear and structured communication, both verbal and written.
]]>