TD FPS: Poly Defense

First-Person Tower Defense Hybrid

IN ACTIVE DEVELOPMENT

"Just because something works, doesn't mean it can't be improved." - Shuri

Role
Solo Developer
Engine
Unreal Engine 5
Genre
FPS / Tower Defense
Platform
PC
Status
In Progress (2026)

Protect the Core. Survive the Waves.

Poly Defense is an ambitious solo project combining the strategic planning of Tower Defense with the engaging action of a First-Person Shooter. Set in a Sci-Fi universe involving dimensional travel, players must secure giant Cores while surviving against relentless waves of enemies.

This project was created using Unreal Engine 5 as a way to learn the engine, and create systems that I had not worked with before. From engineering complex AI behaviors to balancing resource economies and hybrid game loops, I am building every system entirely from scratch to challenge myself to learn how to create complex systems while creating an engaging experience.

Core Mechanics

Placing a tower
Tower Placement
Tower shooting enemies
Automated Defense
Player shooting enemies
FPS Gunplay

Technical Design Deep Dives

Enemy Pathfinding Mechanics

01. Enemy AI & Pathing

Problem

Enemies navigating a complex TD environment were getting stuck on walls using standard navmesh seeking. When moved to strict spline-based pathing, they felt too robotic, and applying damage on event tick made combat feel unfair.

Solution & Reasoning

Engineered a hybrid navigation system. Splines handle navigation toward the Core, while a custom Blackboard and Behavior Tree allow enemies to break free from the spline to attack the player. Tying damage to attack animations rather than event ticks made combat more readable and fair.

What I Learned

Iteration is crucial for game feel. Solving a technical pathing issue with splines created a design issue (robotic movement), which then required a behavioral solution to make the enemies feel alive and more engaging to fight.

02. Object-Oriented Towers

Problem

Developing multiple tower types with unique behaviors (single-target, AoE, multi-hit) without creating messy, redundant code or convoluted targeting logic.

Solution & Reasoning

Designed a parent-child class hierarchy. The parent handles core placement logic (valid/invalid zones) and basic targeting. Child classes uniquely handle projectile logic (destroying arrows, multi-hit zaps). This allows for rapid prototyping and seamless addition of new towers without rebuilding foundational systems.

What I Learned

Building a highly modular foundation early on has saved me countless hours when balancing, allowing me to focus on how projectiles feel rather than how the tower detects enemies.

Tower Projectile Types
UI Swapping Mechanics

03. UI/UX Iteration

Problem

The dual-nature of a TD/FPS requires fast access to building tools and weapons. Initial UI designs (split left/right screens) were visually cluttered and ineffective during fast-paced gameplay.

Solution & Reasoning

Consolidated the UI into a unified tab at the bottom of the screen. (Currently prototyping a radial wheel menu). Screen real estate is premium in an FPS; centralizing the build menu reduces eye-travel, keeping the player focused on the action while accessing tactical options.

What I Learned

UI in a hybrid game has to be effective for both of the genres without conflicting each other. It must work with the interactions in the game rather than detract from one to improve another.

Milestones & Documentation

Latest Update

Showcasing the latest iterations of the defense loop, UI, and gunplay.

Early Prototype

An early look at blockout testing and initial core mechanics.

Advanced Seminar Doc

The original design document outlining the mechanics, scope, and vision for the game.

Want to test your defenses?

Download Latest Build

What's Next?

Future updates will focus on introducing new enemy variants (including flying units!), balancing the in-game economy, and making the environments more dynamic. Check back soon for more updates!

Get In Touch

steveneb0212@gmail.com GitHub LinkedIn