Project Rapture

The main menu was Created to be visually appealing as well as set the tone for the Game. The menu is also dynamic with low poly fire effects created in Unreal's particle system. The menu also features Dynamic Lighting and a Niagra emitter Spark effect

Main Menu

Game Overview

Project Rapture is a 3rd/1st person zombie survival game. You take the role of a lone survivor years after the zombie outbreak. You will build, scavenge and fight for your survival. I focused on Visual Storytelling, Advanced Gameplay Scripting, Level Design, and Widget creation

Visual Storytelling in Level Design

Being an open world environment the focus was placed on telling interesting stories through level design to keep the player immersed in the world. Because of the open-world nature, I made each building both accessible and unique 

Narrative and Quest Design

As an open world game the quest system takes a very open approach with mission boards to start and turn in quests, however some mission boards contain quests while others do not thus forcing the player to explore and do quests to unlock more quests and parts of the narrative

Build System 

Building upon the existing content I decided to implement a base building system with unique material, build menu, and blueprint classes.

Dialogue System

The dialogue System was crafted to bring NPC's to life and enrich the world you play in. The System started with the creation of the NPC with a camera placed for the dialog perspectives. It was then implemented using Blueprints to change the Camera and controls to the dialogue mode and create the dialogue interface. I used Behavior trees to act as dialogue trees with multiple replies depending on what the player chooses to say.

Find the Code at:

Spawning Zombies

One of the first problems I encountered happened when populating the level with enemies. Because of the open world nature of the game, the result was 200+ enemies which can be taxing on the system and cause the blueprint to become overwhelmed and break the AI. To rectify this I created a spawning system that triggers when the player overlaps it and spawns the selected enemies in the next area the player will enter. 

The System Consists of 2 parts, a spawn controller and a spawner. The spawn controller is a blueprint with an array of spawners and a trigger box that spawns all the objects in the array when the player overlaps the trigger region.
The spawner simply holds all the attributes of the class that needs to spawn as well as their relative world location

Zombie quests.png