Uncharted 4 looks damn pretty — everyone knows that. But if you're a developer, working on the game, you need a little more live information than just how much ammo Drake's carrying in his pistol.
Photo: Ming-Lun Chou
Ming-Lun Chou has been working at Naughty Dog for the last couple of years, and he's been running a blog about his time as a developer. The Taiwanese-born programmer crafted some of the game logic and AI for Drake's latest adventure, and now that the game's hit shelves around the world he's able to talk about what that experience was like.
See all of those green things in the ground that look like little mines? According to Chou, they're posts. Each post gets assigned a different rating on various aspects (what's good for combat, what's good for hiding) and the NPC goes to the highest-rated post depending on the situation.
It's interesting seeing what Uncharted looks like under the scenes, when the scenery and high-fidelity models are encumbered by data about CPU timings, frame rates and memory usage.
"The basic idea is that buddies pick positions around the player to follow," Chou said. These potential positions are fanned out from the player, and must satisfy the following linear path clearance tests: player to position, position to a forward-projected position, forward-projected position to the player."
Climbing proved to be slightly more tricky, however, since the regular follow logic wasn't sufficient. "Simply telling buddies to use regular follow logic when the player is not climbing, and telling them to use climb posts when the player is climbing, is not enough. If the player quickly switch between climbing and non-climbing states, buddies would oscillate pretty badly between the two states."
You can read about the rest of Chou's experiences, including the development the AI determining how NPCs would investigate Drake's last known position, the logic behind character reactions during conversations, death by vehicle, and the changing of small — but important — elements like a delay the sound of an explosion, here.
All images courtesy of allenchou.net/Ming-Lun Chou