Coop Chaos is a cooperative tower defense game where players must catapult eggs and set traps to protect their chicken coop from hordes of hungry foxes. Peck at strange seeds, jump on your teammate’s back to lay special eggs, and catapult them to fend off the foxes before they make a meal out of your chicks!
This game was made in Unreal 5.4 with 5 programmers and 3 artists during the Ubisoft Game Lab competition 2025 and was among the nominee for Best Prototype and Best Quality of the “3Cs” (camera, characters, controls).
In this project, I was responsible for developing the AI system controlling the foxes, designing a behavior framework that made them feel organized, reactive, and challenging while remaining predictable enough for players to plan around.
I built a custom Finite State Machine (FSM) system in C++ to manage the different behaviors of each fox. Each AI constantly switches between states such as following paths, attacking players or the coop, fleeing, or panicking when affected by traps or fire. The FSM approach provided clear, readable transitions between behaviors while keeping performance lightweight — important for handling large numbers of enemies simultaneously.
The foxes’ decision logic follows a clear hierarchy of priorities: if a player (a “chicken”) enters their zone, they immediately switch to attack. If no players are nearby, they follow a spline path toward the coop. Upon reaching it, they steal a chick (reducing the team’s lives) before fleeing back to the forest. Each state adjusts movement, animations, and interactions — for instance, fleeing foxes move faster, while panicking ones run erratically for a few seconds before resuming their normal behavior.
Although there were multiple types of foxes in the game, such as regular, fast, or strong variants, they all shared the same AI structure, differing only in stats like health, speed, and attack strength. This made the system easy to extend and balance, since new enemy types could reuse the same behavioral logic with minimal setup.
The FSM system was built entirely in C++ with Blueprint extendability, allowing designers to quickly prototype or adjust behaviors without touching the core code. It was also fully event-driven — whenever an action or animation finished, the AI automatically transitioned to the next appropriate state, ensuring smooth and responsive enemy behavior.
Léa Bouchard - AI
Alexandre Tremblay - Gameplay
Steven Gagnon : Gameplay, UI, Online Network
Lydie Santos : Gameplay, UX
Nathan Hemez : UI, VFX, Tech Art
Marie-Ève Côté : 2D Art, UI, Concept Art
Arnaud Lescure : Art 3D, Environment/Character, Animation
Antoine Belliard : Game Design
Marion Trassaert : Programmation
Olivier Leblanc-Lacroix : Art 3D
Yannick Francillette : teacher, DIM (UQAC)
Hamdi Ben Abdessalem : teacher, DIM (UQAC)
Bob-Antoine Jerry-Ménélas : teacher, DIM (UQAC)