ZOMBIE FPS
This is a project done for an external client during university. The brief was to create a "zombie FPS" working prototype with all the main mechanics functional in a 6-week time-frame.
Noticeable features implemented
Player Character systems (walk, run, sprint, crouch, jump, HP, armor)
Shooting mechanics (gun, projectile, reload, ammo and magazine count, damage)
AI NPC (walk, run, patrol, attack, ragdoll physics, body parts collisions)
Animations (fully animated player and AI)
HUD (minimap, ammo count, stats, objectives)
Objective system
External Client Project
​
What i did: Prototyped all the main mechanics for starting a zombie FPS game based on an external client brief. Implemented a fully animated true first person player character with all its moving and shooting systems. Programmed a fully animated zombie AI with different states, a patrol system, specific body parts collisions and ragdoll physics. Created an objective system, HUD and a minimap.
​
User feedback: The client was very pleased with the final prototype as well as the time it took to deliver certain features. Received very good feedback on how well we communicated throughout the whole project.
​
Team size: 1 member
​
Project length: 2 month
​
Year: 2021

.png)
Project goals
​
-
Communicate with an external client
​
-
Succeed in implementing all the features from the brief
​
-
Manage to work under pressure
EARLY STAGES

After receiving the brief, I wrote a GDD where I defined all the features and created some moodboards for the player character and zombie. I set up a Trello board where I created the backlog and divided all the tasks into one-week sprints. I started by creating all the movement mechanics for the player character such as sprint, walk, crouch, jump, HP and armor.
I continued by adding all the animations for the player character mesh and creating the transitions between stances and moving speeds (standing to crouch, walk to run to sprint etc.). When the player character and shooting mechanics were ready, I started to work on the AI zombie NPC. I implemented the basic states for idle patroling and attacking the player then I added its mesh and all the animations. In the last sprint I created a simple objective system then added the HUD elements where I displayed the minimap, ammo count, stats and objectives. I created a simple objective system

Design goals
​
-
Implement a fully animated true first person main character
​
-
Design and create the AI behaviour of the zombies
​
-
Find a way to make it fun to shoot the zombies
PROCESS PROBLEMS

Obstacles
​
1. I couldn't find a suitable death animation that could be easily added and blend well with the other zombie animations.
​
2. The player only had a crosshair and the gun was not pointing exactly towards it because of the idle animation

Solutions
​
1. I made the zombies fall and have ragdoll physics on death
​
2. I created an ADS system and removed the crosshair
After trying to blend different death animations with the idle or walking ones from the zombies, I realised that neither of the available ones on Mixamo would not fit for the NPC character. To fix this, I implemented ragdoll physics on death for the zombies, which made killing them much more satisfying.
Shooting did not feel good as the character would not raise the weapon and was always shooting from the hip. I removed the crosshair and implemented a simple ADS system, in which the weapon would point forwards and the player would use the iron sights to aim. The FOV would also change for a more focused, zoomed-in effect.
OUTCOME


Project
-
Managed to implement all the mechanics outlined in the brief
​
-
Created some extra mechanics that were a good addition to the game such as minimap and objective system
User feedback
-
Receive very good feedback on how fast all the mechanics were implemented
​
-
Receive good feedback for organising everything in sprints and keeping the client updated on the progress often
This project taught me how to communicate with a client and how to work under pressure. It also made me understand that discussing everything in detail before starting to work is very time efficient in the end.