I've recently fallen in belated love with Assassin's Creed: Origins, in large part because exploring such a beautifully recreated chunk of Egyptian landscape feels like some kind of incredible time travel holiday. The mix of actual history and antiquarian mythology make Origins the richest open world since The Witcher III, but the scenery is only part of what makes it special. Convincing non-player characters and side quests which end in a surprise are also vital to making the world feel alive. It also helps that the AI was designed to prevent the kind of shambles most of us are familiar with from open world games.
At a Game Devlopers Conference session today entitled 'Refactoring the NPC mission system in Assassin's Creed: Origins', gameplay programmer Jean-Marie Santoni-Constantini said that the team at Ubisoft Montreal were inspired by the likes of Shadow of Mordor, Breath of the Wild, and (of course) The Witcher III when it came to designing the behaviour of Origins' NPCs. The solution the developer landed on was ensuring that every NPC in the game always had a goal to complete, whether that might mean a bodyguard protecting another NPC, a captain relaxing in a camp, a villager escorting a cart and so on. You can actually see these goals exposed when you send Senu, your friendly eagle-come-targeting-drone to scout an area.
Where things get interesting is when conflicting goals intersect. So the rebels goal might be to ambush a cart, while Roman troops are set on defending it. Once the cart enters the trigger zone for the rebels, they'll swoop in on horses or begin peppering Caesar's boys with arrows. Whether or not Bayek joins in is of course up to you, the player—but even if you don't the event will play out organically as the NPCs' actions will continue to be driven by their primary goals.
Santoni-Constantini noted it was possible for an NPC to have additional sub-goals, but they can never have no goal whatsoever. Unlike me on a Sunday.
As Santoni-Constantini was explaining how the system worked, I flashed back to that time I spent perching on the top of a trireme mast and firing flaming arrows onto the poor schmuck commercial sailors below. At first they tried to put out the flaming hay piles. Then they started diving off the burning vessel in vintage action movie style. It looked and felt incredibly natural and cool, and also made me realise how little I'd seen the game mess up in the way open worlds often tend to.
Okay, so one time I found a horse perched or a fence post by just its back legs, and on another occasion I ran into an immortal gazelle which stayed chill despite being shot through the throat, but in terms of how the actual characters act, in the 40+ hours I've played Origins it has seldom broken its uncanny illusion.
This is particularly true of missions during which you're escorting another character. So often these are the bane of open worlds, because your non-player chum will spook easily, or die accidentally, leading to irritating restarts. Santoni-Constantini explained how they'd avoided these problems by giving plenty of latitude to the goals of these characters.
For instance, you've probably noticed that if Bayek jumps on a boat or horse, the other character will do likewise without skipping a beat in whatever expositional story they're delivering. In one instance I even recall Aya desperately swimming behind me as I began a lengthy sea journey in one of those wicker Ubers that are everywhere. And even if you do give your significant other the slip, the game will take a long time to trigger a fail state. Meanwhile, the NPC will be waiting patiently near where you left them.
Santoni-Constantini explained that it was important Origins AI was robust enough to be able to handle edge cases like a vehicle being destroyed or sudden combat. If a fight kicks off they will join in, and then resume the mission once the enemies have been defeated. The benefit to the player of having NPCs with their shit together is obvious, but he also said it made debugging the game much easier because when a problem was encountered it only had to be fixed once, and the fix would automatically apply to other similar cases. However, the trade off using such systemic AI was that it meant there was less scope for the designers to create bespoke moments.
That clash of mindset between the programming team and mission designers was ultimately resolved by creating side quests which had satisfying narrative twists that could be delivered without having to change the AI's fundamental rules. So from humble peasants to garrison commanders, what underpins Origins' society are a set of clearly-defined, achievable goals. If only the real world was so simple. Right now mine would probably be alternating between 'eat burger' and 'protect dog'.