Manhunt

Manhunt.jpg

Manhunt is a first-person digital prototype of the real life tag-variant "Manhunt" created as part of an application to FIEA.

FORMAT

Engine

Unity 3D

Team Size

Solo

Development Time

Two weeks

DESIGN GOALS

  • Adapt the real life game of Manhunt into a digital setting, mainting both its slow paced stealth-focused moments and its fast paced escapes and going so far as to heighten them where possible

  • Try whiteboxing a 3D stealth-focused level for the first time

TECHNICAL GOALS

  • Create a character controller that offered fluid and intuitive movement up to the standards of modern games

  • Experiment with more sophisticated AI states, navigation, and detection than Iā€™d previously tackled

  • Develop structures with a sound base that could be extended with future development easily

TECHNICAL & DESIGN DISCUSSION

Creating an effective stealth experience meant creating an effective player controller and enemy AI system so a great deal of time went into shaping both of those.

In thinking about my own experience playing Manhunt, I came to the conclusion that the player needed to have sprint, crouch, crawl, slide, and lean abilities to feel like they have all the tools they need to play something like Manhunt so that was an early priority. I also made sure to design and program the character controller to have all its speed values modifiable via a "CharacterStats" class which, rather than outright replacing the base stats, modifies them with a multiplier and a multiplier effect ratio so that with future development the project could include a character select screen with easily tuned player values.

As for the enemies, AI needed two components: Internal states which control decision making and detection. As for the first, the enemies needed to be able to do more than move around the level randomly. I decided I wanted to have interest points in the level which could be hand placed by designers. AI enemies would investigate these points periodically before returning to their random patrols. I opted for random patrols over more neat patrol paths because, within the game of manhunt, defense-team players are rarely patrolling rigidly like guards and instead tend to gradually explore. Past basic movement, enemies needed detection states and the actual ability to detect the player. Their detection states follow a wandering to investigating to chasing pattern, where, while investigating a detected player, a detection countdown begins and when it completes if the player is still in view the enemy switches to chasing and rapidly moves toward the player. I took precaution to adjust how the enemies behave when the player breaks line of sight to make the experience feel more realistic. Enemies ignore the player immediately breaking LoS after being detected and will continue to pursue so chases can't end right as they begin. Enemies also swap back to investigating if LoS is successfully broken and investigate the most recent position they detected the player.

Enemies detect the player through a raycast system intended to ensure that if any part of the player is visible to the enemy they will begin to be detected. Players can crawl under the enemies normal view cone, but the enemy will gain a lower view cone when investigating or chasing. On top of that, an essential part of any stealth game in this fashion is sound so the enemy can also detect the player based on what state the player is in as the player moves. Things like sprinting and walking create far more sound than crawling and if the enemy's hearing radius overlaps with the radius of the sound produced, the enemy will skip straight to chasing and pursue the player.

My level design was intended to give more risky players the chance to charge down a primary path, evading enemies with their quick thinking, while also allowing for more methodical players to explore the many side paths and chart their own path to the final goal point. The space was loosely based on the idea of a neighborhood as that's where Manhunt is often played, but abstracted to allow for distinct gameplay opportunities and landmarks.

Some things that were cut that I'd like to implement if I pursue this project further include: A way for players to evade capture by inputting a timing based button input (gated by a certain number of charges), a character select to choose different stat variant players to allow players to tune their character to their playstyle, a larger level and more levels altogether, a multiplayer mode where both teams are made up of human players.

WATCH THE SUBMISSION VIDEO