Naughty Dog at GDC 2021
 October 22, 2021

Naughty Dog at GDC 2021

Take a deep dive into the development of The Last of Us Part II! We're proud to share the presentations by the talented developers at Naughty Dog from GDC 2021.

Motion Matching in The Last of Us Part II

Michal Mach - Lead Animator

Maksym Zhuravlov - Principal Gameplay Animator

Download PowerPoint (3.8 GB)

Naughty Dog is known for the animation quality of their titles. For The Last of Us Part II, we decided to take a leap of faith and switch to at that time pretty experimental animation system called Motion Matching. Two Naughty Dog technical animators will tell you the story of initial joy, later frustration and ultimate fear as the development of the new project went on and but not everything went according to plan. Thanks to many clever solution, hard work and a very talented team, Naughty Dog was able to ship a game that was unanimously praised for animation quality among critics and players.

Bringing Allies to Life in The Last of Us Part II

Michal Mach - Lead Animator

Bryan Collinsworth - Game Designer

Download PowerPoint (989 MB)

In the Last of Us Part II, Naughty Dog sought to push the performances, behaviors and combat of the player's NPC allies to new levels of realism. This presentation will use standout player-NPC interaction moments from the game -- such as Ellie and Joel's visit to an abandoned museum, Abby's Seattle explorations with Lev and Yara and combat with Ellie and Dina -- to illustrate the principles, systems, and technologies that made TLOU2's characters feel dynamic, alive, and engaged in moment-to-moment gameplay.

Scriptable Core Dump Debugging and Memory Stomp Tracking

Artem Kovalovs - Principal Graphics Programmer

Download PowerPoint (30.9 MB)

This talk describes new executable/core dump debugging tools developed at Naughty Dog and most recently used during production of The Last of Us Part II. These tools are built on top of Microsoft Visual Studio debugger and allow for a scriptable interface to process memory and debugging. Game engines are extremely complicated executables with many threads/jobs running in parallel, racing data accesses, passing pointers around, iterating through many collections of complex data, etc. Each crash or erroneous condition is a digital forensic mystery for the programmer.

The slides describe the development and use of the debugging tools that make it easier for programmers to solve some of these mysteries. The tools allow us to script game specific conditions, analyze variables, parse memory, etc. with interactive and iterative python scripting. Case studies are shown on where and how these tools were used to track down complex errors and memory stomps in crash dumps.