Project Overview
As a fan of Destiny 2 and its raids, I was inspired by the Verity encounter from the latest raid in the new DLC. Known as one of the most complicated puzzles in the game, the encounter intrigued me with its complexity. After playing through it, I realized I understood how the mechanic worked and decided to challenge myself to recreate it in Unreal Engine.
The Original Mechanic
In Destiny 2’s Verity encounter, six players work together to solve a complex puzzle. Three players are separated into different rooms, while the remaining three stay in the original room. The goal is to free the separated players by distributing 2D shapes between them. These shapes need to be combined in specific ways to form a 3D shape that functions as a “key.” The players in the original room must mix the shapes to form a corresponding 3D “lock.” The puzzle’s difficulty is amplified by player deaths and an added revive mechanic.
Changes and Adaptations
Since the original encounter was a 6-player activity, I adapted it for a single-player experience. I removed the revive mechanic and allowed the player to freely navigate between the original room and the three separate rooms. This setup enabled the player to distribute the shapes in whatever order was needed. To ensure the core functionality remained intact, I added visual affordances to indicate when the puzzle was solved, replicating the “lock” and “key” mechanics from the original game.
Reverse Engineering Process
While playing the encounter, I noticed that the shape distribution between players resembled an array list in programming. I concluded that the shapes were in-game buffs distributed between arrays in different rooms. To recreate this mechanic, I used Unreal Engine’s Gameplay Ability System to implement in-game buffs. I also created arrays of effects in each room, which could be transferred between each other. I ran into challenges, especially with the verification of 2D and 3D shapes, but solved it by writing a data table to manage the details of all shapes, avoiding the need to duplicate variables and functions.
The Result
In my final version of the mechanic, roaming AI drops shapes (circle, triangle, square) on the floor. In the original room, the player kills enemies to collect the shapes and interacts with statues to swap shapes between statues. The player repeats this process until all three statues in the original room display the correct 3D shape (the “lock”). In the individual rooms, each starts with two shapes, and the player must ensure that the room has only the two shapes that are not the one in their room’s statue’s hand. The lock in the original room also needs to match the correct 3D shape formed from these two shapes. Once the 3D shape for the key and lock is correct, the room is cleared.
What I’m Most Proud Of
I’m particularly proud of how the core mechanic, including the switching, combining, and transferring of shapes, works flawlessly. Additionally, I tweaked several details from the original game, such as ensuring that each individual room starts with at least one incorrect shape, which forces the player to switch shapes in order to complete the 3D shapes in the original room.
How This Project Reflects My Skills
This project demonstrates my ability to learn and apply new, complex systems, such as the Gameplay Ability System in Unreal Engine, while adapting them to my needs. It also highlights my understanding of modern game mechanics and my strong analytical skills, as I was able to break down a complex puzzle into its core programming elements and recreate it in a new environment.