Toon Tank
Toon Tank
A shooting game where the player can feel at power while launching projectile and destroying enemies and feel satisfied
Description
Toon Tank is a fast-paced action prototype where players dash, shoot projectiles, and fight off enemy AI in a timed arena environment. Designed entirely in Unreal Engine 5 using both Blueprints and C++, this project showcases a comprehensive gameplay loop with moment-to-moment interactivity and responsive combat mechanics.
Engine: Unreal Engine 5
Tools: C++, Blueprints
Project Type: Solo
Duration: 3 Weeks
Genre: Action Arena Game
Focus: Gameplay Systems, Combat Mechanics
The player shooting and destroying enemy turret
The enemy turrets shooting the player
The C++ code for the projectile spawn and travel logic
The User Widget Blueprint for the three second countdown prior to the game starting
My Role
Programmed all core gameplay systems, including:
Player movement, dashing, and combat input
Projectile spawning, lifetime handling, and collision-based damage
Enemy AI behaviour and health system
Countdown timer system at level start
Used C++ for foundational logic (spawning, damage, timers) and Blueprints for visual scripting and debugging. Balanced all mechanics to ensure fair combat pacing and responsive player feel
Challenges
Challenge: Implementing a reliable and balanced projectile system. Initial attempts had inconsistent spawn positions and unreliable damage application
Solution: Learned how to use SpawnActor nodes and define custom spawn points using scene components
Tied projectile lifespan and collision detection to player actions and enemy hitboxes
Integrated a damage interface in C++ that ensured enemies only took damage from valid hits, improving game balance
Highlights
Combined C++ class inheritance with Blueprint visual scripting for clean, maintainable gameplay code
Built a modular enemy AI system that reacts to player input and resets upon player defeat
Created a pre-round countdown timer that controls game state and pacing
Resolution
This project was a deep dive into real-time combat systems, teaching me the fundamentals of projectile logic, AI behavior, and gameplay pacing. It also helped me develop an efficient workflow between Blueprint debugging and C++ structure, which I now rely on when building hybrid systems in Unreal Engine.