Strategic Defense, One Card at a Time
Card Cast! is a strategic tower defense game set in a stylized low-poly forest world. Players must defend their base from "The Horde" by managing a deck of cards that includes defensive structures and magic spells.
Unique to this game are specialized turrets like the "Chess King" — which summons minions — and the "Catapult," as well as active spells like "Fire Ball" and "Freeze." Players must survive waves of enemies, manage their gold economy, and strategically build their fortress to prevent their HP from reaching zero.
How to Play
Draw & Build Phase
At the start of each round, draw cards (Chess King, Basic Turret) and place them strategically on the grid.
Enemy Wave Phase
Enemies spawn and march toward your base. Cast Spell Cards — Fire Ball for damage, Freeze to slow — to support your turrets.
Shop Phase
Between rounds, spend gold earned from defeated enemies to buy new cards like Missile Launcher or Draw 2 to power up your deck.
Objective
Survive all rounds and protect your base HP. Destroy every enemy before they breach your fortress. Survive Round 10 to win!
Game Trailer
In-Game Screenshots
My Role & Contribution
As the Developer Lead for Card Cast!, I directed the technical vision and architectural foundation of the project. My primary focus was building a robust, scalable game loop that could handle complex card interactions, enemy pathfinding, and state management within Unity. I oversaw the full development lifecycle, from initial prototyping of the deck-building mechanics to the final optimization of the 3D forest environment.
One of the most rewarding challenges was implementing a modular card effect system using polymorphism. This architecture allowed us to rapidly iterate on new turret types (like the Chess King) and spell effects (Fire Ball, Freeze) without introducing technical debt. Beyond coding, I led our team of three, ensuring that our UI/UX and audio assets were seamlessly integrated into the core systems, resulting in a cohesive and polished player experience.
Group Members
- Core Architecture
- Systems Design
- Team Management
- Modular Card Systems
- Audio Management
- VFX Implementation
- Game testing
- Main menu code
- Documentation
Key Improvements (UTS → UAS)
- Visuals Low-Poly 3D Forest Environment Replaced the flat green plane prototype with a fully realized low-poly 3D forest setting with dramatic lighting, dramatically raising the visual bar from the UTS build.
- Architecture Persistent Audio System (Singleton + DontDestroyOnLoad) Implemented a scene-aware audio manager that seamlessly transitions music between scenes — menus play one theme, battles another — without restarts or interruptions.
- Gameplay Infinite Wave Loop + Probabilistic Shop Introduced a dynamic round/wave system with RNG-driven shop spawning, giving each run unique pacing and strategic variety.
- Content Summoner Tower & Spell Phase Lock Added the "Chess King" summoner archetype and enforced strict phase restrictions on spells, deepening tactical decision-making.
- Code Quality Modular Abstract Effect Classes Refactored card effects using polymorphism and abstract classes, making it trivial to add new effect types without touching the core system.
Blackbox Testing Results
| # | Category | Scenario | Status |
|---|---|---|---|
| 1 | Main Menu | Click "Play" → Loads Gameplay scene | Pass |
| 2 | Main Menu | Click "Controls" → Shows How to Play screen | Pass |
| 3 | Main Menu | Click "Quit" → Closes the application | Pass |
| 4 | Gameplay | Press W/A/S/D → Camera moves in arena | Pass |
| 5 | Gameplay | Drag Tower Card to grid → Turret spawns | Pass |
| 6 | Gameplay | Click Spell Card on enemy → Enemy takes damage | Pass |
| 7 | Gameplay | Enemy reaches base → Player HP decreases | Pass |
| 8 | Gameplay | Destroy enemy → Money increases | Pass |
| 9 | Gameplay | Press Esc → Shows "Game Paused" menu | Pass |
| 10 | Gameplay | Defeat all enemies in wave → Shop/Reward screen | Pass |
| 11 | Win/Lose | HP reaches 0 → Shows "YOU LOSE!" screen | Pass |
| 12 | Win/Lose | Survive Round 10 → Shows "YOU WIN!" screen | Pass |