Team Size: 7 | Role: Designer and Programmer
Responsibilities:
– Tower Defense System Designer
– Tower Designer and Programmer
– Enemy Designer and Programmer
– Wave Designer

Treekeeper is a 3d, top-down, open field tower defense game where the player plays as a druid defending The Great Tree from the fires of industry. Strategically place natural defenses around the tree to protect it from a fully autonomous corporation that has other plans for the land The Great Tree is on. Move around the map, build up defenses, advance them along upgrade trees and combat the corporation’s legions of AI controlled robots!

I designed TreeKeeper’s tower defense system to be able to support large scale defenses and massive waves of enemies. To keep the number of active objects low I made the towers utilize an overarching game manager to run all of their targeting systems instead of individual towers running running their own enemy tracking. The same system also controls attacking through direct entity references which makes it so that there are no projectiles used in the game which improved performance. This tracking system supports multiple targeting types that can be assigned to individual towers. These targeting types include:
– First Target – Closest to The Great Tree
– Last Target – Farthest from The Great Tree
– Closest Target – Closest to the tower
– Strongest Target – Enemy with the highest health


I designed the towers to upgrade based on stages rather than pure stats. The tier 1 tower, Greenhorn Ent, acted as a base for all the others. Each upgrade is a objective improvement on the last tier, but has clear advantages and disadvantages compared to other tower types of the same tier. The stats and features of the towers were calculated, displayed, and updated throughout the development and testing of the game.


Similarly, enemies were also calculated and documented in a spreadsheet. Enemies were designed to pose different challenges to the player’s defenses. Certain enemies require sufficient crowd control while others require focused bursts of damage. The drone in particular was designed to subvert standard defenses by flying over walls and only targeting attack towers and The Great Tree. Enemies were made to navigate to the central defense point from any angle as opposed to other tower defense games that send enemies on designated paths.


TreeKeeper features 6 waves that are balanced around the resource economy of passive generation and active generation from destroying enemies. Waves were created through a data table that automatically adjusted per any balance changes to tower, enemy, and economy stats. Each was designed through a flow of resources and damage resulting in a difficulty state that requires the player’s active attention to win. This comes after multiple playtesting sessions over the course of several weeks where I noted each player’s progress, spoken thought analysis of their thoughts, and major actions.


Waves are created through a Scriptable-Object based phase system where phases are set with enemy types, enemy intervals, direction of attack (or no fixed direction), direction deviation, enemy cluster data, and time till next phase. This system allows for precise creation of waves with specific experience goals as well as controlled deviations.




