A Town Called Misery
My Final year Game Project for my BSc Game Art and Design Degree.
A Town called Misery is a 3D first-person stealth shooter created in Unity Engine by one developer, targeting a primary audience of teens and adult men. The player takes control of the town sherrif as they navigate and try to escape the town of Misery, overrun by bandits. The game combines the stealth mechanics and atmosphere of games like “Thief: The dark project” with the survival shooter gameplay of the “FarCry” series.
The aim of this project was to create a comprehensive vertical slice of the game which demonstrates the core game mechanics.
Stealth
Inspired by games like "Thief" I decided to introduce a light based mechanic to accurately simulate shadow based stealth. I implemented this by setting up a script which samples the light intensity of a sphere underneath the player.
I can then set the desired light intensity by which the player then becomes visible, indicted by the bar on the left-hand side of the screen.
Using these values, I can then feed them into the enemy AI to detect the player when they are positioned near a light.
Enemy AI & Animation
To create the Enemy AI, I used Unity's Navmesh system to map out the area where the AI can traverse. Calling upon the Navmesh agent attached to the Enemy, I can direct it to go to various destinations on the map including patrol positions, areas where they could hear the player like footsteps or gunshots and directly towards the player themselves.
After modelling the enemy character, I utilized the Mixamo Animation library to quickly set-up several animation states for the enemy to cycle through.
UI
In keeping with the Thief inspiration, I wanted to keep the UI elements to a minimum, choosing to display just the light slider and the ammo count.
In many games, the method chosen to teach the player the game mechanics rely on stopping the action and displaying a pop-up. This method can be destructive to the game flow which is why I used diegetic UI which gradually introduces some of the mechanics as they progress.
Of course certain aspects require non-diegetic UI like interaction pop-ups as well as menus.
Modular Assets
On top of using Quixel Megascans assets to help populate the environment, I also create several modular assets for the vertical slice.