Create a non-linear puzzle experience using the shifting mechanics
Tell a space-themed horror story within a reusable space
Design and Implement multiple gameplay systems with modular usage
Fully implement a level from scratch with Unreal Blueprints, SFX, VFX, and Mod Kits
DESIGN PROCESS
Design Process Step 1 - Identifying Level Hooks
I want to pay tribute to my favorite game, Dishonored 2, by attempting to create my own level using the unique mechanic of time shifting in its game.
Design Process Special Step - Pitch Evaluation
When I set out to do this project, I prototyped to see the feasibility of the scope; then I brainstormed gameplay interactions with pros and cons.
Design Process Step 2 - Production Plan
After all the gameplay brainstorm, I set a deliverable scheudle and created a production plan for myself on Monday.com
Design Process Step 3 - Finding Visual References
Diving into production, I started with visual references of the artistic style I want to go for, combined with available Marketplace assets.
Design Process Step 4 - Map Draft
With a good idea and thematic structure in place, I blocked out my gameplay space and flow in 2D first, mapping out the general flow of the level.
Design Process Step 5 - Gameplay Mechanics Design and Implementation
Then I dived into Unreal Engine, prototyped all the core mechanics required in this level, along with some system architecture design that I need for the project.
IMPLEMENTATION DETAILS
As the solo developer of this level, I take charge of designing, managing, and implementing all the core gameplay mechanics, and all the supporting systems of this level.
My primary goal of development is to implement modular systems that are scalable and reusable. The four systems I am showcasing here are: the core mechanic shifting system, the core mechanic consequences system, the supplementary lock-and-key system, and the supplementary narrative systems (i.e. note pick-ups, radio dialogues, etc.)
Core Mechanic - Shifting
Design Inspirations
My core mechanic of time shifting is a passionate tribute to the two example games shown on the right (Dishonored 2 and Titanfall 2). Having played and been amazed by these two levels, I want to create my own version of it and take on the challenge of implementing a level from scratch in Unreal. I have taken a small-scope approach to this project as detailed in this page.
Dishonored 2 Inspiration
Titanfall 2 Inspiration
Prototype of the Core Mechanic (Video)
Core Mechanic Implementation Blueprint
Implementation Notes
From studying the talks of the developers of Dishonored 2, I successfully implemented the mechanic using a Location Transform function that "teleports" the player from one level to another to fake the "time travel" effects.
But I ran into issues while designing...
Issue #1 Unreachable Destinations
In my puzzle designs, some areas are not meant to be reached using this "teleportation", how would I detect when the Player can reach the destination or not?
Solution
I created a Blueprint actor trigger that detects the destination position of the Player, blocking the Player's teleportation before it happens.
Simple Blueprint Solution
In-Game Results
Issue #2 Teleportation Pacing
The first iteration of the "teleportation" is instant, which makes the level pace very fast, almost Titanfall-like. I wanted to create a slow-paced, exploration-heavy, detective game, how can I slow down the Player's pace?
Solution
I used UE's Post Process Blend Weight and Timeline to create a transition effect that takes more time to complete one transition, discouraging the Player to transition all the time.
Fast Paced Transition from Before
Slow Paced Transition in After
Core Mechanic - Consequences System
Design Inspirations
Another core mechanic involves Player's action's consequences. Taking inspiration from games like Life is Strange and Titanfall 2, I want to reinforce the concept of "time" in the gameplay. In the level, the Player's action in the past, such as breaking a wall or a table, will result in a consequence in the future/present. I want to implement the system of consequences in Unreal blueprint and incorporate it into my level.
Consequence Mechanic Implementation Blueprint
In this function, I created a publicly editable variable tag that allows me to iterate in viewport editing quickly. Then, I match each actor with another actor with a similar tag. Once a tag is matched, the Blueprint will replace the current actors with the destroyed actors.
Supporting System - Lock & Key Tool
Design Inspirations
For this project, I want a convenient tool for myself to set up locked doors and keycards to control the Player's flow. I also want to create a scalable tool that I can use in future projects.
This is what the final prototype looks like.
Tool Implementation Blueprint
Scalable Tool
The designer can use this tool to customize their locked door types and how they present themselves in the editor/in the game. The text on the door as well as the lock colors change according to the type it is.
All the tool data is stored in a Data Structure, easily managable.