# Graveyard Gunner

*2026-04-23*

> Everyone has to start somewhere


Last year I finished the [CG Spectrum Game Programming Foundations course]({{< relref "posts/2025/completing-my-unreal-engine-course" >}}), and the main thing I walked away with - apart from a working knowledge of Unreal Engine - is a third-person zombie shooter called **Graveyard Gunner** (GG. Yeah, I know)

It started life as the course's final project and grew from there. The premise is simple: reach the end of the graveyard before the timer runs out, while portals trigger as you move through the map and spawn waves of zombies. Zombies have different health, damage and movement speeds, and drop skulls and ammo on death – no health pickups, so mistakes are permanent.

Two weapons so far, an M4A1 and an AK47, with different damage, spread and recoil. The honest goal was never strong game design – it was to build something end-to-end that demonstrates Unreal Engine capability: menus, splash screen, simple AI, weapons, progression, and all the glue that holds a game together.

## Features

- **Weapon system** – two weapons with distinct damage, spread, and recoil profiles
- **Material system** – extensible impact and surface effects
- **Dismemberment** – hiding skeletal bones based on overall damage to that limb
- **Blood and gore FX** – Niagara particle systems doing the heavy lifting
- **AI-controlled enemies** – Behaviour Trees and Environment Query System driving zombie behaviour
- **Camera shake** - recoil and damage feedback
- **Audio** – gunfire, footsteps, vocalisations, splash screen sound
- **UI** – HUD, menus, and a splash screen
- **Save system** - progression and settings that persist between sessions

## What's left

Part of me wants to park it and start something completely different, but I feel like I should actually *finish* this first.

Still on the Trello board:

- Character recoil animation montage
- Proper sound effects (the royalty-free hunt continues – turns out sourcing decent gun audio is way harder than expected)
- More zombie types
- Better weapon line trace setup (currently camera-based)
- Possibly power-ups using the [Gameplay Ability System]({{< relref "posts/2025/unreal-engine-14-gameplay-ability-system" >}})
- Maybe weapon pickups and unarmed player animation states

The Necropolis Graveyard kit that inspired the whole project deserves better than what I've done with it. My old 2080 struggles with the level, but it runs fine on a 4080, so I need to do some [performance profiling]({{< relref "posts/2025/unreal-engine-18-testing-and-profiling" >}}) :facepalm:

A build can be downloaded from [sawnoffstudios.com](https://sawnoffstudios.com/), and the source code is available on [GitHub](https://github.com/sawnoff-studios/graveyard-gunner-source).

## Assets used

- [Necropolis - Graveyard Kit](https://www.fab.com/listings/b3d214c2-50fa-4a0e-a780-bee56c1baf8f)
- [Blood FX](https://www.fab.com/listings/38d114c4-d806-4255-a18c-4cb4054b8af2)
- [Bullet Impact FX](https://www.fab.com/listings/2b44ffdf-64ee-41ed-a82b-9e55b2346d04)
- [Muzzle Flash 3D](https://www.fab.com/listings/5cbcbcfa-8d17-4ed2-b0f1-9f9d96d95ba1)
- [Muzzle Flash VDB](https://www.fab.com/listings/b33a8255-2070-4a7b-9fdc-b7ed2d01d7b5)
- [Portal FX](https://www.fab.com/listings/0062e70e-3133-4c7e-8c13-a8232b87123a)
- [Realistic Starter VFX Pack Vol2](https://www.fab.com/listings/ac2818b3-7d35-4cf5-a1af-cbf8ff5c61c1)
- [Mixamo](https://www.mixamo.com/) animations, character and zombie models
- [TurboSquid](https://www.turbosquid.com/) [AK47](https://www.turbosquid.com/FullPreview/1701128) and [M4A1](https://www.turbosquid.com/FullPreview/1708945) models
- [Low Health on screen effect](https://that-skye.itch.io/low-health-on-screen-effect)
- [GTA V Enhanced Weapon Icons V7](https://www.gtagaming.com/gta-v-enhanced-weapon-icons-v7-f32049.html)
- [Ammo&Bullet1 SoundEffect pack](https://www.fab.com/listings/6c8f8fd3-1bfc-482d-9a18-1ca7354d27ba)
- [Dynamic Gun Sound : WeaponVerse2 pack](https://www.fab.com/listings/beb0f149-91f1-4fba-9b42-3d4ffb3f8f2a)
- [Health & Damage System Sound Effects Pack](https://www.fab.com/listings/79ef918f-ffb7-430b-aed4-f837223b0cde)
- [Essential Footsteps SFX](https://www.fab.com/listings/d8833d76-3270-41d5-8fd0-efeae4057750)
- [Footsteps Sounds – Volume 02](https://www.fab.com/listings/672beb9d-cfae-4cc6-ac61-7a954df4780b)
- [Footsteps Mini Sound Pack](https://www.fab.com/listings/baf07baa-d485-4d37-bf73-dab6a50ed4bb)
- [Human Vocalizations](https://www.fab.com/listings/98259abf-477f-4015-8abe-2c9f62eaefdb)
- [50 Free Game Sounds Pack](https://www.fab.com/listings/b8cc7270-5e0c-4ef7-a277-6a1d4b69358d)
- [Long Gun Foley Sound FX Pack](https://ovanisound.com/products/long-gun-foley-sound-fx-pack)
- Logos created with [ChatGPT](https://chatgpt.com/)

## Reference articles

- [How to add ammo and reload functionality to a weapon in Unreal Engine](https://trueoutlaw.medium.com/how-to-add-ammo-and-reload-functionality-to-a-weapon-in-unreal-engine-503a1e92352a)
- [How to create a weapon system in Unreal Engine](https://trueoutlaw.medium.com/how-to-create-a-weapon-system-in-unreal-engine-5-02159f7d5a0d)
