top of page

OVERVIEW

OVERVIEW

PASSING GATE is an action adventure 3D-platformer. The player will be face diverse platforming challenges, wielding a new and unique toolkit for each of the game’s levels.

Engine: Unreal Engine 4

Team size: 6

Time in development: 4 weeks

Genre: Action Adventure Platformer

MY CONTRIBUTIONS

AI
SNIPER

AI PROGRAMMING

My main responsibility during this project was to develop the enemy AI. I started programming the AI during the second week of development, and wrapped it up two weeks later. This task took up most of my time. Because I had limited time to develop several AI I opted for Unreal's Character class as a base for the AI, which adds some basic out of the box functionality to build upon.

2048px-Octicons-mark-github.svg.png
2048px-Octicons-mark-github.svg.png

CODE SAMPLES
 

SNIPER

After looking at different solutions I found that the Environmental Query System (EQS) would be my best bet to make the sniper position itself well given the limited development time. EQS is a system that the AI can use to query the environment given a certain task, and then calculate a position given certain variables.

EQS.JPG

Visualization of an EQS query for finding a suitable position for the sniper to the left to fire from.

The  query returns all positions where the sniper has Line Of Sight (LOS). This is done by performing a trace between each position and the player. All of the positions marked in blue have failed the trace test and are discarded. The rest of the positions are each given a weight by assessing several variables, such as distance from the current position. In the picture above the best spots have been marked with green.

ezgif.com-gif-maker.gif

This way the snipers reposition themselves to keep the player within line of fire, while avoiding shooting at each other or other objects that are in the way.

PassingGateBehaviourTree.JPG

The AI runs the EQS query from its behavior tree, and then moves to an appropriate position. It constantly reevaluates whether it should run the EQS query again, or keep firing at the player.

CODE SAMPLES
 

2048px-Octicons-mark-github.svg.png
2048px-Octicons-mark-github.svg.png
2048px-Octicons-mark-github.svg.png
GHOST
CHARGER

GHOST

The ghost is a simple AI enemy that rushes down the player and self destructs to deal damage.

ezgif.com-gif-maker (13).gif
Capture.JPG
2048px-Octicons-mark-github.svg.png
2048px-Octicons-mark-github.svg.png

CODE SAMPLES
 

CHARGER

More info will be available here soon!

bottom of page