REVENANT
February 2022 - May 2022
Games and Media Creation Processes [CI6535] Narrative Game
​
Engine: Unity
Programming Tools: Microsoft Visual Studio
Language: C#
Artwork Tools: Photoshop
Role: Programmer
Team Size: 4


Game Plan
Welcome to the Revenant blog!
I’ll be posting updates every 1-3 weeks to keep you informed about the progress of our team project.
​
We’ve decided to create a narrative game that explores an abandoned land filled with the undead. Players will need to defeat all the enemies and progress through the levels, ultimately reaching the final cutscene. The game can be developed using either Unity with C# or Unreal Engine with C++. We chose to develop the game using Unity, as our team's strengths are more aligned in C# and Unity.
​
In this project, I’m taking on the role of the programmer. Ivan will handle the gameplay aspects, while Rahul serves as the team leader and focuses on the narrative side of the project. Rohan is in charge of cinematography, cutscenes, animation, and audio. Additionally, Rohan and Jasmine are providing voice acting for the game. We’re using Trello and Discord to coordinate our work in an organised fashion.​
WEEK ONE
Enemy AI and NavMesh
I developed enemy AI that chases the player when they are within a certain distance. To enhance the mechanics further, I ensured that the enemy can turn correctly when it gets closer to the target.
​
I added a NavMesh Agent to the enemy and created a NavMesh for the map, designating specific areas that are accessible to both the player and the enemies. This setup will enable the enemy to navigate effectively throughout the playable areas of the map.
​
28th February 2022

WEEK THREE
Enemy Animations Part 1
I added different animations for the enemy to enhance its behaviour. First, I implemented a running animation that triggers when the enemy is in range of the player and begins to chase. Secondly, I introduced an agonising pain animation, which plays when the enemy is idle and the player is out of range.
​
14th March 2022

WEEK FIVE
Enemy Animations Part 2
I later added the death animation for the enemy. With help from Ivan, we resolved an issue where the animation would play correctly, but the enemy appeared to shrink. I also adjusted the timing for when the enemy would delete itself after death, addressing earlier looping issues with the animation.
​
The final animation added was the attack animation, which plays only when the enemy is close enough to strike the player.
​
28th March 2022
WEEK TEN
Main Menu UI and Player Health
Unfortunately, I fell very ill during April, which hindered my ability to make significant progress on the project and update the blog regularly.
​
Now that I’m nearly fully fit again, I've focused on developing the user interface for the main menu. I created a video background that represents the essence of the game. The main menu now includes a play button, a "How to Play" button that provides an explanation of the game controls, and a quit button.
​
Additionally, I implemented a separate player health system based on the foundation Ivan has already established. This system includes enemy damage that is applied each time the enemy attacks. Ivan will be adding the health bar for the player, similar to what he did for the enemies.
​
4th May 2022


WEEK ELEVEN
Pause UI, Game Over UI and Animation Fixes
I added a pause menu that includes options to resume the game and return to the main menu. Players can pause the game using the Escape key on the keyboard. I encountered an issue where the pause menu wouldn't function correctly with the Escape key binding, so I moved the functionality to the game manager to ensure it works as intended. The pause mechanic also functions correctly during cutscenes.
​
The game over screen is now set to activate only when the player’s health, which I implemented last week, is 0 or below. From this screen, players can choose to retry the level from the beginning or return to the main menu.
​
Additionally, I resolved animation issues where the enemy would continue chasing the player while the death animation was playing. I also addressed another problem with the death animation not playing correctly, which I fixed by ensuring the animation was triggered through the specific model of each enemy.
​
9th May 2022
WEEK TWELVE
Mutant Enemy AI and Animations
I extended the enemy AI system for a new enemy, being the mutant by creating three different attack types that activate depending on the range to the player. Each attack has its own animation, including a punch, swipe, and jump attack, along with idle and death animations.
​
Furthermore, I enhanced the zombie and mutant attacks by adding colliders for each type of attack, which activate during the corresponding animation. This improvement allows for damage to be dealt more fairly to the player, rather than applying damage over time as it did before.
​
16th May 2022


WEEK THIRTEEN
Mutant Enemy AI v2
After reviewing the mutant enemy, there were some issues that need to be corrected with each type of attack.​ I faced challenges ensuring the correct animation played based on the player's distance. After some trial and error, I corrected the range inequality symbols. However, the jump attack initially didn’t work because I had set the mutant to chase the player if they were beyond the swipe range. Once I removed that condition, the attack functions worked as intended.
​
23rd May 2022
FINAL PROTOTYPE
After completing all the programming and gameplay elements, we put everything together and finalised the project.
​
Feel free to check out the gameplay through the link below: Gameplay Video
​
Thank you for following along, and onto the next project!