Since my last post I have completed the design of the level and finalised the general gameplay. I created the maze within the tomb of my level and added events to trap the player as well as a way to exit the tomb to complete the game.
I chose to make a very simple maze that, while not particularly challenging to complete on its own, becomes more difficult due to the darkness that can easily cause the player to get lost and disorientated. The addition of the chasing enemy will also give extra complexity and danger to what is in fact a very simple game. The beginning of the maze starts when the player collects the statue towards the entrance of the tomb causing a large boulder to block the exit. I created this effect by making a simple blueprint that would move the rock when the player interacts with the statue using the "E" key. This then makes the statue disappear, suggesting that the character has collected it, and triggers the movement of the boulder. Later in the project I will add audio events for both the statue collection and the boulder movement which will be implemented via the blueprints.
I added various hallways, doorways, false paths and pillars into the maze to hopefully slow down the player as they try to escape from the enemy in the game. Using a similar blueprint to the statue collection, I created a button in one of the rooms that would move another boulder, this time allowing the player to exit the tomb and win the game. I placed this button at the furthest point from the start in order to challenge to the player as they avoid the enemy.
The above image shows a top down view of the whole maze area. The green area on the floor is the NavMesh which represents the area that the enemy can move within and is used to calculate how it should chase the player using pathfinding. Once the enemy senses the player, it will then start chasing the player along the shortest path within the green area.
Setting this up is very important for my game as it not only will allow the enemy to chase correctly, it will also allow me to dynamically impact the audio of this enemy based on how far away it is from the player along the shortest path. If I were to set up my dynamic sounds to be affected only by the distance to my player, there would be unwanted moments where the player is technically close to the enemy but there is a wall in the way. This means that the path to the enemy is much further away, therefore the danger is minimal and the audio should reflect that.
The enemy in the game is currently represented by a large cube that fills the hallways of the game maze. When the player walks near the enemy, it will relentlessly follow them until it either touches them, killing the player and resulting in a game over, or until the player escapes and wins the game. As the player cannot walk around the enemy in the narrow corridors, it will have to be kited around various obstacles to strategically manoeuvre it out of the way.
I am planning for the enemy to be invisible so that the player will have to carefully listen to their surroundings in order to locate it. This concept will need to be thoroughly tested however to ensure that it leads to fun gameplay rather than frustration. As a contingency, if I cannot get it to work as intended while invisible, I will explore other options such as having the enemy be adaptively invisible or a flickering light source.
Or maybe I'll just keep the big terrifying cube!