Peng's Portfolio

Completed in 2022
This is the demo video for the project. The video is approximately 14 minutes long. You can set the playback speed to 2.0 or skip directly to the parts that interest you. The first boss fight demonstration is from 4:30 to 7:00, and the second boss fight demonstration is from 8:40 to 12:25. The rest of the video showcases levels and task completions. Thank you for watching!
To watch the video from mainland China, please click here:
Introduction

This is the first relatively complete project I've worked on since I began learning Unreal Engine. It was developed using UE4.26 and involves level design, basic combat mechanics, monster AI design, a simple UI, and a storyline. I tried to bring some of the ideas in my head to life, although some of the designs might seem a bit naive. Project One tells the story of rescuing NPC Zhang, uncovering an enemy conspiracy, and ultimately defeating the ultimate boss. The stealth gameplay is inspired by Assassin's Creed, while the art and combat aspects are influenced by Sekiro.
Characters and The Background Story
In 210 BC, Ying Zheng—the first emperor who unified the seven states of China—was about to embark on his sixth eastern tour. Five years earlier, General Meng Tian led an army of 300,000 to campaign against the Xiongnu and then mobilized his troops to build the Great Wall, providing a stable environment for the development of agrarian civilization. However, nearly one-fifth of the nation’s population was conscripted to build the Great Wall, sparking widespread discontent and unrest. Meanwhile, remnants of the other six states still remained active throughout the country. While traveling through Qin, the protagonist Lan met someone from the Zhang family; he later discovered that Zhang and his fellow countrymen had been captured by the Qin army to work on the Great Wall. Determined to help, Lan decided to infiltrate the enemy camp to rescue Zhang.
Main Characters:

A mysterious woman in a time of chaos, her true identity is that of a Yan native from one of the old six states, trained as an assassin from a young age.
For "Zhang," this identity is nothing more than a disguise. Like Captain Li, he is actually from Chu. Unwilling to accept the fall of their homeland, they, like the remnants of the other six states, have gone into hiding, waiting for the right moment to act.
After the Qin army destroyed Chu, they massacred Captain Li’s entire family, fueling his deep hatred for the Qin forces and Ying Zheng. Seeking revenge, he conspired with "Zhang"—one would infiltrate the military, while the other would secretly recruit soldiers.
Meanwhile, Zhao Si’s true identity is that of an assassin working for the emperor’s secret service. Ying Zheng suspected that a rebellion might be brewing within his army, so he sent Zhao Si to covertly monitor the troops and identify any suspicious individuals.
Level Design

Just like open-world games such as The Legend of Zelda and Elden Ring, I placed a massive landmark—a tree—in the level to guide players in that direction. The game's difficulty varies depending on the chosen path. Engaging in combat with numerous enemies increases the risk of death. Therefore, the red path has the most enemies and is the most dangerous. The yellow path offers a moderate challenge, while the green path is the easiest, requiring patience and slow stealth.

Most Dangours
Dangours
Recommended Route
I also considered guiding the player's emotions in my design. When players are in darker, enclosed areas, they experience a sense of tension. As the scene transitions from confined spaces to open areas, this tension gradually eases.

Additionally, to prevent boring, monotonous running, I incorporated puzzle-solving elements into the level.

Get task information from NPC
Observe candles to get suspected passwords
Try password to open gate
Player Character Abilities
Combat Related

Five Hits Combo
Locking System
Assassination from behind
Assassination from Top
Execution
Parry
The player's abilities are crucial in the game. For example, to support the stealth gameplay, I designed and implemented skills such as assassination.
Others

Lighting and Torches
Climbing
Rolling
Horse Riding
AI and Behavior Tree

Before designing the AI Behavior Tree, I first create a flowchart to outline my ideas in text. Based on this, I then build the AI Behavior Tree. This approach helps ensure a more logical design and prevents conflicts in the implementation.


My AI performs different tasks based on distance. I divided these distances into four categories: long-range, mid-range, close-range, and melee range, setting them as enumerated states. Additionally, after determining the distance, the AI evaluates its current health. If certain conditions are met, it will enter the second phase and execute different tasks.


This picture shows one of the AI’s skills. When the AI starts using this skill, it first sets the “Is Attacking” boolean on the blackboard to true. In my design, the AI plays attack animations within the Behavior Tree. If I want the player to be able to attack the AI while it is using a skill, the AI should not perform any attack actions at that moment. Therefore, I need to record its current state before the attack begins.
Next, the AI executes its attack montage animation. After that, I record the current time, which will be used for the cooldown (CD) system. Finally, when the attack state ends, the boolean is set back to false. This represents the core design logic of the skill. There are about nine such skills in this Behavior Tree.
Material Creation
Additionally, while most of the art assets in this project come from the Unreal Engine Marketplace, I created some custom materials myself, such as the wood material used in the arrow towers. I first used Substance Designer to create the textures, then imported them into Unreal Engine and refined them using the engine's material nodes.


