Joining Ubisoft Montreal meant leaving everything behind. A new country, a new continent, a new life. It was a jump into the unknown. The kind you make when an opportunity is too good to turn down and you decide to figure out the rest later.

Eight years later, it remains one of the best decisions I’ve ever made.

Assassin’s Creed Origins — AI Programmer

My first project in Montreal put me at the heart of one of Ubisoft’s most ambitious open worlds. I worked as an AI Programmer on the Crowdlife system, specifically the stations architecture that gives the world of ancient Egypt its sense of life.

Stations are interaction points scattered throughout the world, places where NPCs eat, sleep, work, pray, trade. Origins shipped with more than 30,000 of them. The real challenge wasn’t logistics, it was context. In previous entries in the series, NPCs would play an animation at a station without truly knowing what they were doing. If the player bumped into them, or the station was blocked, everything broke: NPCs popping onto tables, falling through geometry, snapping out of interactions with no grace. The illusion collapsed the moment anything unexpected happened. What we built for Origins gave NPCs genuine awareness of their situation. They knew what activity they were performing, what posture they were in, how to exit a station normally, and how to react if something interrupted them. The difference wasn’t just visual. It changed how the world felt to inhabit.

Getting that to feel alive rather than mechanical was the challenge. I also stepped into an AI lead role for a few months as a replacement, which gave me my first real taste of technical leadership.

Assassin's Creed Origins stations Assassin's Creed Origins Bayek

Far Cry 5 — AI Programmer

I moved to Far Cry 5 shortly after shipping Origins, joining the team in the final stretch to help bring the game home in good shape. My focus was the Crowdlife systems, the same domain I’d just spent years in, applied to a very different world. A few months of intense work, and another shipped title.

Far Cry 5 Joseph Seed Far Cry 5 ingame

Far Cry 6 — Gameplay Programmer → Team Lead

Far Cry 6 is where everything changed.

I started as the only Gameplay Programmer on the Montreal side of the project, supporting other teams while building new features: a tank, a flying car (the Pegasus), and the vehicle customization system. Working alone on a project that size forces a certain kind of ownership. You become the reference point because there’s no one else to be.

That visibility, combined with a constant attention to detail and a drive to deliver, led to something I hadn’t expected: I was asked to build a team around me. I became Team Lead Gameplay Programmer, hired and grew a team of engineers, and saw the project through to ship as a leader rather than an individual contributor.

It was a blast.

I led a team of 11 Gameplay Programmers, with a mandate that covered weapons, vehicles, some 3Cs and much more. The job stopped being purely about code, it became about people. Helping engineers grow professionally and personally, keeping the build stable, supporting other teams when they needed it, pushing quality every single day. What I’m most proud of isn’t any single feature. It’s how the team was perceived across the production: as a group that raised the bar in a way that hadn’t been done before on the franchise.

Far Cry 6 Tank Far Cry 6 Pegasus

Undisclosed Project

There’s one more project I worked on at Ubisoft Montreal that I can’t talk about in detail. Not yet.

What I can talk about is the team.

I led 15 Gameplay Programmers specializing in 3C, some of the most demanding and visible work in any action game. My goal wasn’t just to deliver features. It was to create the conditions where the team could do their best work: a clear roadmap so everyone had visibility, regular play sessions to test features together and talk honestly about the game, pairing between juniors and seniors, individual development plans, open brainstorms where new ideas were genuinely heard.

I don’t believe in micromanagement. I believe in trust, transparency, honesty and in building an environment where people feel safe enough to take risks and grow.

Beyond the project itself, I started building something larger: a community of AI and Gameplay Programmers across studios, born in Montreal and now expanding across several countries. The idea, developed alongside an amazing colleague, is simple: share knowledge, build together, break down the walls between teams. Dedicated time to talk about tech, pipelines, game ideas, experiences. Anything that makes us better individually and collectively, and that creates real bonds between people who are often working on the same problems in different places.

There’s a lot I’m proud of from this chapter. Most of it has nothing to do with the game.