Fire Emblem Defense

This was a simple assignment for a class; all we had to do was add some new enemies/towers and art, but I took it and had a lot of fun with it. This was during my first programming class, so I was pretty proud of myself. When I decided to make it Fire Emblem themed, it was easy to just pour all of my time into it. We only had about 3 weeks for the project, and with all of the things that I wanted to add to the game, I had to learn fast.
The basic framework for the game was already there, pathfinding, enemies, spawn/exit locations, money, towers, lives, and waves. At this point, you may wonder, well what did I actually do?
- Made the game reset when you win or lose.
- Fixed collision for clicking the buttons.
- Clear projectiles when wave is complete.
- Random environment.
- 3 Different damage/armor types that can do same/double/half damage. (The weapon triangle from Fire Emblem)
- Can upgrade to 2 different towers. (Level up or class up)
- Towers decide what projectiles do, so only need one class to decide all the stats for the tower (it was set up weird before).
- Put animations on the enemies.
- Put sounds on many different things using XNA's XACT tool.
- Put animations on standing towers, selected towers, and attacking towers.
- Made projectiles rotate.
A thing that was causing trouble for me, was that when you have many towers all playing their attack sounds, it would just sound terrible. I found that the XACT tool allowed me to have only a certain amount of the same sound playing at a time. So I had to figure out how to use it, and have it work with my code, but it was awesome when it was done.
I took the sprites from online, but had to make the sprite sheets myself, which was a pain. Especially because I had never done animation before, which was a fun experience.
I recorded myself playing the game to get the sound effects.
It was a bit scary at first going through a big code base, trying to add new things to it, while trying not to break it (I broke it a lot), but I learned a lot, and had a ton of fun.