Part 2: Recreating “Last Of Us” in Unreal Engine 🎮

Dinuka Jay
4 min readOct 1, 2018

Building the amazing game play dynamics of “The Last Of Us” in Unreal Engine.

Read the 1st part of the game design here 👋

In my last blog entry, I confessed my love for “The Last Of Us” (TLOU) and had a very fan boy moment in front of y’all. I also introduced you to my newest challenge, which is to try and recreate game play and design of TLOU using Unreal Engine. Continuing where I left off, this blog post documents the modification of the character’s and the infected characters’ meshes, adding basic AI for the infected, adding character movement & basic stealth animations.

Referring to the block level mentioned in my last entry, I started off by placing the player in a comfort zone surrounded by 4 blocks as cover. I wanted to start off by modifying the mesh of the character (Ellie, in this particulate level) and continue forward.

Modifying the Character’s mesh

Figure 1 is from the trailer for “Last of Us II”. I love Ellie’s rendition in this trailer but I couldn’t find a model similar to it. I decided to go with a Mixamo model that came close to 2019’s Ellie rendition.

Figure 1: Screenshot from Last of Us II & Figure 2: The model I used for this level

Modifying the Infected Mesh

The infected in TLOU is pretty detailed and they aren’t your typical ‘zombie’. The story of LOU is centered around the breakout of the Cordyceps infection which in their wildest imagination manifests as a fungus (I’m assuming here) that takes over their bodies over time. Obviously, for this level, I couldn’t find any model that remotely came close to their rendition of the infected but here’s what I went with for version 1.

Hilarious but hey, it’s version 1 alright? I’ll come up with something better later.
So far, they look good in action

Infected animations

The animations for the infected comprised of 3 states for this version:

  • Idle
  • Walking
  • Running

Here’s an idle state of the infected:

Infected in idle state

Ideally I’d have the infected toggle between multiple idle animations but like I said, I wanted to keep this level to a minimum. Maybe next chapter? ;)

Character movement dynamics

To mimic the stealth crawl of Joel and Ellie in LOU, I slightly modified the posture of the Mixamo model and increased the arm-space. This gave that silent ‘oh so secret’ walk and made it 10X more dramatic to walk around un-textured cubes. Came out better than I expected 😃

Rendition of “The Stealth Walk” in Unreal Engine

In game play:

My rendition of stealth movement. Damn, that infected lady kinda scared me.

Basic AI using Pawn Sensing

Pawn sensing in Unreal Engine can be used to allow AI characters to detect when a player enters a specified radius close to the AI character or if a noise is made within their hearing distance. This can definitely help me setup a basic AI that runs towards the player once the player enters a vulnerable zone in the map. While this is barely any ‘AI’, this’ll do for now until I learn more about Decision trees for the next level. For this instance, the infected AI was attached with a 40° angle of sight to limit the visibility slightly.

Pawn sensing defines the distance of sight and radius hearing the AI can be attached with

Bonus: Detection animation for extra spice

Using Blue prints, I added a detection animation that plays when an infected detects the player’s presence within the pawn radius. This gave a dramatic look and a bit of a surprise effect. If I add a high pitch scream to this trigger… that’ll help me sleep well at night.

The Detection Blueprint 👇

In game play:

When you find out you’ve run out of Yogurt..

UPDATE: I’ve created a YouTube series for this:

Next blog post will focus on: Advanced Infected AI with terrain roaming 🎮

Game Development Series

For more frequent updates, you can find me on Twitter. I post dev progress there.

--

--