Astrohaunt

Singleplayer third-person shooter

About this project

Get ready to blast off for a spookily extraterrestrial experience! An overly ambitious scientist’s experiment has gone horrifically wrong, and his mansion has been transported into space. It is your duty to rid the mansion of a horde of restless ghosts.

Astrohaunt is a third-person shooter where you have to remove all the ghosts from a haunted mansion in space. Three different types of ghost exist in the mansion, all with different special abilities. The player can take over a ghost's special ability by trapping them in a fast-paced and immersive minigame. Clear as many floors of the mansion of ghosts as possible and de-haunt the cosmos!

This is a student project made in my 1st year at Breda University of Applied Sciences and marked the first time that I worked on a game project with a team.

My contributions to the project

During this project, I mostly worked on the enemies and implementing their different AI behaviors. My biggest contributions will be listed below:
Three different enemies with unique behaviors and attacks: The game contains three enemies, all three with different AI behaviors and attacks. I implemented all three enemy types and, in the process, learned a lot about AI development in Unreal. All three ghosts and their behaviors will be described below: 
Lord enemy: The lord is a ghost that uses a ranged attack to damage the player. For this, the lord uses a gun that shoots three bullets at once. In order for the lord to shoot its gun, it needs to stay a certain distance away from the player. If the player gets too close to the lord, it will try to back up. If the player is too far from the lord, the lord will try to sneak up to the player to get within a shooting radius. When the player catches the lord, they receive the Lord's ability to shoot three bullets for a short period of time. 
Lady enemy: The lady is a ghost that attacks the player when they get too close. When the player gets too close to the lady, it'll uses a scream attack, which damages the player if they are within the screaming radius. After performing the attack, the lady will enter a cooldown phase where it'll try to hide from the player. For this, Unreal Engine's EQS system was used, to find a location that is both far away from the player and out of view. When the player catches the lady, they receive the lady's screaming attack for a short period of time.
Chef enemy:  The chef is a ghost that uses a melee attack to damage the player. If the player is too close to the chef, it'll use its butcher knife to stab the player. When the player catches the chef, they receive extra health. 
The video below demonstrates the three different enemy types.
First prototype:  I created the first prototypes in order to explore some of the ideas that the designers on our team came up with. This prototype contained very basic shooting, enemy AI chasing, minigame functionality (which can be started when enemies are on low health) and third person camera controls. Some of the features in this prototype were used in the final game. 

Quick overview

Project Type:  Game Project
Platform:  Windows (itch.io)
Tools:  Unreal Engine 5.0
Role in Team:  Enemy and AI programmer
Project Duration:  8 weeks
Release Date:  July 1, 2023
Team size:  13
Role in Team:  Engine programmer and Lead