Alien Appetite
About the Project
Alien Appetite was the final game project I had at Futuregames. For this project we were tasked to make a game similar to Helldivers and Deep Rock Galactic, with requirements to complete objectives, extract etc.
My main responsibility for this project was to handle the enemy AI. For this project I was also the Product Owner.
My Contributions
Project Details
- Team Size: 12 people
- Engine: Unreal Engine
- Duration: 4 weeks - Full time
- Platform: PC
Enemy Management
For this project I was tasked with building the foundation for two enemy types, one melee enemy and one ranged enemy. The game also supports small deviations for the melee enemy, with smaller different behaviors and looks.
Managing the enemies also included spawning, drops and loot, the different behaviors, animation states and perception.
Picture of the enemies in the game ->
Melee Enemy Example->
Ranged Enemy Example ->
AI Behavior
The AI behavior system consists of two main parts that work together to create dynamic enemy responses.
The first part is the Behavior Tree, which contains all the task and animation logic. This includes actions like walking, attacking, searching, and patrolling.
The second part is AI Perception, which updates the blackboard based on what the enemy senses. The blackboard state then determines which branch of the behavior tree executes. For example, when an enemy detects the player, it will attempt to attack. If it loses sight of the player, it will search the area. Otherwise, it defaults to patrolling behavior.
Ranged enemy behavior tree example:
AI Director
To handle spawning and managing intensity in the game. I built a small AI director inspired by the one in Left 4 Dead. As the player completes objectives, the intensity level increases. However, there are also periods of calm for the player to recollect themselves.
The higher the stress level, the more aggressive the enemies become and new ones spawn at a higher rate. Things affecting the stress level are completing objectives and the pace at which players are killing enemies.
Health System
Simple health system used both by the player and the enemies. To achieve this I used a actor component to be able to attach it to the player and enemies.
The system supports:
- Taking damage
- Healing HP
- Regaining HP over time
- Dying
- Handling headshots
Team
Artists:
- Alexandra Lýðsdóttir
- Anneli Gårde
- Benjamin Angel
- Faranak Dehghani
- Johan Mosesson
- Johanna Nilsson
- Mathilda Zakrisson
Programmers:
- Alexander Reuter
- Basel Shrefa
- Ester Lagerborg
- Johan Magnusson
- Trong Bui