Nuclear BUNKER Project "M"
The Last of Us Part II inspired linear level with scripted key moments
The Last of Us Part II inspired linear level with scripted key moments
Image/Gif carousel with highlights of level.
Timestamps for each beat in description.
Level Design Mission Design Encounter Design Level Scripting
Unreal Engine 5, Miro, Procreate, Figma
Level Designer
School, Personal
Nuclear Bunker Project "M" is a level inspired and based on The Last of Us Part II (TLOU2).
Duration of level: ~20 minutes.
Overview of setting:
Searching for a radio tower to call for help, our protagonist finally finds it and heads towards it.
But suddenly, a group of enemies intercepts them and pursues them, driving them to evade into a bunker.
As they try to find an alternate way out, they find themself confronted with hostile infected bugs and discover the bunker is powered by an unstable nuclear reactor!
After clearing the bugs and stabilizing the reactor, they find an exit to the surface.
PRIMARY
Create a satisfying and balance set of consecutive encounters, focusing on what makes for good pacing while continuing to drive forward player curiosity and motivations. (see Level Breakdown: Beat by Beat)
Create a level in an environment that both matches the TLOU2 setting and is a plausible place to explore gameplay and story elements.
Harbour a stronger sense of player intentionality, compared to my previous projects.
SECONDARY
Use level scripting for important transitions, level mechanics, and for key TLOU2 like a setting a player's starting position for an encounter after a short cutscene. (see Level scripting)
Introduce and teach a new enemy through encounters and teases. (see New enemy: Infected bug)
My main goal in how I planned and crafted the level was to recreate the typical TLOU series of traversal/exploration alternating with encounters, separated with gates and punctuated/driven by story elements.
N.B. The image in the center is a carousel, click the arrows to browse through all the screenshots of that specific beat.
- - -
Reminder: playthrough video at top of page has timestamps for each beat in description below video.
Traversal, Ressources, Vista
Intensity: 0/10
GOAL OF BEAT: introduction, setup expectation that they are nearing the goal they were pursuing.
Ressources: scattered throughout shipping containers, subtle signal of encounter ahead.
Vista: Player sees the Radio Tower, expected objective visible in distance
Fake Encounter, Pursuit
Intensity: 8/10
GOAL OF BEAT: subvert player's pursuit of goal, create tension by via an unwinnable encounter which becomes a pursuit into a mysterious tunnel with no apparent exit.
Scripted moment: human enemies cut off player's only way to their objective.
Fake Encounter: player must look for cover. Quickly a 2nd wave of enemies makes the encounter obviously unwinnable, forcing player to evade.
Pursuit: player is led into the tunnel, both by the geometry and by the enemies pursuing them.
Environmental Storytelling, Traversal, New enemy Tease #1
Intensity: 6/10
GOAL OF BEAT: reinforce that the only way forward is through, alude to story elements (what happened here), introduce idea of new enemy.
Environmental Storytelling: optionnal area rewards player exploration with more story insights.
Traversal: having to navigate the dilapidated and collapsed structures indirectly reinforces the story of what might be going on here.
New enemy Tease #1: enemy revealed in a non-threatening way.
Exploration Sequence, Encounter
Intensity: 8/10
GOAL OF BEAT: get player to explore an area before it becoming an active encounter
Exploration Sequence: locked door to next area sends player to explore, key to bathroom hidden in section behind pushable block. Opening bathroom door triggers encounter.
Encounter: versus infected enemies that were trapped in bathroom. Success allows access to code which unlocks door to next area.
Environmental Storytelling, New enemy Tease #2, Traversal
Intensity: 4/10
GOAL OF BEAT: exploration with less stress, more storytelling, more variety of traversal.
Environmental Storytelling: dishevelled dorms themselves tell a story, with extra story to be found in optionnal area.
New enemy Tease #2: while player still isn't in danger, this time the enemy lurches towards the player, showing hostility.
Traversal: navigating uneven geometry in the dark, then find their way to a vent which leads into next area.
See Scripted level specific assets to see how I scripted the elevator sequence.
Familiarise w/ space, Encounter, New enemy Combat Teach
Intensity: 9/10
GOAL OF BEAT: more intense encounter that teaches player how to deal with new enemy.
Familiarise w/ space: exploration encouraged by pickups and envt. storytelling.
Encounter: floor collapses, opening up encounter across two levels that both offer evasion and cover options.
New enemy Combat Teach: enemy behaviour and setup exposed to player, way out is blocked by enemies and enemy eggs covering pushable block, hinting to mechanic in final room.
Environmental Storytelling, Familiarise w/ space
Intensity: 5/10
GOAL OF BEAT: last break before final encounter, allow player to catch their breath while preparing for what's to come.
Environmental Storytelling: more opportunities to engage with storu points in a less tense way
Familiarise w/ space: part of the final encounter is where the player is (illuminated areas and stairs), while the rest is dimly visible through tall windows.
"Boss" Encounter, Environmental Puzzle
Intensity: 10/10
GOAL OF BEAT: final challenge that builds on what has been introduced and taught before, both in terms of combat and traversal.
"Boss" Encounter: player must apply what they learnt to incrementally more diffcult consecutive encounters.
Environmental Puzzle: player has to sequentially react to what is happening.
Overview of sequence:
Press the global reset button.
Reset fails -> Generator must be cleared and fixed.
Kill bugs on Generator + fix with button press.
Return to control room, reset Generator.
Repeat steps 2-4 for Condensor and Reactor.
Press global reset button again.
Station back to normal. Exit available.
See Final Room Scripting for an overview of how I scripted this.
Although I'm not a exactly a Game Designer™, I wanted to practice introducing a new gameplay element throughout a level. I thought it would complement well what I showed in my portfolio, and... it was fun to imagine and implement!
Partly inspired by Halflife headcrabs.
Small (1/5-1/4 height of character)
Add gameplay variety for player
Currently no enemy is smaller than human size, could complement the current set of enemies
Connect with the originial inspiration for TLOU's infected, the cordyceps fungus that is a parasite to insects.
Nimble and agile, easily jumps around space, making it a challenge to keep track of.
Attacks by lunging at player
Spawns from eggs, which could make eliminating eggs in time part of the challenge.
Egg clumps could dissimulate (spawn) ammo. This was, players aren't punished by engaging them in combat.
Low defenses BUT harder to aim at & must contend with groups of them.
I use level sequences to:
Make some quick placeholder animations and camera shots, that give a sense of the change the sudden shift I'm looking for. e.g. player has to jump out of the way of a falling rock.
Move geometry for one time shifts that impact gameplay. e.g. a huge rock that falls and changes the path ahead.
Set player to a new location, for example for the start of an encounter. e.g. after jumping out of the way, player's position is further back when continuing after level sequence.
The example here is the elevator used during BEAT 4 - The living quarters.
I wanted to have an elevator that works surprisingly well for a post-apocalyptic world, explained by it being in a bunker and powered by nuclear energy.
More specifically, I wanted:
A camera switch, to be able to keep the enemy's lurch towards the place in the viewport
Events to move the elevator from my level blueprint based on which floor I wanted it to move to.
Event dispatchers based on if the player was inside or not, so I could adapt the scripting of the doors.
For BEAT 8 - Kill the bugs, fix the reactor!
Overview of setup and logic
Bind events to interactions triggered on the switches
Make references to all the assets needed
Connect the events to the correct functions or events in the assets.