Card Cast!

Dec 2025  ·  Game Development  ·  Unity

← Back to Projects

Project Title

Card Cast!

Created

Dec 2025

Role

Developer Lead · Systems Architecture · Unity

Tech & Genre

Unity Tower Defense Roguelike Deckbuilder 3D
Card Cast! Official Cover

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

1

Draw & Build Phase

At the start of each round, draw cards (Chess King, Basic Turret) and place them strategically on the grid.

2

Enemy Wave Phase

Enemies spawn and march toward your base. Cast Spell Cards — Fire Ball for damage, Freeze to slow — to support your turrets.

3

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.

4

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

Ryann Chandiari
Developer Lead
  • Core Architecture
  • Systems Design
  • Team Management
Nathanael Felix
Systems & Audio Lead
  • Modular Card Systems
  • Audio Management
  • VFX Implementation
M. Naufal Aulia
QA & Support
  • 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
1Main MenuClick "Play" → Loads Gameplay scenePass
2Main MenuClick "Controls" → Shows How to Play screenPass
3Main MenuClick "Quit" → Closes the applicationPass
4GameplayPress W/A/S/D → Camera moves in arenaPass
5GameplayDrag Tower Card to grid → Turret spawnsPass
6GameplayClick Spell Card on enemy → Enemy takes damagePass
7GameplayEnemy reaches base → Player HP decreasesPass
8GameplayDestroy enemy → Money increasesPass
9GameplayPress Esc → Shows "Game Paused" menuPass
10GameplayDefeat all enemies in wave → Shop/Reward screenPass
11Win/LoseHP reaches 0 → Shows "YOU LOSE!" screenPass
12Win/LoseSurvive Round 10 → Shows "YOU WIN!" screenPass