A few weeks ago, a diehard The Last of Us 2 fan managed to break the boss fight with Tommy by catching and killing the sharpshooter in what's meant to be a pure chase scene. This sparked an interesting Twitter thread from Naughty Dog technical designer Asher Einhorn, who first prototyped the scripting that would eventually become the Tommy sniper sequence way back in 2016. We don't often get such nitty-gritty breakdowns that put specific levels under a microscope, especially in the AAA scene, so I was eager to talk more with Einhorn about what went into Tommy's fight and his response to the newly discovered exploit.
Build a better mousetrap
Here's a tiny insight into how that prototype worked. I manually placed little points around the map in good spots for the sniper to be in, and rated them based on rays and distance to the player. When you got too close the sniper would run to the point with the highest rating. pic.twitter.com/BnobCsG3zWJuly 13, 2021
This all started with a rough draft for a new system that would allow The Last of Us 2's enemy snipers to reposition themselves based on the player's movements, and by Einhorn's reckoning, it was "a year and a half at least" before the final structure of Tommy's fight was even set.
"I was simultaneously working on two other levels, listen mode, the horse, and various other things, so it's a hard metric to pin down," he says of the development timeline. "Probably a good few months of solid work though. Not to mention being pulled off to work on various demos and trailers when those happen so... yeah, really hard to know. A long time!"
After Naughty Dog had decided on how to approach the level and built the bones of it, it had to put it through its paces. Einhorn explained in his Twitter thread that this sequence, particularly the finale, went through a lot of QA testing precisely because people kept finding new ways to get close to Tommy. Naughty Dog had to spot-check a ton of niche bugs and exploits that undermined the intended dynamic between Tommy as an untouchable boss and Abby as a pursuer. And as Einhorn points out, this testing clearly worked; players are only just now finding a way to really break the Tommy fight, and it's a niche workaround.
"I thought it was pretty robust," he tells me. "Usually QA are great at finding these issues and it's a testament to that fact that it took a whole year to be able to do this. Also, it seems this particular streamer has a hacked development build of the game, so perhaps you need that to be able to do this. There are some backup systems that trigger if you get this close, but it seems they're off by that point which is annoying."
But eventually we landed on a linear design. Not being a level designer, I picked out a space in the seattle marina and an environment artist, Todd Foster, made a quick blockout of it. I shifted around pieces to make a very rudimentary first version. pic.twitter.com/JX6wtg3GBvJuly 13, 2021
The idea that Tommy is effectively invincible during most of this sequence also created a ton of extra work and challenges throughout development. This led Naughty Dog to tweak and add lots of little details and rules that collectively steered the player in a certain direction. Some of it required more subtle signposting, like communicating the threat of Tommy's shots by having them dramatically plink off nearby cover. At the other end of the spectrum, sometimes the game would actively bend the rules by slowing down nearby infected or reducing Tommy's accuracy to ensure things are tense but fair, and never too overwhelming.
"We do stuff like this a lot, but all those things were custom for this encounter," Einhorn explains. "In general, if we watch playtests and people really seem like they deserve the win, we see if we can give it to them. A classic version of this that also exists in this sequence is when you're on the cart that Tommy is shooting, it has a variable timer, so if you're moving towards the goal, you actually get a little more time to reach it. If you stop or go backwards the timer runs down faster and Tommy will destroy the cart and then kill you.
"We do this though, not really to make players feel good, it's to stop them feeling like a loss is unfair. So the actual problem we fixed with that particular solution is that players could take a second to register they were supposed to be moving. Meanwhile, the timer is counting down. When they finally realize what they're supposed to do, they move out, the timer runs out and they die and it just feels bad. We do this kind of thing to compensate for those edge cases. It all comes from watching playtests and just feeling really bad when you ruin someone's day!"
Challenging but not punishing
This highlights, to me, the most fascinating part of all this. Here we have an incredibly niche type of encounter built with significant restrictions – development time being one of them – that's then further refined to give players just enough slack so that they can keep up, but not so much that all danger is jettisoned. This kind of balancing is by no means uncommon – games are, after all, designed to be beaten – but viewed specifically through the lens of this sequence, it serves as another cool example of how games will go out of their way to assist us in ways we probably won't even notice in the moment, like a more elegant version of the rubber-banding you sometimes see in racers. Admittedly, I also love the mental image of Einhorn and other designers watching playtesters abruptly step on a rake and then scrambling to figure out the best way to remove that rake without breaking anything.
"That's so common I find - you watch someone really enjoying the game and then something in your section makes them feel miserable," Einhorn adds. "That's a terrible feeling! Of course, sometimes you're trying to make people feel miserable so that when they win, they're relieved. So we do the opposite too sometimes! It all depends on the story beat. This section is supposed to make you feel empowered and brazen so we boost you up with things like this."
This also reinforces just how much work it can take to build this kind of level. It's pretty widely understood that making games is hard, but to dig through years of cumulative work that went into a single sequence many players will spend like 10 minutes rushing through really puts it in perspective.
"I think you can pretty much say this of any AAA level," Einhorn says. "The amount of work and care that people put into these levels is astonishing, and even after talking about my contribution, it says nothing of the endless work on animation, the dialogue team, cinematics, character, props, concept, environment art, effects, sound, and so on, not to mention how much support we get from our programmers.
"Every single thing is iterated on and reviewed and everything usually has to change multiple times to accommodate some sort of playtest feedback or narrative requirement. The amount of work that goes into these levels from everyone before ship is really astonishing. It's like packing up a house: you think you've put all the big things in boxes and it's almost done, and it turns out at that point you've basically only completed 10% of the work.
"I would also definitely say, the thing that really motivates us is watching playtests and trying to make something our players really love. It's so satisfying when you see that first tester who makes it all the way through the level and loves it. That's where a lot of the incentive to create these extra little tweaks and fixes comes from."
This next section was, to be blunt, a fucking huge pain in the ass to make work, but actually a lot of fun to do. I love doing this stuff. We wanted it to feel like you were just catching up to Tommy, that you almost had him, and that it was your brazenness that gets Manny killed pic.twitter.com/2y59m50fjEJuly 13, 2021
A big part of this process involved cutting some ideas for the Tommy fight – including some holdovers from that first sniper draft – and ensuring that the remaining ideas could be fleshed out within the game's budget and deadline. Einhorn touched on this briefly in his Twitter thread – "It's not quite the matrix lobby fight I wanted it to be, but I hope it's still cool" – but I wanted to ask again, with the benefit of hindsight, what he would add or change about this sequence if he could do so with a snap of his fingers.
"Oh, I think I would make that lobby fight much bigger," he says. "Maybe four times the size so the systems controlling it, which are quite complex, could have been used more. It would have been more obvious how dynamic Tommy is there if we could have spent more time redesigning that space. Time was tight though and it's hard to foresee these things sometimes. It's a cool sequence but it only lasts about half a minute. I wish it lasted a minute or so."
As short as it is, Tommy's fight has always been one of the more memorable moments in a game filled with moments worth remembering, so it's been great fun to see it dissected like this. We've just passed the one-year anniversary of The Last of Us 2 and players are still doggedly digging up new details – like the fact it won't let you shoot a PS3 – so I'm looking forward to seeing what the community finds in the months and years ahead.