
Juvenate
Juvenate
Overview:
Juvenate is a dark fantasy adventure game that switches between combat and platforming. It was developed as a senior capstone and is now published on Steam.
Team & Scope:
Engine: Unreal Engine
Team size: 10-member capstone team.
Timeline: 6 moths.
Project Type: Senior capstone
Responsibilities:
-
Designed and implemented modular enemy AI behaviors using Unreal Engine's Behavior tree system
-
Redesigned and refactored back-end Damage and health systems
-
Implemented and fine-tuned boss enemy and final battle
-
Built a designer-friendly projectile system for rapid prototyping
What I learned:
I was invited to the Juvenate team because of my work on Overgrown and understanding of Unreal Engine's behavior tree system. Juvenate was my first glimpse into the capstone process, and taught me how to communicate with a team as an outsourced agent, and work within an established codebase.

Process:
Swarming and the Doom System:
One of the first hurdles with Juvenate's enemy AI was their propensity to swarm the player. If 5 Enemies attack the player at once, they have no time to react before its game over.
I needed to create a system that managed the number of enemies allowed to attack the player at once. Luckily, in my research, I discovered a system like this had already been designed for the DOOM games. This 2018 GDC Presentation on advaned combat AI was the key to implementing my own version in Unreal.
Implementation and Result:
The player character holds on to a number of "Attack Tokens" Before an enemy attacks, they must ask the player character for an attack token, which they return when their attack is finished or they die. If the player is out of attack tokens to give, they may not begin their attack.
This let designers specify how many enemies can attack the player at once. Limiting it to 3 completely eliminated the issue of instant death.


