Purrvivor
An arcade cat-apocalypse survival game
Purrvivor is a top-down arcade survival game where the player must survive attacks from zombie cats in an apocalyptic world. The game currently includes dozens of enemy types, three weapons, and four major gameplay areas. How long can you survive the horde?
Overview
Purrvivor is an arcade apocalypse-survival game where the player's only objective is to collect resources and survive the horde for as long as possible.The game includes several playable areas, three weapons, and dozens of enemy types. Players dodge different attack patterns, gradually explore the city, and chase higher scores over repeated runs.
Contributions
My role on this project is the gameplay scripter responsible for maintaining enemy-related systems. This includes the base enemy architecture, AI systems, attack systems, and random spawning systems.At the same time, I coordinate with the other gameplay scripters and support other systems when needed.
Enemy Structure
Because the game is developed entirely in Unreal Engine Blueprints, I chose to derive all enemies from a shared parent Blueprint.After discussing it with the team lead, we agreed that a small arcade game like this did not require behavior trees; a single AI Controller Blueprint could handle the general AI logic.The parent Blueprint therefore exposes several interfaces for basic functionality such as attacking, target acquisition, and movement without connecting to a behavior tree.


The logic shown in Figure 1 is used by almost every enemy and only requires the child Blueprint to call the parent Begin Play logic. The section shown in Figure 2 mainly exists to provide functions that child Blueprints can override.
AI Controller Blueprint
Because most enemies can use the default AI Controller, I connected part of the general behavior directly to the parent enemy Blueprint, while special enemies can use independently written AI Controllers when necessary.The current default controller gets the player's location, moves toward the player, and decides whether to attempt an attack based on distance. The attack attempt then returns to the individual enemy child Blueprint and uses its override of the parent function shown in Figure 2.




Conclusion
My scope of responsibility in Purrvivor is relatively limited, mainly because a significant portion of the team's effort has gone into the contracts, operations, and presentation work required by the course.I also used UE5 to create a short opening cinematic for the game, which was used to open one of our presentations. It is too simple to include in the portfolio, so I have left it out here.
This game is still in active development.