Home

Wave Surival Shooter

*zombie noises*

Project Date: October 2023 - Present

Description

Get ready for some updates, laughs and a journey!

Initial Post

Welcome everyone to the not so fantastical but still pretty cool first update to my small COD Inspired zombie game. The initial build has only the simple mechanics that I needed to get working first, such as the wave system with spawning and knowing when to start the next wave using events, the simple weapon, simple AI for the zombies, the universal health system that is built to work for both the zombies and the player, and finally the UI.

So, first up the Wave System! It’s not overly complicated, it relies on event dispatchers from each spawned zombie. When a zombie dies, the game mode receives the event call and decrements a counter of total zombies alive. When both the number of zombies alive and the number left to spawn are less than or equal to 0, it considers the wave ended then a 4 second delay starts the wave setup again.

Next up is the weapon. There isn’t much to say as currently its primary goal is to be a testing weapon, so its high damage using a simple line trace. More specifically, the weapon uses the PlayerCameraManager to get its location and forward vector for the line trace. If it hits something, it checks if the hit object has a health component. If it does, it spawns a particle effect and does damage. If not, it will spawn a generic hit effect. If it doesn’t hit anything in range it does nothing but will still play the sound and play the fire animation montage. It also has a simple reloading system. If the players ammo is less than max, they can reload. Reloading does a montage and sets the ammo variable to the max. Eventually I would like to add a proper reload animation as the reload speed depends on the animation which is currently 8 frames long and add a reserve pile that gets removed depending on the amount reloaded, so the player can eventually run out of ammo. But that’s future Alex problems.

We now arrive at my living nightmare. AI is one topic that I have always loved with a deep fascination, however it has also always been very confusing for me to wrap my head around. With that said, I can’t wait to get into the weeds with learning more about AI and hopefully I will figure it out during this project. The AI currently will just chase the player and stop when reaching them. I know its groundbreaking, please hold the applause.

The health system. all though very small currently, is something that was important to get working right away and it does perfectly currently. I might need more functionality later down the line, but I know a big problem I tend to suffer from is feature creep, which leads to burn out and then that project never seeing the light of day. I don’t want this to happen for this project, so I hopefully won’t fall into feature creeping. Some more quick details about the health system, it stores health as a float (I might alter this to work with integers instead as currently all the values I’m using are whole values) and it has simple functions to get the current health, get the max health, get the current health percentage, set health, and a get is the owning entity is dead. I also made a generic Damage function which internally uses SetHealth while also calling events where necessary.

Last up on this long post is the UI! Another fascination of mine is how people manage to make these stunning UI’s, I’m slowly trying to learn common practices and layout tips. Currently the UI is in a prototype state where it has information the player needs while not going overboard on fanciness.

Well, there you have it, the probably not so informative but still fun to write “update” on my COD inspired zombie shooter. I hope you had fun reading it, and I wouldn’t blame you if you only skim read it.

I hope you all have a fantastic day!
Alex

Update 1

Welcome back to the untitled game where you murder innocent brain eating people. This update is nothing extreme. I implemented the AI correctly this time so instead of just following the player, they now attack every 1.5s with a random deviation of 0.5s. Along with this, I found many bugs varying from the particle effects not spawning to the zombie becoming immortal. I found out I was doing something rather inefficient and attempted to correct that so hopefully success. I also *improved* the zombie’s mesh. They are still T-Posing as I think it looks adorable and I can’t animate to save my life. Other than those 3 points not much else has been implemented, I’m hoping for the next update to implement a score/money system.

I added a video in the screenshot section that is a small demo of the project. Sorry, there is no real audio in the game yet.

As always have an fantastic day!
Alex

Extras