The Apocalypse
University project · Sole developer
This solo C++ and SFML project uses a fixed update loop to coordinate gameplay, menu, and title states. The game world manages the player, zombies, projectiles, collision checks, and HUD. Enemy behaviour switches between wandering, pursuit, and attacks using distance and field of view tests, while combat combines animated melee or ranged actions with damage cooldowns.
A shared sprite hierarchy handles drawing and animation for the player and enemies. Player aiming is independent of movement, with switching between the flashlight, knife, pistol, and rifle. World objects are drawn through a tracking camera with zoom, the HUD remains in screen space, and foreground and background layers move at different rates to create parallax depth.
Technical highlights
- Enemies wander, detect the player within their field of view, and pursue them.
- Animated melee and ranged attacks use collision checks and damage cooldowns.
- A tracking camera, zoom, health and weapon displays, and menus complete the gameplay flow.
Technical details
Gameplay and AI
A fixed update loop coordinates the title screen, menus, and gameplay. The game world owns the player, zombies, projectiles, collision handling, and HUD. Enemy states switch between wandering, pursuit, and attacks according to distance and vision checks.
Animation and presentation
A shared sprite hierarchy provides rendering and animation for the player and enemies. World objects pass through the camera transform, while the HUD is drawn in screen space. Background and foreground layers move at different rates to create parallax depth.
Project context
Developed in C++ with SFML 2.5.1. This was a solo university project.