Dreadhurst Manor - Project Breakdown
This was my first project, I had spent a couple of months with Unreal Engine 5 and was overconfident. I has followed some tutorials that would encompass the bones of the game. Based on one of my favourite genres, survival horror. I set out to make the best prototype I could.
As a solo project, I handled everything myself and the duration took around 2 months. This is a retrospective 2 years after I made this so forgive some hazy details!
First Attempt At Level Design!
-----------------------------------------------------------------------------------
As this was my first project I didn't utilise grey boxes correctly. I did a primitive form of grey boxes using basic shapes, but this was before I understood what a portfolio was, so I didn't document things!
For simplicity, this is a single level, a 2 floor manor with explorable areas around the perimeter and an exit gate, let's take a look at the level flow, despite me knowing nothing about level design or referencing at the time. Looking back on the project, I had the idea of making the level extremely dark, forcing the use of the flashlight. It makes the images hard to see, I'll show some images in the Lit version and some in the unlit version.
The foyer leads to the grand staircase with a swinging chandelier, there are 2 staircases to allow the player to loop around chasing enemies.
The vast majority of the rooms in the mansion were single entranced rooms, however some were open, connecting to others. The dining room, connects to the kitchen, allowing the player to access both corridors to avoid enemies.
The East and West wings both have staircases leading to the upper floor, the player has the freedom to explore, as do the enemies. This creates a simple loop area, but with no idea where enemies can be, a sense of dread is added.
Switching to an unlit view now, the second floor is home to a small gallery area and a reading nook. Combined with the staircase, it gives players plenty options to evade enemies.
To make things slightly easier to see in the exterior scenes, the time of day is changed from pitch black to overcast daytime. Going left from the courtyard takes the player to the staff quarters, this leads onto a rushed staff entryway, it was meant to be an explorable garage area, but a simple shed was added.
The staff entryway leads to a construction site, to signify the expansion of the mansion as a small piece of world building, this leads onto a lake section that allows the player to walk around the circumference.
This leads to the final piece of the level, the flower garden. Serving as a maze, it is the final place the player can use to avoid enemies.
The Game Loop
----------------------------------------------------------------------------------
The objective of the game is to find keys around the level and if the player has them all, they can escape out of the exit gate. They must avoid randomly roaming enemies that kill the player if they touch them. The game loop is tied together through a narrative told via a notes system.
Breaking down how the game was made, we begin with the Player Character:
Added to Begin Play is the in-built logic of getting the player input system, then adding a Fade widget for when the game starts.
An AI controller and blackboard were created to define and the behaviour tree created the enemy loop logic. The enemy randomly roams the map in its search phase and stops and waits for a short while. If it sees the player it chases them and attacks them when it is close.
A pawn sensing component was added to the enemy, with its dominant sense set to sight. The logic for seeing the player is added on a loop and if no longer sees the player, the chase music fades away.
Similarly, the chase logic fades the chase music in if it does see the player and increases the enemy movement speed. Due to loud ambient chase music and background music the enemy moves very slowly, this was done to ensure the enemies didn't kill the player too quickly.
The attack logic was quite simple, if the enemy is attacking the player, the animation plays and a sphere trace checks for the player and applies the damage if it connects.
A notes BP with the variable is placed in the world, with editable instances and exposed on spawn, this allows text to to be added per note.
The first screengrab shows the gate system. It checks to see if the player has enough keys and opens the main menu if they do (win condition) and plays a sound if they don't.
One of the biggest headaches was making a swinging chandelier, I made a simple timeline animation, it just about worked.
The final mechanic was the door system, it is a brute force method and one I remember struggling with,
This is a project I would love to redo with the knowledge I have now.
Comments
Post a Comment