The Great Escape

In-game Screenshots




Development Info
Role: AI Programmer
Duration: March 2023 - May 2023
Tools Used: Unreal Engine 5, VS Code, Github LFS
Team Size: 6
Project Description
The Great Escape is a 3rd person stealth game where you play as a rebellious teenager who is determined to sneak out of the house to attend a party. Use your surroundings to your advantage, manipulate objects, and complete a variety of challenges to avoid detection from family members in your house.
Project Development
--- My Role ---
I was in charge of the AI progrmming for the game. There are three NPCs (Mom, Aunt and Dad) in the game and they are all AI-powered. I also integrated all the animations for our four characters.




- Mom-AI: Sight, touch and sound perception, Patroling around and house
- Aunt-AI: Sight and touch perception
- Dad-AI: Sight and touch perception
--- Challenges and Solutions ---
Patroling
To ensure that the player remains undetected during certain periods of the game, it was necessary to design Mom's patrol route around the house with certain restrictions in mind. Specifically, Mom should avoid entering both Aunt's room and the player's room. To achieve this, I implemented a system of patrol points throughout the house, with their positions stored in a list that Mom could navigate to sequentially. To make the game more manageable, a 1-second wait time was added each time Mom reached a new patrol point. If Mom detects the player during her patrol, she will interrupt her route to investigate. However, once the stimulus is lost, Mom will resume her patrol route.

Detection and Chasing
When Mom detects the player either by sound or sight, she will immediately abandon her patrol and begin to chase the player until they successfully hide. Once the player has evaded detection, Mom will return to her patrol route. The overall sequence of Mom's behaviors can be summarized as Patrol -> Detect -> React -> Patrol. Designing and fine-tuning Mom's behavior tree was a time-consuming process, as it was necessary to ensure smooth and seamless transitions between all of her behaviors.



--- Version Control ---
Our team utilized Github for version control during our project, but we encountered some difficulties. One of the issues we faced was that our map would occasionally be deleted due to merging, and despite our efforts, we were unable to identify the root cause of this problem. Additionally, we found that we had to pay for Github LFS, which was an unexpected expense. While we considered using Perforce, which is specifically designed for Unreal engine, we ultimately decided against it due to the lack of a dedicated server. Despite these challenges, we found that Github generally provided stable support throughout our development process.
--- Lessons learned ---
- How to do AI programming UE5
- How to use UE5 blueprint in conjunction with C++
- How to implement animations and State machine
- How to effectively communicate with artists using simple and easy-to-understand language
- A narrower scope often results in a more polished project
Project Source
If you are interested, you can check out the game using the button below!