Survival Zombie Shooter
This is a zombie shooter prototype I worked on solo in Unreal Engine, which is my first project on the engine. This is mainly a C++ project, but blueprints were also used in certain areas.
Some Features :
- Weapon System
- I developed a pickup system which is also applicable to the weapons
- I also added recoil to the weapons
- The weapons also feature an interesting ammo system
- Weapon Swap
- Enemy AI system
- Passive State
- Investigate and Aggressive States
- Widgets
I took inspiration from Helldivers 2 and made it a little more forgiving.
Different weapons have different magazines and each magazine hold a set number of bullets. Reloading when the bullets in a magazine has not been exhausted means throwing away the whole magazine and whatever is left inside, but I made this a little bit forgiving by allowing the players to keep unfinished magazines. Although each weapon will have a maximum number of unfinished magazine that can be kept, which means any other unfinished magazine will be thrown away.
CA - Current Ammo Count, MA - Maximum Ammo Count, CM - Current Magazine, MM - Maximum Magazine Count, UM - Unfinished Magazine Count
Weapons can be swapped and each weapon retains their data, like the magazine and bullet counts.
The state machine was done in C++ and used in conjunction with the Behaviour Tree.
This shows the zombie switching between being idle and moving to a random location
This shows the zombie moving to investigate the gun sound it heard, before then detecting the player in it's peripheral vision and then proceeding to the aggressive state.
I implemented some widgets; the settings screen which is shown below, the gameover screen shown in the gameplay video and the ammo widget which is also shown below.