
Madilyn Tavares
Game Developer
Project Overview & Postmortem
Language: C#
Tools Used: Unity
Platform: Windows
Role: Gameplay Programmer
Overview: Elemental Defense is a tower defense game making use of three elements (fire, earth, water) to power elemental reactions and destroy waves of enemies. This was the capstone project of my degree program; I coordinated with a three-person team to bring our idea to life. The features I implemented include the level hazards and the elemental reactions.
Postmortem: The concept was certainly interesting, and I think with a more multi-disciplinary team, the game could have gone much further. I had no issues working with the team. Communication was smooth, and we kept all of our work compartmentalized in separate branches until the feature was ready to be merged into the main branch. I learned much from this project, such as working with other people's code and combining particle systems to create eye-catching visuals.
Note: This project was kept private at the request of one of our teammates; however I still have the project and it can be sent to interested individuals. Additionally, a more detailed development log can be found here.

Level Hazards
Goal: To implement different hazards for each level to add a heightened sense of danger
​
Result: Hazardous events with eye-catching visuals forcing the player to strategize around them
​
Details: As we worked on Elemental Defense, we began to realize a player could just place an infinite amount of towers in the level--the only bound was money ("mana" as we called it). Thus, we came up with the idea of adding hazards to each level beyond the waves of enemies that added an extra sense of danger, as these hazards would be able to destroy the player's towers. When we were brainstorming ideas for the hazards, we decided right away that the hazards should reflect each level's theme. Thus, the hazards became a volcano for the first level (fire), thunderstorms for the second level (water), and tornadoes for the third (grass). (The connection between grass and tornadoes isn't immediately obvious; our thinking was the association with the Plains region and frequent tornadoes.)
Implementing the logic of the hazards was not terribly difficult; what I had trouble with was making the hazards look visually appealing. As one of my professors succinctly put it: "juice it or lose it." That is, gameplay needs to have impact added to keep players engage, be it through visuals (particles, hitstun, tweening, etc) or sound. Gathering inspiration from our professor and the internet, I set about making the volcano, thunderstorms, and tornadoes look as beautiful as I could.
Another thing I realized while working on these stage hazards was that the player should have some measure of defense against these events, else they will only grow frustrated with these seemingly-unavoidable dangers. I got with the team and we came up with the idea of totems that the player could place down to protect towers against specific hazards within a certain radius. (The "juice it or lose it" philosophy came back into play, when I was designing the look of the totem radius.)

Elemental Reactions
Goal: Implementing interactions between elements to add depth to the gameplay
​
Result: An intriguing variety of intuitive elemental reactions adding flexibility/variety to the combat
​
Details: Many games with elements also utilize "elemental reactions," or special behaviors that happen when two or more elements interact. Genshin Impact is a great example of this, and a game I took much inspiration from when thinking about how the elements in our game should interact. When designing the interactions, we kept in mind that each combination of elements should result in a logical reaction to help players better remember them--after all, if we'd decided that fire and grass should lead to the formation of a temporary obstacle for the enemies, that may not make much sense to many players. The reactions we decided on are as such:
Fire + Water: A small explosion of steam damaging enemies caught in the radius
Water + Grass: An overgrowth of thorns over a section of path that slowly damages enemies as they walk through it
Grass + Fire: An intense burn that damages the enemy every second it is afflicted
All 3: A major explosion severely damaging all enemies in its radius, and making the target enemy temporarily immune to status effect to prevent this from becoming overpowered
Polishing this feature was more a work of balancing the status effects than difficulty with the initial implementation; the elemental reactions are a core part of the gameplay loop and need to have a significant effect on the player experience, but not so much that they can simply mow down enemies without strategy. To facilitate this, we asked many people to playtest our game, collected their thoughts on the difficulty of the game, and implemented their feedback.
