Grow plants instead of weapons in a 3D tower defense where the environment directly affects your success. Find the perfect spot for each type of plant, balancing elevation, water, unique abilities, and distance from the invading robot army!
Programming & Design:
I designed and balanced 5 unique tower abilities and their scaling based on the environment, focusing on making each option viable while providing a sense of progression throughout the game. This was actually somewhat challenging, as each plant needed to have a different type of enemy it was good against, while also preferring a different environment (distance from water + elevation).
For example, the spike-shooting cactus was initially the strongest plant in the game, to the point that you could place only cacti and beat every wave. We tried raising the price, but this felt like a bandaid over the core problem— it either removed options from players when they didn't have enough money, or didn't do enough to stop them once they hit lategame and had plenty of coins. We instead decided on a multi-part solution that kept cacti strong, but required a mix of other plants to support them:
I was responsible for all UI layout and implementation with UMG. This included:
Given this was a team of two, I either directly wrote or collaborated on most of the codebase. In particular, I gained a lot of experience with translating information between C++ and Blueprints, since we started prototyping the project with blueprints and later migrated to a mostly-C++ approach.
Art:
This game features a weather system that affects the layout of the map, so I composed interactive music to smoothly transition between each type of weather. I wrote a simple base track, and then built a vertical layer for the two weather extremes— sun and heavy rain. To create the in-between state, light rain, I drew elements from each extreme, allowing me to transition across the full spectrum without a single noticeable break. To finish, I also added a layer of percussion that plays while you're in combat, and fades out when you're between rounds.
As a programmer, I also did the implementation for this dynamic audio system, connecting each change in weather or game state to its associated musical cue.
I created 3D models and textures for 5 different plant types, aiming for a vibrant, low-poly style: