Project Zombert (2025)
Project info
Role:
Game Designer / Game Programmer
Engine:
Unreal Engine
Teamsize:
1
Genre:
TPS
Duration:
Ongoing
Platform:
PC
About
This game is a third-person survival shooter featuring inventory management and a world overrun by various types of zombies and powerful zombie bosses. The player’s goal is to survive, gather resources, and collect key items that unlock access to new areas and opportunities for exploration.

Introduction
I am very early in development in this project and my main focus is on learning C++ whilst having fun building out various systems.
The key systems I want to build:
--- Character Movement
- Combat
- Weapon Customization
- Build System
- Spatial Inventory
- AI and Boss AI
- Driving vehicles
Player Movement
I began by recreating Unreal’s third-person character template from scratch in its own class and then added crouch and sprint functionality. Starting with a clear goal helped me learn the syntax and structure my code in a more organized way.
Initially, the Player Character class handled all input, but it became difficult to maintain as the project expanded. I refactored the system by introducing a Base Controller class, improving scalability, maintainability, and future-proofing the codebase for continued development.
The player movement system is still in an early stage, with the core functionality and animations working together, but there’s room for refinement and polish.
Code Snippets
Base Player Controller
Base Character Class
Begin Play & Tick
Movement Functions
Combat Functions

Combat
I started by implementing aiming, shooting, and weapon swap mechanics. The player uses a holster socket and a hand socket, when picking up a weapon, the system checks which socket is available. If both are occupied, the player will eventually be able to swap and drop the current weapon.
Aiming down sights (ADS) currently works as intended. I experimented with aiming from the weapon barrel when not ADS, but it felt very hard to control and made it difficult to aim even at static objects. To secure that the players experience is as smooth as possible my next step is to adjust hip-fire aiming so the player rotates and shoots toward the crosshair, ensuring consistent aiming behaviour in both ADS and non-ADS modes.
My current focus on the combat system includes developing data assets for the weapons, implementing modular components for customizable weapon parts, and establishing a parent weapon class to serve as the foundation for all weapon types. The attached image outlines the current design structure and planned workflow at this stage in the development.
Code Snippets
Combat Component
Weapon Master
Animations
For this project, I chose to use Synty Assets because their visual style fits perfectly with the game’s tone.
The Synty character skeleton differs from Unreal’s default skeleton so I had to retarget the rig, which took some time to get right. It was a valuable learning experience that helped me understand the IK Retargeter for future projects.
To manage animations, I kept the original Manny mesh active in the editor, while the Synty Character retargets Manny’s animations at runtime. The Manny mesh remains hidden during gameplay.
For aiming, the character’s spine bones adjust based on the pitch rotation to create natural up-and-down movement.
Currently, the weapon alignment with the left hand is slightly off, as IK for the left hand has not yet been implemented.

Upcoming
The next things I need to work in:
- IK for left hand
- Shooting while not ADS
- Stat component
- Modular weapon parts
- Weapon Data Assets
- Weapon Class
.png)









