Kojima Productions’ Death Stranding is a radically different kind of open-world game. Though combat and exploration are central pillars to its design, they’re almost inverted in their respective challenge levels. Players spend more time puzzling how to physically navigate the game’s treacherous terrain than they do mastering game combat.
But combat still exists, mostly in the form of MULES—a type of AI opponent who doesn’t seek to kill the player, but steal their cargo. In his GDC 2021 talk, Kojima Productions AI programmer Eric Johnson broke down why these AI opponents wound up having just as difficult a time navigating Death Stranding’s terrain as players did, and how they made sure they could still navigate the game’s open spaces without being vastly more competent at it than players.
When designing the MULES, Kojima Production’s goal was that they fulfill the following 4 rules:
- MULES should be focused on chasing down the player and stealing their cargo.
- Wherever the player can go, they should be able to follow.
- MULES should be able to move to and pick up cargo anywhere on the terrain.
- MULES should have detailed, realistic movement and interaction with the environment.
In some of Death Stranding’s environments, this behavior was fairly easy to implement, just using logic tied to the game’s navmeshes. But when dealing with the game’s more rocky, mountainous environments those navmeshes got more complicated.
In a lot of other games, Johnson explained that such areas would either be made off-limit to NPCs, or special areas for NPCs would be carved out with help from level designers.
Here’s a comparison of what the rocky areas looked like compared to the more industrial areas:
In these rocky areas, the player’s movement controller can step over obstacles that are roughly knee-height. So NPCs needed a similar capacity. This was built by raising the Navmesh step height, adding a raycast check in front of the NPC to detect the small ledges, and playing a special step up/down animation to mimic the player’s movement.
Next, Johnson compared how players can run over rocks to players. When players sprint over rocks, they risk tripping and falling or losing some of the cargo they’re carrying. NPCs do a ground material check to mimic that same behavior. When it detects the rocky material, it just gives a random chance to trigger a slip or stumble animation.
Simple enough, but how do you create nuance to make this behavior feel natural? If NPCs reliably slip on rocks without avoiding them, players can just beeline for rocks to incapacitate them. Johnson said the team wanted it to be clear that NPCs seemed like they knew how to navigate around rocks, to keep pressure on the player.
The solution was called “placement painting.”
In this solution, rocks are painted with a high-cost area surrounding them (referring to cost fields, which tell NPCs how to prioritize navigation in pathfinding), so the navigation system encourages NPCs to walk around rocks, and not just straight over them. They can still walk through rocky areas, but mostly if there are no other options.
Similar solutions were used to let MULES charge through bodies of water after the player. Navmesh was painted over the water, and then high-cost areas were painted on the mesh where water was present.
So the Navmesh went from looking like this, to this.
This basic foundation for Death Stranding’s AI helped NPCs mimic the player’s movement across rough terrain, but created more complex interactions as the terrain grew rockier. There were also memory limitations in creating search patterns across this rocky environment, which led to restrictions on how MULES search areas after they’ve become alerted to players’ presence.
It should come as no surprise to AI programmers that the described process is a very simple breakdown of how Death Stranding’s artificial intelligence, and you should definitely make time to watch Johnson’s full talk once it hits the GDC Vault. (Or on demand for the next week at GDC itself).
Gamasutra and GDC are sibling organizations under Informa Tech