Inspiration

I have always loved tower defense games, and I wanted to build my own unique version named Siege Smash. Instead of writing all code from scratch, I used Claude to help prototype, debug, and brainstorm game mechanics. I was inspired by classic tower defense gameplay, where players make strategic trade-offs between spending gold to place towers and saving resources for later waves of enemies. I wanted to create a fun, playable game that balances simple controls with deep tactical choices.

What it does

Siege Smash is a 2D tower defense game. Enemies follow a fixed path across the map toward the player’s base. Players earn gold by defeating enemies, then spend gold to place different types of defensive towers. Each tower has unique range, damage, and attack cooldown values. If too many enemies reach the end of the path, the player loses. The game uses the formula for tower damage output: $D_{total} = D_{hit} \times \left\lfloor \frac{t_{active}}{t_{cooldown}} \right\rfloor$ to calculate total damage a tower can deal over active time.

How we built it

I built Siege Smash with help from Claude. Claude generated code snippets across multiple languages, helped design game logic, debug errors, and refine game balancing.

  1. First, we defined the core game rules: enemy pathing, gold economy, tower stats, and win/lose conditions.
  2. I iterated on code prototypes. Claude helped write and revise scripts for enemy movement, tower target detection, collision checks, and the main game loop.
  3. I tested gameplay repeatedly, tweaking enemy health, tower damage, and gold rewards to make waves feel fair and challenging.
  4. I polished UI and visual feedback, so players can clearly see tower attack range, enemy health bars, and remaining lives.

Challenges we ran into

One major challenge was inconsistent enemy pathing. Enemies would sometimes get stuck or skip parts of the predefined path. We worked with Claude to rewrite the waypoints logic and fix coordinate tracking. Another problem was balancing the game difficulty. Early tests were either too easy or impossibly hard. I used mathematical formulas to adjust enemy health scaling per wave: $H_{wave} = H_{base} \times (1 + 0.15 \times (wave-1))$ We also had bugs where towers would try to attack enemies outside their range. We added range validation checks to resolve this issue.

Accomplishments that we're proud of

I are proud that we built a fully functional playable tower defense game from an initial idea. We successfully implemented multiple tower types and progressive enemy waves. It was rewarding to turn our game concept into something interactive, and we learned how to effectively use AI tools to develop a software project. The game balance we tuned makes each playthrough feel strategic and engaging.

What I learned

I learned how to break down a large game project into smaller, manageable tasks. We practiced game state management, pathfinding, and numerical balance design. We also learned how to work with AI assistants like Claude: how to write clear prompts, validate AI-generated code, and debug when AI outputs contain errors. We gained a better understanding of the math behind game balancing.

What's next for Siege Smash

In future updates, we plan to add new tower abilities, special elite enemy types, and upgrade systems for existing towers. We want to add multiple game maps with different enemy paths. I also hope to add sound effects, animations, and quality-of-life features like tower sell and hotkey support.

Built With

  • chatgpt
  • claude
Share this project:

Updates

Submission history