Please remember all assets shown are currently a work-in-progress.
All game development ultimately comes down to performance. All games must find every opportunity to reduce the burden on the processor wherever possible. One way 3D shooters do this is by pre-calculating and “baking” AI pathfinding, hints, scripted behaviors, and much more, into the level’s geometry when it is built, so much less computation is necessary at runtime.
Typically, AI operate on invisible paths that are integrated into the level geometry when the mission is created. These are pre-determined and pre-set, which means that once a map is built, polished, and tested in most 3D shooters, the map is deemed finished, and designers move on to the next.
This approach comes at the cost of a static—and therefore, arcadey—game world. Players memorize fixed positions of doorways, staircases, hallways, windows, and courtyards. And, tied to these fixed locations are enemies, who are able to spawn only in a very limited number of places. These “threats” can be anticipated, practiced, rehearsed, and cheesed. We believe this isn’t an accurate simulation of real-world combat.
What’s more, AI have more space to navigate in other games. Most 3D shooters make the rooms artificially larger than real life, the doors wider, and environments less congested. This gives both friendly and enemy AI much more freedom in their navigation. From the very start, the environments in most 3D shooters are built to minimize as much of the technical challenge as possible. In contrast, our actual-scale building geometry requires an even higher level of AI pathing sophistication as all these AI try to navigate around and support each other in tight environments while simultaneously trying to gain the upper hand in fast-moving gunfights. Urban combat is chaotic, and so is our game.
And then, on top of this, there’s the problem of clutter across the environment. Many Six Days missions, like the Northern Train Station, contain tons of debris from partially destroyed buildings. And this debris comes in all different shapes, sizes, and heights. Just getting AI to navigate environments like this is a challenge, much less giving them the intelligence to understand what they can use for cover, how to lean around debris, and how to take advantage of all this debris during combat.
Most 3D shooters avoid all three of these huge technical challenges – for very good reasons! But we do not have these luxuries in Six Days in Fallujah. As a matter of fact, we’ve done quite the opposite of our competitors so we can offer procedurally generated environments that you can’t memorize, environments that feel as claustrophobic as real life, and battlefields cluttered with the consequences of battle.
All of this forced us to re-invent many of the AI “shortcuts” games have used for years. It created an absurdly difficult challenge.
DEVELOPER COMMENT
With a nearly unlimited number of possibilities for the geometry, our AI is blind. It’s impossible for our AI to completely know the terrain. So, with every single action, we perform an analysis of the environment that dictates how Fireteam AI will respond. This analysis also considers exterior factors like number of threats and enemy positions. Our system is anything but automated, which comes at a great development and performance cost.
Making things even more difficult is that the Unreal Engine was not originally designed to do many of the things we’re now asking it to do with our AI. It has taken us a long time to realize this, but many of the underlying causes for deficiencies in our Fireteam AI aren’t actually in our code. We’re pushing Unreal Engine’s AI navigation systems so hard that we’ve exposed deficiencies. And, because these deficiencies sit inside the foundation supporting our entire game code, changing them now is like digging out the dirt underneath pillars that are holding up a bridge—while cars are crossing the bridge.
To do this, we’ve spent the last five months ripping Unreal’s AI navigation system out of our code and replacing it with a third-party solution. And here’s where things gets tricky. This AI navigation system isn’t just a single pillar. It has hundreds of connections throughout our code. In reality, we’re ripping out a full 3-mile stretch supporting hundreds of pillars holding up the bridge, all at the same time.
DEVELOPER COMMENT
The paths an AI character can follow inside a level are called a “Navigation Mesh.” Nav meshes are like carpets, and the AI can only walk where there’s carpet. One of the problems with Unreal’s nav mesh technology is that it creates islands. These are like gaps, or holes, in the carpet. When Fireteam AI get stuck in our game, it’s not because they don’t have the logic to know where to go—it’s because they physically cannot get there. Until now, we’ve had to spend absurd amounts of resources fixing these islands on a case-by-case basis.

These screenshots show some differences in how Unreal Engine’s navigation meshes (which is what we have been using until now) provide information to AI characters about where they can stand and move. Notice how the blue nav mesh (our old method) covers much less territory than the green mesh (the new method).
Our new tools ensure there are far fewer gaps in our navigation mesh, or carpet. What this means, to the player, is Fireteam AI pathfinding is not only more reliable than it used to be, but it’s also more natural. Paths chosen by AI will be more “human” with curves and bends instead of robotic lines that cut through the terrain. This also means Fireteam AI avoidance is more natural, too. Because we’ve improved pathing, their movement is also smoother around one another. Marines can more reliably pass by one another, anticipate one another’s positions, and collision between characters is less harsh.

Notice how the old nav mesh system left gaps in this staircase, causing AI to get stuck on stairs. The new system fixes this.
Now that we’ve addressed many of the navigation issues, we’ve also been able to address many other problems, some of which are able to leverage the new AI pathfinding system. In our Autumn update, players should expect:
- Fewer cases of blocking the player[list]
- Will go around or behind
- Previously, they’d occupy the most optimal firing position (which could sometimes be where the player was standing)
- Fewer cases of repeating the same lethal action leading to AI death
- Now follow exterior walls instead of cutting straight through rooms
- Properly pan doors, staircases, and windows
As always, a huge thank you to our community for the support! Your reports, comments, and feedback have shaped Fireteam AI into the best iteration Six Days has seen to date, and we hope you’ll continue to share your thoughts as we progress through Early Access and beyond.
Join the community conversation and offer us feedback on our official Discord server!
https://discord.gg/SixDaysGame