Phobetor, the god of nightmares, is trying to corrupt the dreams of every humans with his creations. His two brothers, Phantasos and Morpheus, joined forces to stop him from taking over the realm of dreams and causing unrest upon the mortals.
Sons of Hypnos is a game created during the Ubisoft Game Lab competition 2024 and was nominated for the Jury’s Special Award. This game was made in Unreal Engine 5.3 with 4 programmers and 4 artists.
In this project, I did everything AI-wise. I designed and implemented a modular Utility AI decision-making system in C++ for Unreal Engine to control dynamic enemy behavior in the game.
In this project, I developed a custom Utility AI system that controls how enemies make decisions in real time. Rather than relying on predictable state machines, this system allows enemies to evaluate their surroundings and dynamically choose the best action based on the current situation — for example, deciding whether to attack, to dash, or reposition. The goal was to create smarter and more reactive enemies that felt less scripted and more adaptable to player behavior. The AI continuously weighs multiple factors, such as distance to the player, health status, or whose player dealt the most damage to them, and uses these to calculate which action makes the most sense at any given moment. This approach makes each encounter feel more natural, since enemies can react differently depending on context rather than following a fixed sequence of steps.
The system was built entirely in C++, but designed with Blueprint extendability, allowing designers to prototype or tweak behaviors without touching code. It’s fully data-driven and reusable, so new AIs can be defined simply through configuration rather than hard-coding logic for each one. It also uses an event-based flow — when an action finishes, delegates and callbacks automatically trigger a new decision, keeping the AI loop continuous and autonomous
The system was built to be modular and designer-friendly, meaning new enemy types or abilities could be added easily without changing the core logic. For example, the same framework supported multiple enemy archetypes:
Rabbits (Melee Enemies) : Focus on close-range combat, selecting nearby targets and chaining combo attacks.
Bats (Ranged Enemies) : Keep their distance using calculated movement patterns while launching ranged attacks.
Elite Enemies (Player Clones) : Use the same abilities as the player — melee or ranged attacks, dashing, and repositioning — all powered by the same Utility AI system, which made their behavior unpredictable yet fair.
Léa Bouchard - AI
Alexandre Tremblay : Gameplay (DAS, abilities and character)
Alexandre Laroche : Gameplay (DAS and abilities)
Xavier Lavoie : UI, design and generalist
Maxime Boudreau : Animation, modelling and environment
Simon Jolicoeur : 3D Modeling
Anna-Sophie Lange : Concept artists, UI design, VFX
William Pak : 3D Modelling
Linna Lim
Gabriel Fleury
Yannick Francillette : teacher, DIM (UQAC)
Hamdi Ben Abdessalem : teacher, DIM (UQAC)
Bob-Antoine Jerry-Ménélas : teacher, DIM (UQAC)