Tree Guard

Team Size: 5 | Duration: 10 weeks

Tree Guard is a top-down action and tower defense game with unique vacuum mechanics. As the only engineer in the team, I contributed to all of the game systems in the engine.

Unreal Engine
Blueprint
Perforce

My Contribution

Weapon and Ability System
Dynamic Materials
Implementing AI Boss with Behavior Tree
Challenges & What Could Be Done Better


Weapon and Ability System

  • Implemented the logic for each ability and skill. We decided to add a level-up system where each ability’s skill level is managed in the player class for reference.

Custom Structure and Data Table for Easier Maintanance

  • The data table made maintenance easier and allowed non-programmers to adjust the game.
    • Maximum EXP required for each level
    • Ability descriptions displayed in the level-up options

Dynamic Materials

  • By using a Material Dynamic Instance, I was able to update the color of the leaves based on the current health. I created a custom color curve to simulate the leaf color and assigned the color whenever the tree took damage.

  • The Dynamic Material Instance was also used for bombs to create a ticking effect.

Implementing AI Boss using Behavior Tree

  • Using a custom decorator and service to patrol points, the boss uses two layers of detection. First, it uses multi-box trace to check for the player or the tree, then uses line trace to ensure the object is in sight.

  • We spawned the boss twice; for the second encounter, we made the boss stronger. To achieve different effects, I added a boolean to switch to different nodes when the boss returns.

Challenges & What Could Be Done Better

  • Aside from engineering, my initial game pitch was selected for this project, which initially had only the core mechanics of a vacuum and vampire survivor-style game. We struggled at the midpoint and had to spend a lot of time rethinking the core concept, which should have been decided earlier. I learned the importance of designing the core gameplay loop before starting development.